AWS Graviton eco-friendly technology slashed 25% of GumGum’s computing cost
Introduction
The Digital Ads Industry may be one of the most overlooked carbon emitters. Unfortunately, understanding and measuring the carbon footprint of a ‘non-tangible’ industry like Digital Ads is not as easy and evident as in sectors like aviation. Still, according to some estimates, the internet has a large carbon footprint share of 3.5% of global emissions.
There has been much discussion recently in the tech industry about strategies to reduce cost and carbon footprint due to the market demand for low-emission. GumGum is continuously looking for ways to decarbonize its digital presence as part of its Supply Path Optimization (SPO) efforts, which led the DevOps team to explore switching to ARM processors. ARM processors use significantly less energy than traditional x86 processors, making them an attractive option for those looking to reduce their environmental impact. This blog post will explore what ARM processors are and how at GumGum, we reduced our Ad Exchange computing cost by 25% and carbon emissions by up to 60% by switching to ARM processors.
AdTech ecosystem carbon emissions
The programmatic supply chain has many different and complex parts, and every piece has its emission challenges.
- Demand Side Platforms (DSP) — Enables advertisers to automatically purchase digital ad space made available by media publishers on an exchange.
- Supply Side Platforms (SSP) — Used by publishers to manage space inventory.
- Data Management Platform (DMP) — Centralized data warehouse to collect and analyze data from different sources to ensure Ads are displayed to the right audience
- Ad Exchanges — This is where the magic happens; the dark, smoke-filled room where traders meet to agree on a price.
Every part of this ecosystem relies on servers and devices to operate and run digital ad campaigns that generate heat and carbon that fall under brands’ and advertisers’ Scope 3 emissions. Scope 3 Emissions are those caused by activities outside of owned assets, but still impacting the company’s value chain. Every ad call and a layer of ad tech activated within the programmatic ecosystem carries a carbon footprint — even the failed bids for the ads not delivered require media storage, computing power, and network traffic.
GumGum’s AdTech platform runs on the AWS cloud, which means we can track the company’s carbon footprint with the “Customer Carbon Footprint Tool.” The tool provides GumGum’s total carbon emissions and a few details grouped by geography and AWS Service. In 2021, GumGum produced around 227 metric tons of CO2 emissions vs. 310 metric tons in 2020, and we are expecting another aggressive reduction in 2022 after migrating to ARM-based processors.
ARM Processors, Energy saving choice
The fundamental difference between x86 and x86–64 architectures and ARM is in its name (Advanced RISC Machine). Here, RISC means Reduced Instruction Set Computer, meaning that ARM processors use fewer instructions and consume less energy. Unfortunately, this comes with a potential for performance reduction. But finally, in May 2022, Amazon announced its Graviton3 C7g ARM instances for compute-intensive workloads, which set the stage for us at GumGum to start one of our coolest experiments with ARM processors as an alternative to omnipresent x86-based EC2 instances powered by Intel and AMD.
AWS Graviton Migration
The Ad Exchange platform is the biggest application here at GumGum. It is a monolithic Java-Spring application that runs on large EC2 instances and spans multiple AWS regions, suggesting a change in a key component of the application platform, the server processor, has to be evaluated, tested, and deployed. Thus, when changing the application base architecture from x86 to ARM, you have to consider all the software that makes up no the platform supporting your application.
For GumGum, this looks like this:
- Ubuntu is the base OS
- Tomcat as the Java application server
- OpenJDK 17
- FluentBit agent
- Sumologic hosted collector
- Nginx HTTP Server
- NewRelic Java APM agent
- Consul Client for Service Discovery
- Ad Exchange is a Java-Spring application.
The main challenge for the migration was building the AWS AMI (Amazon Machine Image) for Ad Exchange, which requires finding the compatible ARM-based release/version for all of the dependencies/tools mentioned above. Fortunately, the ARM software ecosystem is rich and well-maintained. As a result, we got a ready-to-be-tested ARM-based Ad Exchange AMI earlier than expected, thanks to our solid Packer/Ansible AMI bakery automation. Furthermore, the Java-Spring Ad Exchange application's migration was free because Java is a portable platform language and doesn’t need to be recompiled.
The next step was to test this new ARM-based version of Ad Exchange, so we picked up a small cluster in which we rolled out the AMI using ARM-based EC2 instances with similar CPU Cores and Memory. After testing this ARM-based version of Ad Exchange for a few weeks, we can conclusively say that:
- The overall EC2-associated cost of the Ad Exchange platform has been reduced by up to 25%
- The availability of ARM-based Spot instances, heavily used by Ad Exchange, has been almost 100% since we started this test, which is great news for the Finance team at GumGum.
- The performance of the ARM-based instances is similar to the equivalent x86-based instances.
- The Spot availability of the latest generation of Graviton 3-based instances (c7g) is not good, mostly because AWS released the instance family in May 2022.
- The carbon emissions related to the Ad Exchange EC2 instances will be reduced by up to 60%!
After the initial test, we decided to fully roll out the ARM-based version of Ad Exchange to all clusters and AWS regions, and the results are better than expected. “Intel for Ad Exchange is dead; long live ARM-based instances!”
What comes next?
Given our great success with the Ad Exchange migration to ARM-based processors, we are now eager to test and migrate the other EC2-intensive workloads at GumGum, including data streaming platforms, machine learning systems, Kubernetes clusters, and more!
Key Takeaways
- Graviton-based (ARM) EC2 instances have better price performance than similar x86-based instances; therefore, they should be considered for any workload.
- The software ecosystem for ARM is rich and well-maintained, including major Linux distributions, open-source tools, and Docker images.
- Graviton-based servers are a great option to reduce your AWS infrastructure workloads’ carbon footprint and energy consumption.
- Graviton processors use ARM architecture, which is available in most cloud vendors, meaning that migration to this platform does not mean vendor lock-in.
- Every application and workload is different, so you should carefully analyze and test if you migrate to ARM-based instances. First, establish the KPI/metrics you need to watch out for during the migration: performance, scaling, latency, and % errors.
- Realize that reducing emissions does not mean sacrificing revenue or increasing costs.
References:
- https://www.sharethrough.com/blog/infographic-research-reveals-consumer-understanding-of-advertisings-impact-on-carbon-emissions
- https://www.admonsters.com/ad-techs-sustainable-programmatic-supply-chain/
- https://www.sharethrough.com/blog/infographic-understanding-how-the-programmatic-supply-chain-generates-co2-emissions
- https://www.trustedreviews.com/explainer/what-is-arm-processor-architecture-4045044