Google、分散アプリケーションを構築・デプロイするOSSフレームワーク「Service Weaver」発表:アプリをモジュラーバイナリとして作成、マイクロサービスとしてデプロイ
Googleは、分散アプリケーションを構築、デプロイ(展開)するためのオープンソースフレームワーク「Service Weaver」を発表した。
Googleは2023年3月1日(米国時間)、分散アプリケーションを構築、デプロイ(展開)するためのオープンソースフレームワーク「Service Weaver」を発表した。
Service Weaverでは、アプリケーションをモジュラーモノリスとして記述し、一連のマイクロサービスとしてデプロイできる。
Service Weaverは、以下の2つの主要要素で構成されている。
プログラミングライブラリのセット
これにより、ネイティブのデータ構造とメソッド呼び出しだけを用いて、アプリケーションを単一のモジュラーバイナリとして記述できる。
デプロイヤのセット
これにより、アプリケーションのランタイムトポロジーを構成し、アプリケーションを一連のマイクロサービスとして、ローカルまたは選択したクラウドにデプロイできる。
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.
関連記事
- GoogleがOSSのWebサイト監査ツール「Lighthouse 10」公開 「ペースト禁止」は改善対象?
Googleは、Webページの品質向上に役立つオープンソースWebサイト監査ツールの最新版「Lighthouse 10」を公開した。 - Googleの無料オープンソース脆弱性スキャンツール「OSV-Scanner」の実力とは?
Googleは、オープンソース開発者がプロジェクトに関連する脆弱性情報に簡単にアクセスできる無料ツール「OSV-Scanner」を公開した。 - 次世代クラウドはOSSに覆われるとGoogleのウルス・ヘルツル氏が考える理由
パブリッククラウドは今後どのように進化するのか、あるいはどう進化すべきなのか。これについて、Google本体でインフラや開発プロセスの設計に携わってきたウルス・ヘルツル氏の意見を聞いた。