Googleが今日(米国時間3/1)、同社の高性能なリモートプロシージャコール(remote procedure call, RPC)フレームワークgRPCを、Cloud Native Computing Foundation, CNCF)に寄贈する、と発表した。CNCFはすでに、Google生まれのコンテナオーケストレーションツールKubernetesやそのほかのコンテナおよびマイクロサービス関連のプロジェクトを普及させていくための、ホームになっている。gRPCはCNCFのポートフォリオの6つめのプロジェクトだ。
gRPCやApache ThriftのようなRPCフレームワークは、アプリケーションが自分と同じマシンまたはリモートのサーバーで動いている別のアプリケーションのコード(プロシージャ)を動かしたり、その結果をもらったりするための技術的枠組みだ。その点ではREST APIの仕組みにも似ているが、RPCが実際にリモートのコードを…まるでプログラミング言語が関数/ファンクションを呼び出すときのように…動かす(呼び出す、コールする)のに対して、RESTは特定のリソース(処理の結果)を得ることが主な目的だ。
GoogleはgRPCを2015年にオープンソースにした。そのとき同社は、このフレームワークを使って自分たちのマイクロサービスの多くを動かしている、と述べた。そのことは、今でも変わらない。2015年の同社の説明では、“gRPCは分散システムの構築における長年の経験がベースになっている。この新しいフレームワークを利用してデベロッパーが、現代的で帯域効率とCPU効率の良い、そしてレイテンシーの低いやり方で、複数のデータセンターにまたがる大規模な分散システムや、モバイルアプリの駆動、リアルタイム通信、IoTデバイス、そしてAPIなどを作ってほしい”、と言っている。