サービス メッシュは新しい概念ではありませんが、Kubernetes コンテナ プラットフォーム上で実行されるマイクロサービス間の接続として実装されることで、さらに普及しています。サービス メッシュがなければ、各マイクロサービスは、それと通信する他のマイクロサービスからの接続を受け入れて送信するように構成する必要がありますが、サービス メッシュによってこれが完全に変わります。 開発者は、手動での構成を処理せず、マイクロサービス間の接続を維持するために多くの時間と労力を費やすことなく、信頼性が高く、安全で、制御された方法でマイクロサービスが相互に通信できるようにするメッシュを作成できるようになりました。 Kubernetes とサービス メッシュは相互に補完し合います。サービス メッシュを使用すると、追加のワークロードを追加することなく、より複雑なコンテナ化されたアーキテクチャを実現できるからです。 Kubernetes 上のレイヤーとしてサービス メッシュを構築する方法は多数あります。人気のあるサービス メッシュ ツールをいくつか見てみましょう。 AWS アプリメッシュ 現在、多くの Kubernetes ベースのアプリケーションとマイクロサービスが AWS 環境で実行されているため、AWS App Mesh に言及せずにサービスメッシュについて話すことは困難です。 AWS App Mesh は、AWS サービス用のサービスメッシュレイヤーを作成する Amazon 独自のサービスメッシュです。 AWS App Mesh は、Envoy 独自のテクノロジーをサービスプロキシとして組み込んでおり、仮想サービスを作成することで同じ名前空間内のサービスを接続します。 AWS 環境内の各マイクロサービスは、この仮想サービスを見つけて、それを使用して他のマイクロサービスへの通信を直接行うことができます。 AWS App Mesh は EKS、Fargate、EC2 などの他の AWS サービスとシームレスに統合できることが最大の強みの 1 つですが、AWS App Mesh の使用にはいくつかの制限があります。 App Mesh の外部に移行したり、マルチクラウド設定でサービスを使用したりすることはできません。 さらに、App Mesh は CloudWatch と AWS X-Ray を使用してサービス メッシュを管理しますが、これはメインダッシュボードを離れることなくサービス メッシュ レイヤーを完全に制御できることを意味します。 App Mesh は認可ルールをサポートしていませんが、mTLS や高度な負荷分散などのセキュリティ機能はサポートしています。 イスティオ Istio は、Kubernetes で最も人気のあるサービス メッシュ ツールです。もともとLyft向けに開発され、後にGoogleとIBMの共同プロジェクトとなった。このような強力なサポートがあるため、Istio がさまざまなデプロイメント タイプで広く使用されているのも不思議ではありません。 App Mesh と同様に、Istio もサービス プロキシとして Envoy を使用しますが、イングレス コントローラーとして Envoy だけに限定されるわけではありません。 Istio は、通常の複雑さがなく、非常に高い柔軟性を提供するという点でユニークです。 Istio は実際には他のコンテナ化されたプラットフォームでも使用できますが、Kubernetes とのシームレスな統合が最も重要です。 たとえば、Istio はメッシュ スケーリングとマルチクラスター メッシュをサポートしていますが、どちらも App Mesh や他の多くのサービス メッシュ ツールでは利用できない機能です。 Istio は、これらのタスクの実行と同様に、トラフィック アクセス制御や負荷分散も処理します。フォールト注入や遅延注入もサポートします。 Istio を使用する唯一の欠点は、Istio が提供する機能をどこから始めればよいかわからない可能性があることです。しかし、Istio を使用してサービス メッシュ レイヤーを処理するのに十分なリソースがある場合は、その機能を活用して、最も複雑なマイクロサービス アーキテクチャも簡素化できます。 リンカード Linkerd も非常に人気のあるサービス メッシュ ツールです。 Kubernetes コミュニティはこの新しいシリーズを非常に好意的に受け入れており、2020 年 4 月中旬までに安定した 2.7.1 バージョンがリリースされました。これは完全にスタンドアロンのサービス メッシュ ツールとして構築されているため、管理に Envoy などのサードパーティ ツールに依存しません。サービス プロキシとして linkerd-proxy も含まれています。 最近のアップグレードには、ダッシュボードの改善と、カナリア デプロイメントのトラフィック分割機能の視覚化も含まれています。これにより、カナリアおよびブルー/グリーン デプロイメントのリアルタイム監視とオーケストレーションに最適なツールになります。 Linkerd は独立性を維持しながら、Ingress コントローラーとの高い互換性も維持します。実際、Linkerd はどの Ingress コントローラーでも使用できるため、この点では非常に柔軟性があります。サービス メッシュをアプリケーションに統合するには、単純なコネクタ挿入コマンドだけが必要です。 Linkerd2 も高度に最適化されており、インストールにはわずか 60 秒しかかかりません。テーブルを最大限に活用できるサービス メッシュ ツールをお探しの場合は、ぜひお試しください。 Linkerd は、一度デプロイされると、それほど最適化を必要としません。すぐに使用できる構成により、複雑なマイクロサービス配列をサポートでき、大規模な攻撃から保護されます。 Linkerd は mTLS 暗号化によってアプリケーションのセキュリティを強化します。 また、Kubernetes 専用に開発されたツールであり、マルチクラウドやマルチクラスターのメッシュ作成をサポートしていませんが、Kubernetes インスタンスのサービス メッシュ レイヤーとして使用しても機能が低下することはありません。さらに、OpenCensus と連携して追跡と管理が非常に簡単になります。 クマ Kuma は、サービス プロキシとしての Envoy と、あらゆる Ingress コントローラーのサポートのユニークな組み合わせを提供します。 Consul Connect と非常によく似ていますが、いくつかの新機能は新鮮であり、Kuma も他のツールと比較するとまだ非常に新しいものです。 Kuma は本番環境に対応しているだけでなく、強力なサービス メッシュ機能も備えています。 OpenTracing と互換性のあるすべてのバックエンドをサポートし、必要に応じて外部 CA 証明書の使用を許可します。しかし、機能面では依然として多くの欠陥が残っています。 現在、Kuma ではパスベースまたはヘッダーベースのトラフィック分割は不可能であり、トラフィック アクセス制御やメトリックなどの機能はまだサポートされていません。これらの機能は将来のアップデートで導入される可能性がありますが、現時点では、これらのツールの欠点を回避するために、プロキシ テンプレートを手動で実行する必要があります。 それでも、クマはなかなかいい感じですね。現在はバージョン 0.4.0 であり、開発チームはコミュニティ ユーザーの意見に常に耳を傾け、できるだけ早く他のサービス メッシュ ツールに追いつくように努めています。 領事コネクト HashiCorp の Consul Connect。Envoy やその他のさまざまなサービス プロキシの代替手段と併用できます。また、任意の Ingress コントローラーでも動作するため、既存の Kubernetes クラスターに最も簡単に統合できます。 Consul Connect は、あらゆる Consul 環境でシームレスに実行されます。このサービス メッシュ ツールは多くの便利な機能を提供しますが、他の HashiCorp 製品と組み合わせてのみ使用できます。 TCP から gRPC まですべてをサポートし、Kubernetes、VM、Nomad でも動作します。メッシュ スケーリングが完全にサポートされているため、マイクロサービスをサポートする強力なサービス メッシュ レイヤーを使用して、複数のクラウドとクラスターにまたがる環境を構築できます。 Consul Connect で改善が必要な領域の 1 つは監視です。現在、他の監視ツールと統合して、ログやルートごとのメトリックにアクセスできます。たとえば、視覚的なデータ監視のために Prometheus や Grafana などのツールを統合できます。 Consul Connect から直接データを取得するのではなく、サービス プロキシからデータを取得するだけで済みます。 特使プロキシ 上記のサービス メッシュ ツールは、主に Envoy をサービス プロキシとして使用するように設計されています。 Envoy には他のエッジ プロキシ ツールに比べていくつかの利点があり、その中でも最も顕著な利点は高度な負荷分散です。 自動再試行、ゾーンローカル負荷分散、および要求シールドにより、トラフィック負荷分散を構成して最適なパフォーマンスを得ることができます。一方、高い可視性により、Envoy は強力なアーキテクチャをサポートする堅牢なネットワークを維持するための理想的なソリューションになります。 最終的に、これらのツールの主な目的は、マイクロサービスが信頼性が高く安全な方法で相互に通信できるようにするクラウド アーキテクチャを作成することです。上記のどのツールを使用したとしても、この目標を達成できます。 |
<<: 中間レビュー: 2020 年に注目を集めたクラウド コンピューティング スタートアップ 10 社
>>: エッジコンピューティングへの投資はどこに向かうのでしょうか?
現在、ウェブサイトの最適化とプロモーション(以下、SEO と呼びますが、正確ではないかもしれませんが...
今朝、私は習慣的に、以前書いたいくつかのソフトな記事のタイトルを検索しました。それらはすでにインター...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますキーワード...
Clamhost の VPS は無料の DDOS 保護を提供しており、最大 20Gbps の DDO...
キーワード素材を使用して、次に行うことは、Web サイトとターゲット ユーザー グループに適したタイ...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWeiboにはたくさんの...
Googleの最近のアルゴリズムのアップデートは頻繁である国慶節の休暇中、Google のアルゴリズ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますSEO 最...
5月22日、Googleはパンダアルゴリズムが正式に4.0にアップグレードされたことを正式に発表しま...
インターネット広告は徐々に人々の生活習慣に影響を与え、消費行動を導き、さらには人々の固有の概念に対す...
[51CTO.com クイック翻訳] 新しいテクノロジーの出現、経済の不確実性、家電業界に対する規制...
今日、以前ホームページからブロックされていたStoneの企業サイトをチェックしたところ、奇跡的に復活...
国家著作権局と他の4つの部門は、オンライン上の著作権侵害や海賊版と戦うために、2012年に4か月間の...
セキュリティにおける最大の課題の 1 つは、多層防御を適切に構築することです。クラウドを組み合わせる...
検索エンジン最適化の概念は少し複雑ですが、ウェブサイトのオーガニック検索ランキングを向上させる基本的...