Meta、Rustの採用を加速–高性能バックエンドサービスで
今回は「Meta、Rustの採用を加速–高性能バックエンドサービスで」についてご紹介します。
関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Meta(旧Facebook)は米国時間7月27日、高いパフォーマンスが要求されるバックエンドサービスの開発にはC++とRustを使うよう、同社のエンジニアらに推奨していることを明らかにした。
つまり、Mozilla社内で生み出されたという出自を持つRustが、Meta社内の公式サーバーサイド言語として認められたということだ。Metaによると、Rustをサポート言語に追加するという決定は、エンジニアが自らのプロジェクトに最適な言語を選択できるよう支援するための、「極めて慎重に検討した上での意志決定」だったという。
同社は、「Metaは当社の開発担当者が使用するプログラミング言語に対する長期的なサポートをコミットしており、今回の動きはMetaの長期的なコミットとサポートをRust言語のエコシステムに向けて示すものだ」と述べた。
サポート言語としての地位の確立は、MetaのRust採用における次なる段階と言える。同社は2021年4月、Rust Foundationにプラチナメンバーとして参加した。同組織のプラチナメンバーには、Amazon Web Services(AWS)やGoogle、華為技術(ファーウェイ)、Microsoft、Mozillaも名を連ねている。
Metaは、Rustのバージョン1.0が登場した翌年となる2016年からRustを使用してきている。Rustは、ブロックチェーンによるステーブルコインの実装を目指していた「Diem」プロジェクト(旧称「Libra」)の主要記述言語として採用されていたほか、ソースコード管理サーバー「Mononoke」の記述言語として、そしてMetaの「ブロックチェーン向けの新たなセキュアプログラミング言語」であるMoveの基礎ともなっている。
C++よりもRustを重視するという選択は、Metaにとって大きな決断だった。というのも、Facebookのバックエンドで動作する大半のコードはC++で記述されており、それ自体は明らかな選択であったためだ。
Metaによると、Mononokeが成功したと見なされたことで、Rustの導入は勢いを増し、PythonやJavaScriptのバックグラウンドを有するエンジニアらの興味を引くようになったという。
今やRustは、HackやC++、Pythonとともに、サーバーサイドにおける主要プログラミング言語としてサポートされている。
またRustは、コマンドラインインターフェース(CLI)ツールや、「パフォーマンスを重視するバックエンドサービス」の開発言語としても推奨されるようになっている。
MetaのソフトウェアエンジニアリングマネージャーであるEric Garcia氏は、「当社の製品やサービスにおけるRustのフットプリントが急速に拡大しており、われわれは長期的にコミットするとともに、アーリーアダプターを歓迎している」と述べている。
Hackはビジネスロジックの記述や「比較的ステートレスなアプリケーション」に好んで用いられている一方、Pythonはデータサイエンスや機械学習(ML)のアプリケーション、そして「Instagram」における「お気に入りの言語」であり続けている。
この他にもMetaは、特定のユースケースに向けてJavaやErlang、Haskell、Goをサポートしている。
同社は、新たな言語のサポートには、効率や生産性、開発時間にまつわるリスクがあるため、慎重な検討が必要だと述べている。