LoginSignup
1
1

More than 3 years have passed since last update.

サービスメッシュとGoogle Cloudサービスメッシュの紹介

Last updated at Posted at 2019-12-26

Microservices マイクロサービスとは

皆さんは既にマイクロサービスアーキテクチャ知識を持ってるかもしれませんが、簡単にマイクロサービスの特徴をまとめます。

  • ビジネス機能に 沿って複数小さい「マイクロサービス」に分割し、 それらを連携してアプリケーションを構築する
  • 各サービス、独立したプロセスで動作する
  • 各サービス、よく定義されたオープンなインタフェースを備える (REST(JSON/HTTPS), gRPC 等)

マイクロサービスのメリット

  • 複数技術で対応可能
  • 障害耐性・保守性が高い
  • スケール・冗長化が容易
  • 開発チームを小さくできる
  • サービス一つ一つが小さいため把握が容易
  • サービスの再利用性が高くなる

マイクロサービスの課題*

  • サービスディスカバリ: サービスや存在関係の発見
  • セキュリティ: 安全に接続する
  • トラフィック制御: レートリミットやリトライ設定
  • 負荷分散:複数サービスインスタンスにルーティング
  • 可観測性:全体がどように連携しているかわかりにくい
  • 分散トレース: サービス間、内部動作把握が困難
  • 高度なデプロイ:安全に効率よくデプロイする

ServiceMesh サービスメッシュとは

サービスメッシュはマイクロサービスが抱える問題解決のための1つのアップローチです。

サービスメッシュの主な機能は:

  • サービス認証
  • 負荷分散
  • タイムアウト、リトライサーキットブレーカー
  • コネクションプールサイズ管理
  • きめ細かいルーティング
  • テレメトリ
  • リクエスト追跡
  • 意図的なエラー実施

サービスメッシュ機能を提供する製品はたくさんありますが、代表的なソフトウエアはIstio、 Linkerd、Consul。次に一番人気のIstioを紹介します。

Istioとは

Istio」は、IBMやGoogle、Red Hatなどが力を入れている取り組みであり、クラウド上のさまざまなシステムをまたがったマイクロサービス群をサービスメッシュという単位で管理できるようにするものだ。

about-architecture.png

Istio では、Envoy ベースのサイドカーから成るデータ プレーンが提供されます。 これらのインテリジェント プロキシは、メッシュ化されたアプリとワークロードの内外のすべてのネットワーク トラフィックを制御します。
コントロール プレーンは、次のコンポーネントを使用して、構成、ポリシー、およびテレメトリを管理します。

  • Mixer - アクセス制御と使用ポリシーを適用します。 Prometheus にプッシュされたプロキシからテレメトリを収集します。
  • Pilot - プロキシのサービス検出やトラフィック管理のポリシー/構成を提供します。
  • Citadel - サービス間の mTLS を可能にする ID とセキュリティの機能を提供します。
  • Galley - コンポーネントに対する構成の抽象化と提供を行います。

Google CloudのAnthos Service Mesh (ASM)

Anthos Service Mesh(ASM)は、Google Cloudの複雑なマイクロサービス アーキテクチャ向けのフルマネージド サービス メッシュです。マイクロサービスの複雑な環境を管理し、それらが保証するメリットをすべて享受できるようにするための、フルマネージド サービス メッシュです。このプラットフォームにより、トラフィック管理やメッシュ テレメトリ、サービス間の通信保護に至るまで、全体的なサービス運用をシンプルにして、運用チームや開発チームの負担を大幅に軽減します。

次の記事、Anthos Service Mesh利用してマイクロサービス実装と運用のデモを紹介する予定ですので、少々お待ち下さい。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1