Istio とは

Istio は、サービス メッシュです。つまり、アプリケーション ネットワーク機能を柔軟かつ簡単に自動化する、透過的で言語に依存しない手段を提供する、モダナイゼーションされたサービス ネットワーキング レイヤです。クラウド ネイティブ アプリケーションを構成するさまざまなマイクロサービスを管理するための一般的なソリューションです。Istio サービス メッシュは、これらのマイクロサービスが互いに通信してデータを共有する方法もサポートしています。

組織は、クラウドへの移行を加速すると同時に、必要に応じて、アプリケーションをモダナイズします。しかし、モノリシックなレガシー アプリからクラウド ネイティブなアプリに移行すると、DevOps チームの課題が増える可能性があります。

デベロッパーは、クラウドのポータビリティを確保するために、疎結合されたマイクロサービスを使用するアプリを組み立てる方法を学習する必要があります。同時に、運用チームは、ハイブリッド環境やマルチクラウド環境がますます大きくなる中で、新しいクラウド ネイティブ アプリを管理する必要があります。Istio を使用すると、これが可能になります。

Istio の定義

Istio は、組織が分散型のマイクロサービス ベースのアプリケーションをどこでも実行できるようにするためのオープンソースのサービス メッシュです。Istio を使用する理由Istio を使用すると、組織はマイクロサービスの保護、接続、モニタリングが可能になるため、エンタープライズ アプリを迅速かつ安全にモダナイズできます。

Istio は、サービス間のトラフィック フローの管理、アクセス ポリシーの適用、テレメトリー データの集計を、アプリケーション コードを変更せずに、すべて行います。Istio は、既存の分散アプリケーションに透過的に階層化することで、デプロイの複雑さを軽減します。

Istio サービス メッシュの利点

一貫性のあるサービス ネットワーキングを実現

ネットワーキング オペレータは、デベロッパーのオーバーヘッドを追加することなく、すべてのサービスのネットワークを一貫して管理できます。

Istio のメリットを利用したサービスの保護

セキュリティ オペレータは、認証、承認、暗号化などのサービス間のセキュリティを簡単に実装できます。

アプリケーションのパフォーマンスの向上

カナリア ロールアウトなどのベスト プラクティスを実装し、アプリケーションの可視性を高めて、パフォーマンス向上のために注力すべき場所を特定します。

Istio、Envoy、Kubernetes の連携の仕組み

Istio と Istio アーキテクチャを理解するための鍵は、Envoy と Kubernetes の両方を理解することです。Istio と Envoy または Istio と Kubernetes の比較は問題ではありません。多くの場合、これらが連携することでマイクロサービス ベースのコンテナ化された環境がスムーズに動作します。

たとえば、Istio などのサービス メッシュは、コントロール プレーンとデータプレーンの両方で構成されています。Istio は、Envoy の拡張バージョンをデータプレーンとして使用します。Envoy は、Istio サービス メッシュ内のすべての受信トラフィックと送信トラフィックを管理します。

一方、Kubernetes は、コンテナ化されたアプリケーションのデプロイとスケーリングに関する手動プロセスの多くを不要にする、オープンソース プラットフォームです。また、Istio はプラットフォームに依存しませんが、デベロッパー はよく Istio と Kubernetes を一緒に使用します。

Istio はプラットフォームに依存しないため、さまざまな環境で実行されます。

  • Cloud
  • オンプレミス
  • Kubernetes
  • Mesos

Istio の用途

Istio を使用すると、大規模な分散型アプリケーションを提供できます。これにより、トラフィック管理、承認、暗号化などのサービス間のネットワーク オペレーション、監査、オブザーバビリティが簡素化されます。Istio のメリットを提供する最も一般的なユースケースを次に示します。

クラウドネイティブ アプリの保護

強力な ID ベースの認証、承認、暗号化により、アプリケーション レベルでセキュリティを重視します。

トラフィックの効果的な管理

高度なルーティング ルール、再試行、フェイルオーバー、フォールト インジェクションにより、トラフィックの動作をきめ細かく制御します。

サービス メッシュのモニタリング

Istio の堅牢なトレース、モニタリング、ロギング機能によって、サービスのパフォーマンスがアップストリームに与える影響について理解を深めることができます。

Kubernetes と仮想マシンを使用して簡単にデプロイ

Istio は、コンテナと仮想マシンを含む、従来のワークロードと最新ワークロードの両方の可視性とネットワーク制御を提供します。

高度な機能による負荷分散の簡素化

すべてのトラフィックの自動負荷分散と、クライアント ベースのルーティングやカナリア ロールアウトなどの高度な機能を使用できます。

ポリシーの適用

アクセス制御、レート上限、割り当てをサポートするプラグイン可能なポリシーレイヤと構成 API を使用して、ポリシーを適用します。

Anthos Service Mesh は、Google の長年にわたるサービスの構築と提供における豊富な経験を提供します。サイト信頼性エンジニアリング(SRE)とゼロトラストのベスト プラクティスを採用することで、セキュリティを犠牲にすることなく、質の高いサービスを迅速かつ大規模に提供できます。Anthos を使用すると、必要な場所でサービス ネットワーキングを一貫して管理できます。