This case study shares the process and results of migrating the serverless workload to the Graviton-based processor. Thanks to migration, the client managed to decrease the cost of computing and level up the performance.
About the client
The client runs a primary serverless and event-driven system in the AWS cloud, in a mix of containers, Amazon Fargate, and AWS Lambda functions. The system processes around 100 million events and messages every month, steadily growing as the client gets more customers and the system evolves.
Reason for migration
The reason for the initiative to migrate to the Graviton-based processor was primarily cost-driven. Graviton processor comes with the best performance to cost/ratio on the market. It was estimated that the client could decrease its computing cost by up to 25% and at the same time increase its performance.
Migrating to Graviton
The migration to a Graviton-based processor started as a small Proof of Concept (PoC) to investigate the work required to move Java-based containers in Fargate to Graviton. The PoC was successful, with very little work needed to migrate. The migration then also included all running AWS Lambda functions.
Code running in Lambda functions is written in Golang, requiring extra effort to compile towards ARM and Graviton. Since the managed Golang Lambda runtime is based on Amazon Linux, it doesn’t support Graviton. Therefore the migration was not as easy as flipping a switch.
To fully migrate the Golang-based Lambda Functions, we first needed to migrate to Lambda Custom runtime (provided.al2). Lambda functions were initially migrated from the managed runtime to the Custom runtime, remaining on X86 based processor. The second step was to update all CI/CD tooling to support compiling Golang code for the ARM-based processor. The switch was flipped to move the Lambda functions to Graviton in the final step.
The initial measurements show that the client has lowered the cost of its computing by 25% and, simultaneously, the system’s performance increased by 10%. The assumption is also that the client’s CO2 footprint will become lower. It will be closely monitored using the new Customer Carbon Footprint Tool.
Sigma Technology’s role
Sigma Technology’s senior cloud architecture consultant started this initiative. The consultant guided the client’s development team and supported the client through the entire migration process. Sigma Technology and the client also had great support from the AWS team during the process.