検索
ニュース

Google、分散アプリケーションを構築・デプロイするOSSフレームワーク「Service Weaver」発表アプリをモジュラーバイナリとして作成、マイクロサービスとしてデプロイ

Googleは、分散アプリケーションを構築、デプロイ(展開)するためのオープンソースフレームワーク「Service Weaver」を発表した。

Share
Tweet
LINE
Hatena

 Googleは2023年3月1日(米国時間)、分散アプリケーションを構築、デプロイ(展開)するためのオープンソースフレームワーク「Service Weaver」を発表した。

 Service Weaverでは、アプリケーションをモジュラーモノリスとして記述し、一連のマイクロサービスとしてデプロイできる。

 Service Weaverは、以下の2つの主要要素で構成されている。

プログラミングライブラリのセット

 これにより、ネイティブのデータ構造とメソッド呼び出しだけを用いて、アプリケーションを単一のモジュラーバイナリとして記述できる。

デプロイヤのセット

 これにより、アプリケーションのランタイムトポロジーを構成し、アプリケーションを一連のマイクロサービスとして、ローカルまたは選択したクラウドにデプロイできる。


Service Weaverの仕組み(提供:Google)

 Service Weaverは、アプリケーションの作成プロセスを、実行時の考慮事項を気にせず進められるようにすることで、分散アプリケーション開発の速度やパフォーマンスを高めることを目的としている。これらの考慮事項には、「アプリケーションをどのようにマイクロサービスに分割するか」「どんなデータシリアライズ形式を使うか」「サービスがどのように発見されるようにするか」などが含まれる。

Service Weaverによる分散アプリケーションの構築、デプロイ、実行

 Googleは、Service Weaverによる分散アプリケーションの構築、デプロイ、実行の流れを、Go言語を使う場合を例として、次のように説明している。

ステップ1:アプリケーションをコンポーネントに分割する

 アプリケーションを、通常のGoインタフェースとして作成したコンポーネントに分割する。ネットワーキングやシリアライズのコードに煩わされることなく、ビジネスロジックに集中できる。

ステップ2:コンポーネントを呼び出す

 Goの通常のメソッド呼び出しでコンポーネントを呼び出す。RPC(リモートプロシージャコール)やHTTPリクエストは必要なく、バージョニングの問題を考えずに済む。型システムにより、コンポーネントの互換性が保証される。

ステップ3:コンポーネントをデプロイする

 アプリをローカルでテストし、クラウドにデプロイする。コードの実行場所を気にすることなく、コードが何を行うかを考えることができる。

ステップ4:コンポーネントを配置する

 同じプロセス内、または異なるマシン上の好きな場所でコンポーネントを実行する。任意の数のレプリカを実行し、負荷に応じてスケールアップ、スケールダウンできる。

Service Weaverの特徴

 Googleは、Service Weaverの特徴を以下のように紹介している。

高パフォーマンス

 同じ場所にあるコンポーネントは、直接メソッド呼び出しで通信する。リモートコンポーネントは、効率の高いカスタムシリアライズおよびRPCプロトコルを使って通信する。

簡潔な構成

 多くの定型的な構成を施すことなく、クラウドにデプロイできる。Service WeaverアプリケーションをGoogle Cloudの2つのリージョンにデプロイするための構成ファイルを以下に示す。10行に満たない長さだ。

ロギング、メトリクス、トレース

 Service Weaverには、ロギング、メトリクス(指標)、トレース用のライブラリがある。このテレメトリーは、デプロイ先のクラウドに自動的に統合される。

シャーディング

異なるコンポーネントレプリカ間でリクエストをシャーディングする。

Service Weaver v0.1には何が含まれるか

 Service Weaver v0.1には以下のものが含まれている。

  • アプリケーションを作成するためのコアGoライブラリ
  • アプリケーションをローカルまたは「Google Kubernetes Engine」(GKE)で実行するための多数のデプロイヤ
  • 他の任意のプラットフォームに対応した独自のデプロイヤを作成できるAPIセット

 これらは、Service Weaver v1.0のリリースまでに、破壊的な変更が加えられる可能性がある。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る