By Radu Malica
The figures on this page are the engineer's own, from a contract engagement for a European airline's booking platform delivered through Amach. They are anonymised: the airline is not named.
Problem
The booking platform ran on EC2 fleets fronted by Network Load Balancers, with a full environment for each stage. That made environments expensive to run and slow to provision, and left release frequency and release reliability to improve.
What I did
- Moved the NLB-fronted EC2 fleets to Auto Scaling groups behind Application Load Balancers.
- Added header-based traffic steering at the ALB, so QA and GA can share one environment.
- Wrote the infrastructure as Terragrunt modules.
- Built the release path on Jenkins and GitHub Actions, with Packer images, blue/green and canary rollout.
- Set up an OpenTelemetry stack for observability.
Result
- Cloud cost down 40%, from sharing environments with header-based routing.
- Provisioning from days to minutes.
- Deployment frequency up 3x, with failed releases down 70%.
Stack
AWS (ALB, ASG, EC2), Terraform and Terragrunt, Jenkins, GitHub Actions, Packer, OpenTelemetry.