AWS believes the open source Rust programming language will become a cornerstone for efficient cloud computing infrastructure. The company wrote in a blog post that creating sustainable cloud infrastructure is a responsibility that should be shared between the hyperscaler and customers.
The Rust programming language has been specifically designed for performance and memory safety, wrote Shane Miller, AWS Rust lead and chair of the Rust Foundation, and principal engineer Carl Lerche. The language is popular for bare-metal development and now plays a key role in helping AWS maintain essential cloud infrastructure. A number of AWS services use Rust extensively, including Firecracker, a lightweight virtualization stack. The AWS Lambda platform, Elastic Compute Cloud (EC2), CloudFront content delivery network and S3 storage also use Rust.
The cloud computing giant has made a sustainability pledge to power its operations with 100 percent renewable energy by 2025, while achieving net-zero carbon emissions by 2040. AWS claims to have reached 65 percent renewable energy in 2020 and has invested $2 billion to support development of services and technologies that reduce carbon emissions.
“Even renewables have an environmental impact,” wrote Miller and Lerche. “Renewables should not replace energy efficiency as a design principle. In the same way that operational excellence, security, and reliability have been principles of traditional software design, sustainability must be a principle in modern software design."
They added a number of studies indicate the the C and Rust programming languages are more efficient than other scripting languages like Java and Python. But implementing C code poses challenges, and the AWS authors maintain that Rust is a viable alternative.
“What is shocking is the magnitude of the difference," wrote Miller and Lerche. "Broad adoption of C and Rust could reduce energy consumption of compute by 50 percent – even with a conservative estimate. Rust delivers the energy efficiency of C without the risk of undefined behavior. We can cut energy use in half without losing the benefits of memory safety.”
The authors added cloud infrastructure operational savings is only one benefit of Rust, and one of its main draws is speed. Most developers they have spoken with chose Rust initially becomes of its runtime performance, mainly because of speed or more reliable tail latencies.
Edited by Luke Bellos