マイクロサービス ツール: 必要な 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 社

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

推薦する

WordPress コミュニティに商用有料テーマがさらに必要なのはなぜですか?

有料テーマが無料テーマよりも優れている点は何ですか?より美しい外観とより強力な機能ほとんどの無料テー...

タイム・ウェルス・ネットワークの周瑜氏:タオバオ・ウィトキーには勝ち目がない

最近、IT茶室のネットユーザーが、タオバオが第三次産業電子商取引プラットフォームの拡大に力を入れ始め...

Qi Ning: 検索エンジン知識ウェブページ重複検出技術

重複したウェブページコンテンツは検索エンジンにとって非常に有害です。重複した Web ページが存在す...

ユーザーの目新しさを求める心理を踏まえてウェブサイトのコンテンツを更新する方法

良い小説はいつかは読み終えます。読み終えた後、短期間で読者にもう一度読んでもらうのは非常に困難です。...

クラウドコンピューティングなしではモノのインターネットが成功できない理由

組織は、IoT によって生成されたデータを効率的に保存および管理するために、IoT 向けのクラウド ...

Docker の紹介とインストール、10 分間の入門ガイド

1. Docker とは何ですか?なぜDockerなのかショッピング モールを開発していて、ラップト...

インテルはクラウドコンピューティングの基盤を提供し、開発者がテクノロジーを使って社会を変革できるよう支援します

[51CTO.com からのオリジナル記事] すべての開発者には、コードで世界を変えるという夢があり...

アンテナビデオ著作権侵害事件の判決:罰金200万、会長に有罪判決

北京ニュース(陳波記者)昨日、朝陽法院は第一審判決を言い渡し、北京賽金メディアテクノロジー株式会社の...

hostus-$6/6g メモリ/6gSwap/150g ハードディスク/5T トラフィック/3IPv4

Hostus は、月額 6 ドルで 6G のメモリ、150G のハード ドライブ、5T のトラフィッ...

Docker コンテナをバックグラウンドで実行する方法 (デタッチ モード)

[51CTO.com クイック翻訳] Docker では、イメージ開発者は、フォアグラウンドで実行さ...

Linodeについてはどうですか? [年] Linode ニューアークデータセンター簡易評価

Linode ニューアーク データセンターはどうですか? Linode ニューアーク データセンター...

ホットな話題を捉えて、商品の総合的なオンラインマーケティングプロモーションを実施

2週間が経過し、文章の不正行為の話題は徐々に冷めてきたようで、人々の彼に対する批判的なコメントも徐々...

新しい同僚が Kafka を使い始めて震え上がる...

画像はBaotu.comよりRocketMQ、Kafka、Pulsar はすべて、現在業界で広く使用...

シャーディングのための 9 つの分散主キー ID 生成ソリューション

[[351290]]この記事はWeChatの公開アカウント「Programmer's Ins...

モバイルインターネット広告インサイトレポート

本日は、モバイルインターネット広告の変化に関するレポートを皆さんにお伝えしたいと思います。オンライン...