In the cloud age, it’s common to expose applications running on containers or virtual machines through a load balancer. By doing that, cloud engineers can ensure high availability, reliability, and scalability for their services. The load balancer acts as a single point of contact for users and automatically routes incoming traffic to the most available…
Behind the Scenes of a Prime Time News-TV : A Site Reliability Engineer’s Story πΊ
As a Site Reliability Engineer, my job is to ensure that our website and infrastructure can handle high traffic and unexpected spikes. But today was a particularly big day in my career – the CEO of my company was being interviewed by TF1, the largest TV channel in France, and the interview was going to…
Maximizing Savings on GitLab CI/CD with AWS Fargate π€
Are you tired of high costs for running your GitLab CI/CD jobs? If so, you’re not alone. Many developers and organizations struggle with the expenses associated with their continuous integration and delivery pipelines. However, there is a solution that can help you reduce these costs: running your GitLab CI/CD jobs on AWS Fargate. AWS Fargate…
Handling graceful shutdown of your Docker Cron containers
With the increasing popularity of Docker as a containerization platform, it is important for developers to understand how to properly shut down their containers to avoid potential data loss or corruption. In this article, we will discuss the importance of handling graceful shutdown of your Docker Cron containers and how to handle signals. Why is…
Create an HTTPS webhook using Lambda with Terraform on AWS
In this article, I will provide step-by-step instructions on how to set up a secure webhook that can receive incoming requests and save request payload as an S3 File. By using Lambda and Terraform, you can easily create and manage your webhook, ensuring that it is always available and ready to handle incoming requests. Whether…
Aurora vs MySQL vertical scaling benchmark on AWS RDS
Sometimes you need to add or remove ressources like CPUs or RAM to your databases to handle more or less concurrent operations. This is called scaling. Due to a migration from MySQL to Aurora in my company, I benchmarked vertical scaling delay on MySQL and Aurora and I will detail these results in this article….
Docker multi-stage build – Reduce the gap between developers environments & production
In many of the projects I have seen I have noticed a worrying difference between the production and development environments. It is crucial to minimise the difference between these environments to avoid unexpected bugs. For the past few years most companies have been using Docker containers in production. Most of the time I noticed that…
MySQL Load Testing with Sysbench
Sometimes you need to do a load test on MySQL Database to test Auto-Scaling for example. I found a very useful tool called Sysbench that I will present in this article. Install Sysbench Open your terminal and run : Prepare for Load Testing Create a “test” database and run sysbench prepare command : Run MySQL…
How to protect a website against DoS Attack using AWS WAF v2
Denial of Service attacks are commons in these times. In my company we receive from time to time such an attack. For example on September 26th someone did almost one million requests in 1 hour on our servers and it was blocked by our AWS Web Application Firewall (WAF v2) : I will detail in this…
Replicate AWS RDS Aurora to AWS RDS MySQL
AWS encourages you to migrate from RDS MySQL to RDS Aurora by offering convenient features such as the ability to create an Aurora Read Replica from an RDS MySQL cluster and then promote it to Master. An almost downtime-free migration ! But how to do the same thing in the other way ? How to replicate…