Amazon Web Services(AWS)は、同社のエンジニアたちがプログラミング言語「Rust」を使っている大きな理由として、エネルギー効率の高さを挙げる。
Rustは最も若いプログラミング言語の1つだ。バージョン1.0に到達したのはほんの7年前にすぎないが、CやC++で書かれた大規模なコードベースへの採用に大きな期待がかかる。Graydon Hoare氏の個人的なプロジェクトとして始まったRustは、2010年にMozillaの研究プロジェクトとなり、現在ではAmazon、Google、Microsoftの支持を得ている。
Rustは、JavaやJavaScript、Pythonほどの人気はないかもしれないが、Linuxカーネル、「Windows」「Chrome」「Android」などのシステムの構築で重要な言語として見られるようになりつつある。AWSは早くからRustを採用し、Rust Foundationの創設にも携わった。現在もRustの普及に熱心に取り組んでいる。
CやC++はメモリー関連の問題が多く、セキュリティアップデートのコストがかかる場合もある。Rustはこうした問題を回避する上で有用だ。Microsoftが以前、主にメモリー関連のバグ回避を目的として、Windowsの一部を試験的にRustで実装していると明らかにしたことで、Rustへの注目は一層高まった。
AWSのソフトウェアエンジニアで、Rustの普及に取り組むShane Miller氏と主任エンジニアのCarl Lerche氏の投稿によれば、Rustはメモリー安全性を高め、セキュリティ関連の不具合を減らす役に立つだけでなく、PythonやJavaよりもはるかに「エネルギー効率に優れている」という。Amazonは、2025年までにデータセンターの100%を再生エネルギーでまかなうという目標を掲げ、データセンターの環境負荷の軽減に取り組んでいる。Rustの採用はその一翼を担うという。
Rustで構築されたAWSサービスの例としては、コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、「Amazon Simple Storage Service(S3)」「Amazon Elastic Compute Cloud(EC2)」、コンテンツ配信ネットワーク「Amazon CloudFront」、LinuxベースのコンテナーOS「Bottlerocket」がある。
データセンターが消費エネルギーは、世界の総エネルギー消費量の1%を占め、年間約200テラワット時に上る。しかし、使用するプログラミング言語が消費するエネルギー量に影響を及ぼすことができるかもしれない。
「CやRustが他の言語よりもエネルギー効率に優れていることに驚きはない。衝撃的なのは、その違いの大きさだ。CとRustを広範に採用すれば、控えめに見積もってもコンピュートに使用されるエネルギーの量を50%削減できる可能性がある」とMiller氏は述べ、その根拠として、C、GoogleのGo、Lua、Python、Ruby、Fortranなどをはじめとする複数の言語のエネルギー効率を相対的に示した研究結果を紹介している。