Google、モノリスとマイクロサービスのいいとこ取りをする「Service Weaver」フレームワークをオープンソースで公開

今回は「Google、モノリスとマイクロサービスのいいとこ取りをする「Service Weaver」フレームワークをオープンソースで公開」についてご紹介します。

関連ワード (今後、代表例、変更等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Googleは分散アプリケーションの開発とデプロイを容易にするフレームワーク「Service Weaver」をオープンソースで公開しました。

Introducing Service Weaver!

Service Weaver is an open source framework for building and deploying distributed applications. It allows you to write your application as a modular monolith and deploy as a set of microservices.

Learn more → https://t.co/XmnVALYXNC pic.twitter.com/N67AWTA9kn

— Google Open Source (@GoogleOSS) March 1, 2023

マイクロサービスとモノリシック、それぞれの利点

分散アプリケーションの代表例となっているマイクロサービスは、複数のサービスの連係によってアプリケーションを構成します。スケーラブルで可用性が高く、アプリケーションを構成するサービスごとにアップデートや機能追加などが容易なため、大規模なアプリケーションの開発に向いている、などの利点があります。

一方で、アプリケーションを構成する複数のサービスごとに発生する多数のバイナリの管理、ネットワーク上での相互接続のためのコンフィグレーションの作成、相互にデータ連係するためのデータフォーマットやシリアライゼーションの管理、そしてデプロイの手間の多さや複雑さなどによるデプロイの遅さなど、さまざまな課題があるとGoogleは指摘しています。

特に、複数のバイナリに渡る機能変更を管理することは難しく、いちど決めたデータフォーマットやAPIの改善も困難であるとされます。

マイクロサービスとは対照的に、シングルバイナリで構成されるモノリシックなアプリケーションにはこうした課題はほとんどなく、機能追加や変更は容易で、デプロイもバイナリを置くだけとスピーディです。

アップデートもソースコードを書き換えてビルドし、バイナリを置き換えるだけ、といったシンプルさです。

Googleがオープンソースとして公開したService Weaverはこの、モノリシックなアプリケーションのシンプルな開発体験で作られたアプリケーションを、デプロイ時にはマイクロサービスとして自動的に分散してデプロイしてくれるという、2つのいいとこ取りをすることを目指したフレームワークです。

モノリスとして作り、自動的にマイクロサービスとしてデプロイ

Service Weaverを用いたアプリケーション開発では、単なるモノリシックなアプリケーションではなく「Modular monolith」(モジュラーモノリス)なアーキテクチャスタイルでアプリケーションを開発します。

モジュラーモノリスとは、その内部を適切に分割したモジュール構造を備えているモノリシックなアプリケーションです。

これにより、モノリシックなアプリケーションの利点であるシンプルな開発や機能追加や変更、シンプルでスピーディなデプロイといった特性を備えつつ、後からモジュールごとに分割することが容易になります。

Service Weaverは、モジュラーモノリスなアプリケーションを開発するためのライブラリ を備えており、このライブラリを用いてアプリケーションを開発します。

さらにService Weaverはデプロイツールも備えています。

Service Weaverのライブラリを用いて開発されたモジュラーモノリスなアプリケーションは、例えばデスクトップPC上ではそのまま簡単に実行できます。

そして、Google CloudのKubernetesサービスであるGoogle Kubernetes Engineや、それ以外のクラウドに対しては、マイクロサービスアプリケーションとしてデプロイすることも可能なわけです。

fig

Service Weaverは現時点でまだバージョン0.1であり、Go言語のコアライブラリ、ローカルとGoogle Kubernetes Engineへデプロイし実行するためのツール、そしてデプロイツールのためのAPI群などが揃っている状態。今後、破壊的な変更を含む機能変更や追加などの可能性があるとのことです。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
米司法省、DDoS攻撃の請け負いで6人を起訴–48ドメインを押収
IT関連
2022-12-17 11:32
Twitter、@ツイートされたくない場合の「アンメンション」テスト開始
アプリ・Web
2021-06-16 17:26
グーグル、「Workspace」向けの自動要約機能を発表–まずは「Google Docs」で提供へ
IT関連
2022-05-14 09:40
アマゾンの労組結成賛否を問う従業員投票結果を受け米労組会長が「再選挙の可能性が高い」と語る
パブリック / ダイバーシティ
2021-04-11 21:17
CTCとJR東、上野駅のイベントで来店者の人流データを可視化–集客力を計測
IT関連
2023-04-05 02:39
マイクロソフト、「Teams」のバンドル提供を廃止–法人向け生産性スイートで
IT関連
2024-04-03 20:04
今はソリューションのための半導体–インテル、新ブランド戦略を語る
IT関連
2023-08-03 02:35
「GIGAスクール構想対象自治体の約半数がChromebookを選択」とGoogle
企業・業界動向
2021-02-19 23:46
ガジェット利用の持続可能性を向上–環境配慮とコスト削減に役立つ6つの方法
IT関連
2023-02-25 14:46
「ChatGPT」、過去の会話を記憶する「Memory」機能をテスト中
IT関連
2024-02-15 06:48
データセンターの自動化が加速する理由
IT関連
2021-05-13 18:37
フリーのITエンジニアやWebデザイナーも国の労災保険へ加入可能に 9月から
キャリア・しごと
2021-07-07 06:03
インフラ部門に配属された新卒が爆速に、クラウドにおける事故防止、クラウド基盤の内製対応など、クラウドの運用に光を当てた「輝け!クラウドオペレーターアワード2022」[PR]
PR
2022-08-16 16:04
イーロン・マスク氏のNeuralink、Cラウンドで2億ドル超調達
企業・業界動向
2021-07-31 04:08