工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> クラウドコンピューティング

サービスメッシュ解説:オープンソースメッシュがマイクロサービス通信をシンプルにする仕組み

マイクロサービスアーキテクチャで開発する場合、DevOpsチームが設定する必要がある個々のコンポーネントが多数存在します。マイクロサービスが連携するには、情報共有とデータ転送のための確立された通信チャネルが必要です。

サービス間の通信を管理・監視する方法の1つが、サービスメッシュの使用です。

サービスメッシュとは?

サービスメッシュは、マイクロサービスアーキテクチャに追加される専用のインフラストラクチャレイヤーです。その主な役割は、高速で安全なサービス間通信を確保することです。この低レイテンシーツールは、サービス間通信とデータ共有を管理・監視します。

開発者が特定のルールとポリシーをネットワーキングレイヤーに実装するコントロールプレーンと、サービスと共に実行されるサイドカープロキシのコレクションであるデータプレーンで構成されます。これらのプロキシはサービス間のすべての通信を担当します。また、全体的なアプリケーションパフォーマンスへの貴重な洞察を提供し、潜在的な問題の発見とダウンタイムの回避を支援します。

サービスメッシュ解説:オープンソースメッシュがマイクロサービス通信をシンプルにする仕組み

プロキシは以下の貴重な機能を提供します:

サービスメッシュアーキテクチャの台頭

サービスメッシュの仕組みを完全に理解するには、なぜこのようなツールが開発されたかを探る必要があります。サービスメッシュアーキテクチャの台頭は、マイクロサービスに関連する多数の問題への解決策として現れました。

多くの開発チームがモノリシックアプリケーション開発からマイクロサービスアーキテクチャへ移行しました。これにより、アプリケーションがモノリシックな単位から、連携する個々のサービスのシステムに分割されました。アプリケーションは、それぞれ独自の機能を持つ複数の自律的なサービスで構成されます。

このようなアプリケーション開発の難しさは、これらのサービスが互いに通信する最適な方法を設定することです。アプリケーションパフォーマンスは、サービスが連携しデータを共有して最高のユーザー体験を提供することに依存します。例えば、Webストアはログインサービスで構成され、購入サービスと通信し、それが在庫データベースから情報を必要とする、といった具合です。

マイクロサービスがAPIを通じて通信するため、検出とルーティングの最適な解決策を見つけることが重要でした。また、システム内の通信が安全であることを保証する必要もありました。ファイアウォールが外部攻撃からアプリケーションを保護する一方で、マイクロサービスアーキテクチャ内部にはフラットでオープンなネットワークがありました。

メッシュサービスアーキテクチャ以前、このタスクはロードバランサーで処理されていました。しかし、特に大規模では、導入とコストの問題で実用的な解決策ではありませんでした。サービスメッシュは、上記すべての問題に対する究極の解決策として開発されました。中央集権的なレジストリ(コントロールプレーン)を持つネットワーキングレイヤーを提示し、サイドカープロキシですべてのサービスを管理しました。これらはロードバランサーよりも設定とスケーリングがはるかに容易です。開発者は必要に応じてプロキシをスケールアップ/ダウンし、サービスを変更せずにルーティングルールを変更できます。

サービスメッシュのメリット

サービスメッシュの最も重要なメリットは:

オープンソースサービスメッシュの一覧

多数のオープンソースサービスメッシュが利用可能です。Istio、Linkerd、Consulが最も広く使用されています。

以下に各プラットフォームの詳細を示します。

Istio

Istioは、Google、IBM、Lyftによって設計されたオープンソースインフラストラクチャです。最も初期のサービスメッシュプラットフォームの1つです。Istiod(Pilot、Citadel、Mixerで構成されるコントロールプレーン)を使用してサービスメッシュを操作・設定します。データプレーンはEnvoyプロキシで構成され、C++で開発されています。HTTP/TCP接続は、IstioのロードバランサーであるGatewayで管理されます。VirtualServiceとDestinationRulesがルーティングルールとポリシーを定義します。

サービスメッシュ解説:オープンソースメッシュがマイクロサービス通信をシンプルにする仕組み

Linkerd

Linkerdは、Cloud Native Computing Foundation(CNCF)プロジェクトによって開発された軽量オープンソースサービスメッシュです。追加設定なしで、あらゆるプラットフォーム上のKubernetesクラスターにシンプルにインストールできます。設定不要は小規模クラスターでの作業に有益です。しかし、大規模プロジェクトではクラスター内のすべてのサービスを正常に管理するために設定の可能性が必要です。

そのサイドカープロキシはRustで記述されています。LinkerdはコントロールプレーンにController、ダッシュボードにWeb Deploymentを使用します。また、メトリクスの探索と保存にPrometheus、ダッシュボードのレンダリングと表示にGrafanaを利用します。

サービスメッシュ解説:オープンソースメッシュがマイクロサービス通信をシンプルにする仕組み

Consul Connect

Consulは最初、サービス検出ツールとして設計され、後にサービスメッシュへ進化しました。Linkerdとは異なり、Consul Connectには多くの設定が含まれ、ネットワーク環境へのより多くの制御を提供します。それに伴い、Linkerdより使いにくくなっています。このオープンソースサービスメッシュはプラットフォームに依存せず、KubernetesやNomadを必要としません。それでも、NomadはConsulを通じたマイクロサービス通信の管理プロセスを簡素化します。

サービスメッシュ解説:オープンソースメッシュがマイクロサービス通信をシンプルにする仕組み

MicrosoftのOpen Service Mesh

Open Service Mesh(OSM)は、動的マイクロサービスアプリケーションの管理と保護のためにサービスメッシュインターフェースを実装するCNCF Envoyプロジェクトです。サイドカーコンテナとしてEnvoy xDSを使用します。主な機能には、トラフィックシフティング、証明書管理、mTLS有効化、自動サイドカーインジェクション、アクセス制御ポリシーが含まれます。

Kuma

Kumaは、サービスメッシュ内で実行されるKubernetesとVMのためのオープンソースコントロールプレーンです。L4+L7ポリシーアーキテクチャを持ち、サービス検出、ルーティング、ゼロトラストセキュリティ、オブザーバビリティなどの機能を実装します。プラットフォームは高度にスケーラブルでセットアップが簡単です。

OpenShift Service Mesh Red Hat

Red Hatは、マイクロサービスアプリケーション管理のためにOpenShift Service Meshを開発しました。ネットワーキングのための複数インターフェースと、Security Context Constraintによるセキュリティ強化を提供します。Jaegerでパフォーマンスを測定し、Kialiでサービス間インタラクションを観測します。さらに、OpenShiftにはRed Hat 3scale Istio Mixer Adapterが含まれ、より良いAPIセキュリティを提供します。

AWS App Mesh

Amazonが開発したApp Meshは、マイクロサービスアーキテクチャ内のすべてのサービスを管理する無料のサービスメッシュソフトウェアです。マイクロサービスアプリケーションの高可用性とエンドツーエンドの可視性を提供します。AWS App MeshはAWS Fargate、Amazon ECS、Amazon EC2、Amazon EKS、Kubernetes、AWS Outpostsと統合されます。監視ツールで監視データを自動エクスポートします。

Network Service Mesh

Network Service Meshは、オープンソースのCNCF Sandboxプロジェクトです。シンプルなAPIセットを使用して接続を容易にするハイブリッド/マルチクラウドIPサービスメッシュです。コンテナ内で実行されるサービスと外部エンドポイントとの接続を確立します。実装時、Kubernetesへの最小限の変更で済みます。

結論

サービスメッシュは、マイクロサービスアーキテクチャを使用して開発されたアプリケーションの管理と維持をシンプルにします。マイクロサービスアーキテクチャ内の全体的なセキュリティを向上させ、トラフィックフローの可視性とオブザーバビリティを確保します。全体として、サービスメッシュ機能はパフォーマンスを向上させ、開発サイクルを高速化します。幅広いオープンソースソリューションが利用可能なため、アプリケーションのニーズに最適なものを見つけてください。

クラウドコンピューティング

  1. 技術の7つのコアタイプを探る
  2. 創業者のための多様なプロトタイピングタイプ理解ガイド
  3. 製造プロセスの4つのコアタイプを探る
  4. 5軸加工の習得:精度、効率、主要アプリケーション
  5. ベアリング種類を探る:玉軸受、ころ軸受、精密オプション
  6. なぜウォータージェット切断か? 精密金属加工における主なメリット
  7. サンドブラストの主なメリット:表面処理と金属加工における活用
  8. 未来へのサービス:ロボットがサービス業界を変革する
  9. ウォータージェット切断の利点:精密加工に最適な理由
  10. 2026年向けトップクラウドコンピューティングコース:AWS基礎からメリーランドMicroMastersまで
  11. グラファイトの主要特性:構造、強度、応用