The Rust language offers efficiencies for cloud computing environments, says AWS
AWS Rust lead Shane Miller (who also chairs the Rust Foundation) and principal engineer Carl Lerche laid out their case for the Rust programming language as a cornerstone of efficient cloud computing infrastructure in a new post on AWS that, among other things, says that creating sustainable cloud infrastructure is a shared responsibility between the hyperscaler and its customers.
The programming language is designed for performance and memory safety, making it popular for bare-metal development. It plays a central role in helping AWS maintain essential cloud infrastructure, according to the writers.
“At AWS, Rust has quickly become critical to building infrastructure at scale,” they said. AWS counts the services which use Rust extensively, including its lightweight virtualization stack Firecracker, serverless computing including AWS’s Lambda platform, S3 storage, Elastic Compute Cloud (EC2), Amazon’s CloudFront content delivery network, and more.
AWS has a sustainability pledge to obtain 100% renewable energy by 205 and to achieve net-zero carbon emissions by 2040. Amazon claims to have already made decent progress towards its climate goals. Amazon said it reached 65% renewable energy in 2020, decreased its overall carbon intensity by 16% from 2019 to 2020 and invested $2 billion to support the development of technologies and services that reduce carbon emissions. The company also said it is the world’s largest corporate purchaser of renewable energy.
“Even renewables have an environmental impact,” noted the authors – renewable energy incurs its own carbon debt in the manufacture and operation of those sources, they said.
Sustainability as a software design principal
“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 pointed to studies which indicate that C and Rust as more efficient than other programming and scripting languages like Java or Python.
“What is shocking is the magnitude of the difference. Broad adoption of C and Rust could reduce energy consumption of compute by 50% – even with a conservative estimate,” they said.
Implementing code in C can be difficult, they noted, and offered Rust as an alternative.
“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,” they said.
While Rust can yield cloud infrastructure operational savings, that’s not its primary draw, they noted. Rust is fast.
“Rust is being used today to ship real world production software, but developers aren’t choosing Rust to reduce carbon emissions. When we ask Rust developers why they started using Rust, by far the most common answer is some variant of runtime performance, whether it is because Rust is faster or because Rust has more reliable tail latencies. It’s almost always about performance,” they said.