Today, we will be talking about staging environment at Babbel and how we recently improved it. As a reader of this tech blog, there’s a good chance that you are already familiar with the concept of staging environment. I will nevertheless start with a brief definition so that we establish a common understanding before going into the details of how to secure a staging environment. Bear with me.
How are you doing, fellow developers? Ready to dockerize your first application? Or what about finding out, what “dockerize” actually means? Let’s start!
The structure of today’s post will be the following:
- Understanding the Virtualization
- How containers are different from Virtual Machines
- Introduction to Docker concepts
This will be the start of the series of blog posts with the title “Achieving Continuous Delivery”, which I plan to write about in the upcoming few months. Topics I plan to cover are:
- What is the difference between CI and CD? Two meanings of CD. What is the business value in it? The tooling we will be using in the series
- Dockerization of a basic application
- Dockerization of an application, which has external dependencies (we will have just a database)
- Build service preparation. I will definitely cover TravisCI and probably some others for a comparison
- Preparing Staging and Production environments, using Heroku and integrating them into the CI pipeline
- Getting closer to the Continuous Delivery with feature toggles
After that, if I will still have an interest, I will also cover the AWS way of going from classical ELB+EC2 to the containerized approach, but won’t commit for this for now. Also, as you know, along the way people tend to change their mind and forgotten steps may appear or in the opposite, some steps will be too easy, so they will be merged with one another. Otherwise, all our estimations would be perfectly precise %)
However, let’s get started with the definitions, to understand, what we’re trying to tell and achieve when we’re talking about CI/CD.
I plan to write a series of posts about databases internals. In order to make it easily perceivable, I’ll be writing a NoSQL DB from scratch in Ruby. No doubts that it’s not the best fit for database development, but it’s extremely readable and will help us a lot. This one will be about why may you want to have an index and what is a Hash index.
UPD. I decided to not continue this series because it takes too much effort to investigate deep enough to explain, but it had got much fewer views and likes than more applicable ones. Probably will return to this topic once, but not now.
If you followed my 3 my previous posts – you already created your first Amazon Lambda function, made it able to write to DynamoDB and be accessible from the outside world, using API Gateway.
In this post, I will guide you on how to implement the same but without touching the AWS Management Console, which is barely understandable and very volatile by the interface. Instead, we will be using Terraform, which I also covered in the past blog post.
Let’s get started:
In this post, we will create a Lambda function which can write to the Amazon DynamoDB table. For this, we will create a table, modify existing function and set up IAM roles. Log in to your AWS account and let’s get started!
This post is the second one in series about Amazon Web Services first steps howtos.
I believe that traditional guides like AWS Certification preparation and Linux Academy don’t give the information in proper order, so here I give it in the format and the way how I give it to my colleagues at Babbel.
This post gives you an introduction to the DynamoDB and prepares a ground for the next practical lesson.
Not a long time ago I had no idea about what is the tool named Terraform. It was just beyond my bounds of interests and problems. But a month ago I changed a company and then had to deal with it. And guys, it’s wow. It’s so amazing thing so I even started liking DevOps job.
In a few words, it’s a tool to do infrastructure as a code. As they say on their website “Terraform enables you to safely and predictably create, change, and improve production infrastructure”.
In this post, I’ll cover why may you (as a developer or a DevOps) need it and how to get started. Getting started will be not just a hello world, but a real example, you can try right away.
Today I’ll talk about really trivial thing, but unexpectedly I found myself living without it for a while, but now I started using it and cannot stop anymore %)
The thing is Docker.