サービスメッシュによるマイクロサービスの接続

サービス メッシュを組み込むと、マイクロサービスが接続され、管理オーバーヘッドを最小限に抑えながら Kubernetes が拡張されます。

サービス メッシュはアプリケーション配信における次の大きなトレンドです
サービス メッシュはマイクロサービスを接続し、コンテナ化されたコンポーネントのセキュリティ保護とオーケストレーションを容易にし、クラウド アーキテクトの作業を簡素化します。

最初はあらゆる場所、あらゆる用途のアプリケーションでしたが、次にマイクロサービス (およびそれを可能にするコンテナ テクノロジ) になりました。 アプリを通じて優れたユーザー エクスペリエンスを実現する次のイノベーションは何でしょうか? サービスメッシュ。

マイクロサービス アプローチは、より大規模で複雑なアプリケーションを形成するために使用される、小さな単一目的のコンポーネントに依存します。 ほぼあらゆるものに対してマイクロサービスを作成できます。また、各マイクロサービスは単一の機能に重点を置いているため、開発も比較的迅速です。 ただし、必要な機能が増えるほど、マイクロサービス コンポーネントの調整が複雑になります。

従来のアプリケーション (モノリス アプリケーションと呼ばれることもあります) は開発に時間がかかりますが、利点もあります。 多くの個別の機能が単一のプログラムによって実行されるため、通常、コンポーネント間の調整がシステムに組み込まれます。 コードソースは 1 つだけなので、従来のアプリのトラブルシューティングやデバッグが容易になります。

サービス メッシュとは何ですか?

サービス メッシュは、マイクロサービス間の通信を容易にするインフラストラクチャの透過的なレイヤーです。 これにより、マイクロサービスで構築されたアプリには、回復力、可観測性、セキュリティなど、従来のアプリと同じ利点がもたらされます。

エンタープライズ サービス メッシュのビジネス ケース

モノリスからマイクロサービスへの移行は、主にアプリケーション チームの俊敏性と実行速度の向上の必要性によって推進されました。 大規模なアプリケーションを多数の小さな要素に分割することで、個々のチームが専門化できるようになりました。 これにより、モノリスのあらゆる側面を考慮する必要があったときよりも速く反復できるようになりました。

ただし、このスピードと俊敏性には、複雑さが増すという代償が伴います。 マイクロサービスは開発を簡素化しますが、特に複数の一時的なコンポーネントの保護とオーケストレーションに関して新たな課題をもたらします。 サービス メッシュは、マイクロサービス対応アプリケーションの拡張時に開発者が複雑さを軽減する方法です

最近のポッドキャストで、 Aspen Meshの共同創設者兼 CTO である Andrew Jenkins 氏は、次のように述べています。「サービス メッシュ環境における最大の変化は、アプリ開発者が行う必要があることではなく、開発者が行わないことが期待されるすべてのことです。」 たとえば、サービス メッシュのセキュリティ コンポーネントは認証を提供し、あるアプリケーションが別のアプリケーションを信頼するかどうかを管理します。 リクエストが失敗した場合、プラットフォーム オペレーターは、マイクロサービスを再試行するか、または終了するかを定義するツールを備えています。

この新しい環境では、開発者はサービス メッシュ レイヤーへのリクエストの取得に集中できます。 プラットフォームオペレーターは、マイクロサービス間のすべての通信を監視するツールにアクセスできるため、アプリ開発者にまったく新しい範囲のデータとメトリックを提供できます。 「サービス メッシュでは、1 か所の破損を修正するだけで、どこでも修正されます。 「同じ一貫性の話が何度も繰り返されます」とジェンキンスは言います。

サービス メッシュを使用するタイミング

サービス メッシュを強力な新しいツールボックスとして考えてみましょう。 セキュリティ、トランザクション処理、暗号化、推奨エンジン、分散トレースなどのツールがあります。 しかし、強力なツールも、使い方がわからなければ役に立ちません。 サービス メッシュを早期に導入して成功するには、強力なクラウド アーキテクチャの実践と、開発者向けのインフラストラクチャ サービスの定義に経験のあるプラットフォーム チームが必要です。 

多くの組織は、サービス メッシュなしでKubernetesやその他のコンテナ テクノロジーを正常に実行しています。 標準の Kubernetes 実装は、組み込みのデプロイメントの問題に非常にうまく対処します。 ただし、Kubernetes アプリケーションが大規模になると、暗号化、回路遮断、動的トラフィック ルーティングなど、十分に対処されていない実行時の問題が発生します。 NGINXその他のコンテナ イングレス ソリューションなどのソリューションは、アプリケーションに流入するネットワーク トラフィックをキャプチャ、形成、制御、視覚化する手段を提供することで、このギャップの多くを埋めます。 しかし、開発者がそれらのツールが提供できるものの限界に達し始めると、サービス メッシュは、コンテナ化されたマイクロサービスが実行できることに対する新たなレベルの可視性を約束します。

結論

現時点では、サービス メッシュはまだ最先端です。 Kubernetes にすでに全面的に取り組んでいる組織、または Kubernetes を使用して開発する予定の組織にとっては、後から組み込むよりも、早期にサービス メッシュを実装する方が簡単です。 Kubernetes をスケーリングし、管理オーバーヘッドを最小限に抑えたい場合は、サービス メッシュが必要です。

複雑なセキュリティ ニーズを持つ組織や、マイクロサービスから派生したアプリケーションに大きく依存する組織の場合、サービス メッシュは、導入とメンテナンスを加速し、セキュリティを強化し、リソース消費を最適化するのに役立ちます。 サービス メッシュ環境は可視性を高め、アプリケーションの最適化に使用できるミクロレベルおよびマクロレベルのデータを提供します。

サービス メッシュは、マイクロサービスとコンテナ テクノロジーの次のレベルの進歩です。 適切な戦略があれば、強力なツールになります。

関連コンテンツ
電子書籍

安全なクラウドアーキテクチャ

一般的な妥協を排したスピード。適切なクラウド アーキテクチャにより、スピードが手に入ります。

もっと詳しく知る >

ソリューションの概要

5Gクラウドネイティブインフラストラクチャ

F5 の 5G インフラストラクチャ ソリューションは、サービス プロバイダーがネットワーク インフラストラクチャを最新化するために必要なツールを提供します。

概要を読む ›

ソリューション

NGINX とは

マイクロサービスを接続、保護、拡張する方法を学びます。

もっと詳しく知る >

ポッドキャスト

何が隠れているのか

「What Lies Beneath」ポッドキャストでサービス メッシュとその代替手段について学びましょう。

今すぐ聴く ›