beawolf - Fotolia
AWS has gotten behind the Rust programming language in a big way, to the point where the cloud infrastructure giant has become a sponsor of the language.
Since its first stable release four years ago, Rust has emerged as a viable alternative to C++. Known for enabling developers to build high-performing, reliable applications, as well as for boosting programmer productivity, Rust has been adopted as a system programming language by companies including Google, Microsoft, Mozilla, Yelp, Dropbox, Cloudflare and AWS.
"Rust is the first real alternative to C++ that we've seen in a long time," said Cameron Purdy, CEO of Xqiz.it, a Lexington, Mass., startup developing its own programming language, known as Ecstasy. "Rust is built for systems-level work, and appears to be far better thought out than C++ was."
Indeed, "Rust is making significant inroads as a language for systems programming," said James Governor, an analyst at RedMonk.
The use of Rust at AWS has grown, as services such as Lambda, EC2 and S3 use Rust in performance-sensitive components. Also, AWS's Firecracker virtualization technology is written using Rust.
The AWS sponsorship of Rust includes supporting the Rust project infrastructure. AWS provides promotional credits to the Rust project to be used to perform upstream and performance testing, CI/CD or storage of artifacts on AWS, the company said in a blog post. AWS also is offering similar promotional credits to other open source projects, including AdoptOpenJDK, Maven Central and the Julia programming language.
"I think AWS is looking for opportunities to blunt the criticism -- undeserved or not -- that while it is a consumer and benefactor from its OSS consumption, it's not a producer or community supporter of it," said Jeffrey Hammond, an analyst at Forrester Research. "Projects like Coretto, Firecracker and sponsorship projects like this all go to counter that narrative."
According to AWS, the Rust project uses AWS services to:
- Store release artifacts such as compilers, libraries, tools and source code on S3.
- Run ecosystem-wide regression tests with Crater on EC2.
- Operate docs.rs, a website that hosts documentation for all packages published to the central crates.io package registry.
"It's interesting that AWS recently made this approach explicit, but AWS is not alone," Governor said. "I talk a lot about folks being 'Rust curious,' but it appears we're now moving beyond curiosity. Microsoft is another major player making a strong call for more Rust-based development. Rust is no longer something for developers to play with on their weekends. It's becoming a language of infrastructure."
James GovernorAnalyst, RedMonk
Rust has been ranked as the "most loved" programming language in the annual Stack Overflow developer survey for four years in a row. With no runtime or garbage collector, Rust delivers faster performance. Rust also provides memory and thread safety, which helps to eliminate bugs.
In July, Microsoft said it was looking at Rust as an alternative to C and C++ based on its safety and performance. In other words, Rust enables developers to create secure, high-performant applications, said Ryan Levick, a principal cloud developer advocate at Microsoft, in a blog post.
"We believe Rust changes the game when it comes to writing safe systems software," Levick said. "Rust provides the performance and control needed to write low-level systems, while empowering software developers to write robust, secure programs."
However, Microsoft found some issues with Rust that will need to be addressed, including the lack of first-class interoperability with C++, and interoperability with existing Microsoft tooling, Levick said.
Holger Mueller, an analyst at Constellation Research in San Francisco, said the race for cloud market leadership is based on attracting developers to build next-generation applications on the leading cloud platforms.
"From time to time there is a new programming language that catches the attention of developers, usually for productivity and/or capability reasons," he said. "That's the case with Rust, which is gaining quickly in popularity and, hence, large IaaS providers need to support Rust."