DevOps

Custom Docker Runtimes on AWS ECS clusters

Sometimes we need Docker containers to run inside another container. This is known as Docker-in-Docker or DinD, and is getting more usual on CI/CD pipelines and deploy workflows. In order to achieve this output taking in consideration security and scalability issues, we had to dispose sysbox runtime on EC2 instances.

Read
DevOps

Goodbye Jenkins; Hello GitHub Actions

After years of heavily using Jenkins, we started a gradual and coordinated effort to take our CI/CD tasks to GitHub Actions. On this article, we present the rationale behind this decision and what we had to face while moving some of our complex pipelines.

Read

Don't aim for speed

When a marathon runner realizes he got the first 10km 30% faster than planned, does he get happy? No! He knows he already lost the race. Too much energy was spent and, as humans are not perfect machines, he will burn out before the finish line. Building software is a long distance run. When all you can think about is how fast we can go, your judgment gets clouded. All extra speed will come with a price down the road. Instead, what should we strive for?

Read
telemetry

Monitoring endpoint performance with Grafana and CloudWatch Logs

Slow things usually just turn out slow when they reach production. The worse scenario arises when a specific combination (often involving lots of data) occurs, and it is hard to simulate it on stage environments. Once you rule out obvious mistakes, the best way out the sluggishness is to monitor how your application is performing through new versions. This way you can identify slow components and treat them accordingly. This article is about how you can store performance data about your REST application using CloudWatch and visualize it with Grafana.

Read