Terraform provider for Code Climate is open-sourced

I contributed in a few open-source projects during my career, however, I’m proud of this one.

I’ve written this Terraform provider while working at Babbel, and we open-sourced it. Moreover, it got listed at the official Terraform community providers page.

The full announcement and the article about why we’ve done this and whether it was difficult, you can find at Babbel’s blog: https://bytes.babbel.com/en/articles/2019-06-13-open-source-terraform-provider-for-codeclimate.html

About customer-centricity in Infrastructure/Platform team

Dear readers, in this post I will not touch upon the most technical topics, but the one I gonna talk about is important for many engineers. Customer centricity has two main advantages. First of all, while being a customer-centric, you always know that what you do has the greatest positive effect on the product. Secondly, you more often get positive feedback from your colleagues or users, which is very valuable both for improving the product and for personal development. If you are one of those developers who just want to work on technical tasks, without thinking, for whom and for what purpose they are – then perhaps this post is not for you yet, although I think it will take several years and you decide to rethink your approach. For those who already understand that customer centricity might be something valuable for an engineer, let’s get started!

Continue reading

Staging environment evolution

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.

Continue reading

Achieving Continuous Delivery. Part 1. What are the CI/CD?

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:

  1. 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
  2. Dockerization of a basic application
  3. Dockerization of an application, which has external dependencies (we will have just a database)
  4. Build service preparation. I will definitely cover TravisCI and probably some others for a comparison
  5. Preparing Staging and Production environments, using Heroku and integrating them into the CI pipeline
  6. 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.

Continue reading

Go for Rubyists. Part 8. Concurrency in Go, Ruby and Elixir

Hey folks, hope you had a great weekend and it’s time to learn something new!
Today we will observe the concurrency topic, and since it’s not such a fair comparison for Ruby, who’s forte is definitely not a concurrency, I will add Elixir to today’s article. However, still, since the series is about Go, the main focus will be on it. Don’t expect performance comparison, I believe it’s not fair to compare these languages since they all have slightly different focuses.

Continue reading

Golang for Rubyists. Part 5. How to start applying Golang to AWS Lambda

In the company I work for, we recently started using Golang for lambda functions development, to replace domination of Node.js ones and with a hope of getting better performance and development speed. I can just say that so far things run smoothly, and I will have a more thorough post about lambdas development on Go on the company blog. And here I will help you get started with it, create your first function and deploy it to the cloud.
Continue reading