マイクロサービス ツール: 必要な 6 つのサービス メッシュ ツール

マイクロサービス ツール: 必要な 6 つのサービス メッシュ ツール

サービス メッシュは新しい概念ではありませんが、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 社

>>:  エッジコンピューティングへの投資はどこに向かうのでしょうか?

推薦する

Spring BootでマルチテナントSaaSプラットフォームを構築するコア技術についてお話しします

[[326138]] 1. 概要筆者は、2014年よりマルチテナント(またはマルチテナント)のソフト...

クラウドベース: US サーバー、最低 100M CN2 GIA、50~500G 防御、CC/カスタマイズ可能な防御ルールを無視、10 分配信

Yunbaseは主に国内外で高防御独立サーバーを提供しており、CN2 GIAなどのトップレベルの高速...

arkecxc マレーシア クラウド サーバー レビュー: クアラルンプール データ センター、1Gbps の大容量帯域幅

arkecxcはどうですか? arkecxのマレーシアクラウドサーバーを使って簡単な評価をしてみまし...

ウェブサイトの構築方法を知らない人に、個人からブランド構築までの道のりを伝える

みなさんこんにちは、私はシャオシです。この記事は主に、ウェブサイトの構築方法がわからないが、構築した...

ランキングが不安定な場合、ウェブマスターはどうやって生き残ることができるでしょうか?

最近の Baidu のアップデートにより、多くの Web サイトが影響を受けています。 K になった...

湖北省へ速達便が送れるようになりました!湖北速達が全面再開しました!

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスA5ベンチャーネットワー...

タオバオの新たな変化に直面 - ヒューリスティック対応の実行計画(I)

タオバオの新たな変化に直面 - ジンケの対応実施計画数日前、私たちはタオバオに大きな変化を経験しまし...

gcore.com - 25% 割引コード/10Gbps 帯域幅無制限専用サーバー/新しい高構成

gcorelabs は最近、オランダのデータセンターで、20 コア (2 x E5-2630v4)、...

iwstack-簡単な評価

iwstack は、KVM ベースの 384M メモリ、10G ハード ディスク、1T トラフィック...

運用・プロモーション:洗練されたオムニチャネル運用プラン!

広告に多額の費用を費やしたのに、なぜ成果が見られないのでしょうか?ユーザーは来たのになぜ買わないので...

Docker コンテナはアプリケーションのコードと依存関係をどのようにパッケージ化するのでしょうか?

Docker コンテナは、アプリケーション コードとすべての依存関係を単一の独立したソフトウェア パ...

#NewYear# locvps: 30% 割引、月額 31 元から、米国 cn2 VPS/ドイツ + オランダ トリプル ネットワーク最適化 VPS

locvps が新年のプロモーションを実施しました。米国の cn2 vps、ドイツの vps、オラン...

特別なイベントを計画することが効果的でない理由

多くのプランナーが特別なテーマをたくさん手がけ、コピーライターが協力してコピーライティングもたくさん...

従来の強力なマーケティングは人々に抵抗感を与え、それを排除することは難しい

街を歩いていると、至る所でチラシが目に入ります。ウェブページを開くと、至る所で広告や相談のポップアッ...

Google Urchin の設定: 電子商取引の取引を追跡する方法

Google Analtics と同様に、Google Urchin は e コマース機能を追跡し、...