TOPSoftware > マイクロサービスの普及とともに存在感を増すサービスメッシュ(...

Software

マイクロサービスの普及とともに存在感を増すサービスメッシュ(上)

2019/08/05

Josh Fruhlinger InfoWorld

 IT界で、デジタルトランスフォーメーションの旗印のもとに起きている変化の1つが、モノリシックアプリケーションからマイクロサービスへという転換だ。大規模な一枚岩的アプリケーションを、個別の機能を提供するサービスに細分化し、それぞれ別のコンテナで動かす。コードや依存関係をサービス単位で切り分けることができ、別のサーバーへの移動も簡単だ。

Credit: Koto Feja / Getty Images

 コンテナを利用するアーキテクチャーはスケーラビリティに優れ、クラウドでの稼働がしやすく、個々のサービスのロールアウトや更新をすばやく行える。だが、アプリケーションの規模が拡大し、同じサービスの複数のインスタンスが同時に稼働するようになると、マイクロサービス間の通信は次第に複雑化していく。

 多数のマイクロサービスが動的に連携する構成において管理やプログラミングの負担を軽減する手段として、サービスメッシュの存在感は高まりつつある。

サービスメッシュとは

 サービスメッシュとは、米Red Hatのサイトの説明を借りれば、「アプリケーションのさまざまな部分が互いにデータをどのように共有するかを制御する方法」である。だが、この説明だけを考えると、多種多様な技術が該当する。例えば、クライアントサーバーアプリケーションで多くの開発者になじみのあるミドルウエアも、この説明に当てはまるように思える。

 サービスメッシュの特質は、マイクロサービスの分散環境ならではの状況に対応できるように構成されている点にある。マイクロサービスを使った大規模なアプリケーションでは、各サービスの複数のインスタンスが、ローカルとクラウドのさまざまなサーバーで稼働している。

 多数の要素が連携することから、各マイクロサービスが通信相手のサービスを見つけるのは当然難しい。サービスメッシュでは、こうしたサービスの発見や接続がそのつど自動的に行われ、人間の開発者や各サービスが苦労せずに済む。

↑ページ先頭へ