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

サービス メッシュとは?利用可能なオープンソース サービス メッシュとは?

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

サービス間の通信を管理および監視する 1 つの方法は、サービス メッシュを使用することです。

サービス メッシュとは

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

コントロール プレーンで構成されています 開発者がネットワーク層に特定のルールとポリシーを実装する元になります。コントロール プレーンは、サービスと並行して実行されるサイドカー プロキシのコレクションであるデータ プレーンと直接連携します。これらのプロキシは、サービス間のすべての通信を担当します。さらに、アプリケーション全体のパフォーマンスを監視して貴重な洞察を提供し、潜在的な問題を見つけてダウンタイムを回避するのに役立ちます。

プロキシは、次のような貴重な機能を提供します:

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

サービス メッシュがどのように機能するかを完全に理解するには、そのようなツールが開発された理由を調べる必要があります。サービス メッシュ アーキテクチャの台頭は、マイクロサービスに関連する多くの問題の解決策として浮上しました。

多くの開発チームが、モノリシック アプリケーションの開発からマイクロサービス アーキテクチャへの切り替えを行いました .これにより、アプリケーションがモノリシックなユニットから、連携して動作する個々のサービスのシステムに分割されました。アプリケーションは、個々の機能を備えた複数の自律型サービスで構成されています。

このようなアプリケーションを開発する際の難しさは、これらのサービスが互いに通信するための最適な方法を構成することです。アプリケーションのパフォーマンスは、最高のユーザー エクスペリエンスを提供するために連携してデータを共有するサービスに依存します。たとえば、ウェブ ストアは ログイン サービスで構成できます。 購入サービスと通信する 在庫データベースからの情報を必要とする など。

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

メッシュ サービス アーキテクチャ以前は、このタスクはロードバランサによって処理されていました .ただし、展開とコストの問題により、特に大規模な場合は実用的なソリューションではありませんでした。サービス メッシュは、上記のすべての問題に対する究極のソリューションとして開発されました。これは、サイドカー プロキシを使用してすべてのサービスを管理する集中型レジストリ (コントロール プレーン) を備えたネットワーク レイヤーを提供しました。ロードバランサーと比較して、構成とスケーリングがはるかに簡単です。開発者は、必要に応じてプロキシをスケールアップおよびスケールダウンし、サービスを変更せずにルーティング ルールを変更できます。

サービス メッシュの利点

サービス メッシュの最も重要な利点は次のとおりです。

オープンソース サービス メッシュのリスト

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

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

Istio

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

リンカード

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

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

Consul Connect

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

Microsoft のオープン サービス メッシュ

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

クマ

Kuma は、サービス メッシュ内で実行される Kubernetes および VM 用のオープン ソース コントロール プレーンです。 L4+L7 ポリシー アーキテクチャを備えています サービス ディスカバリ、ルーティング、ゼロトラスト セキュリティ、オブザーバビリティなどの機能を実装します。このプラットフォームは拡張性が高く、セットアップも簡単です。

OpenShift Service Mesh Red Hat

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

AWS App Mesh

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

ネットワーク サービス メッシュ

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

まとめ

サービス メッシュは、マイクロサービス アーキテクチャを使用して開発されたアプリケーションの管理と保守を簡素化します。これにより、マイクロサービス アーキテクチャ内の全体的なセキュリティが向上し、トラフィック フローの可視性と可観測性が確保されます。全体として、サービス メッシュ機能はパフォーマンスを向上させ、開発サイクルをスピードアップします。さまざまなオープンソース ソリューションが利用できるので、アプリケーションのニーズに最適なものを見つけてください。


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

  1. 最高のクラウドコンピューティングコースは何ですか?
  2. ウォータージェット切断の利点は何ですか?
  3. サンドブラストの利点は何ですか?
  4. グラファイトの主な特性は何ですか?
  5. ウォータージェット切断の利点は何ですか?
  6. 7種類のテクノロジーとは?
  7. プロトタイピングにはどのような種類がありますか?
  8. 4種類の製造工程とは?
  9. 加工の5軸とは?
  10. ベアリングの種類は何ですか
  11. 何を食べていますか?サービス産業のロボット