Apigee と Anthos Service Mesh でマイクロサービスの複雑さを軽減する方法
Google Cloud Japan Team
※この投稿は米国時間 2022 年 12 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。
今日、開発の世界では、独立性と柔軟性に優れ、モジュール型で言語に依存しないアプリケーションの開発において、モノリシック アーキテクチャよりはるかにアジリティの高いマイクロサービス ベースのアーキテクチャが定番となっています。このような移行を遂げたすばらしい企業の一つが L.L.Bean です。以前のオンプレミスのシステムは、同社の革新性や対応のスピードに制約をかけていました。これが、Google Kubernetes Engine(GKE)とマイクロサービス アーキテクチャでモダナイズするという全社的な取り組みにつながりました。L.L.Bean はこれによってノードのアップグレード処理を効率化し、機能のリリース サイクルを短縮することでクロスチャネル サービスの実現をスピードアップしました。
アプリケーションを複数のマイクロサービスに分割することには多くのメリットがある一方、複雑な点もあります。とりわけ、すべてのマイクロサービスを標準化し、セキュリティを確保すると同時に、組織の内部、ときには外部のデベロッパーがそれらに簡単にアクセスし、利用できるようにするのは簡単ではありません。サービスの利用を安全に拡大させるためには、これらのサービスへのアクセスの管理とセキュリティ確保も必要です。この投稿では、Google Cloud ソリューションでマイクロサービスを管理する方法を概説し、使用開始に役立つデモをお見せします。
API 管理とサービス メッシュでマイクロサービス アーキテクチャを簡素化する方法
ネットワーク オペレーターやサービス オペレーターは、マイクロサービス ベースのアプリケーションにサービス メッシュを追加することで、信頼性、セキュリティ、コンプライアンスを高め、環境の管理に費やす時間を短縮できます。Kubernetes がコンテナ オーケストレーションに役立つのと同様、サービス メッシュはサービス内の複雑なネットワーク機能の標準化に貢献します。サービス メッシュがサービス間トランザクションを詳細に可視化し、認証、認可、暗号化などのセキュリティを簡素化し管理するためです。


さらに組織は、マイクロサービスを API として外部のユーザー(パートナー、デベロッパー、ウェブアプリ、モバイル デバイス、組織内の他のビジネス ユニット)に拡張することもできます。API を使えば、セキュリティ、可視性、コントロールを維持しつつ、外部のパートナーやカスタマーにマイクロ サービスを簡単に拡張できます。ここで外部のユーザーからの API トラフィックを保護するのが、API 管理ソリューションの役目です。ライフサイクル全体向けの API 管理ツールは、デベロッパーにマイクロサービスへのセキュアなアクセスを提供すると同時に、分析機能を使用して API の利用状況を測定するツールにもなります。


Google Cloud は、Anthos Service Mesh を通じてサービス管理機能、Apigee を通じて API 管理機能を提供しています。そしてこの 2 つは緊密に統合されています。2 つのソリューションの連携をアーキテクチャ図でご紹介しましょう。


現実的な例として、クラウドネイティブのテクノロジーを使いながら、モノリシック アプリケーションをマイクロサービスに分割してモダナイズしたい小売業者があるとします。


このデモ アプリケーションでは、Apigee、GKE、Anthos Service Mesh を併用し、既存の Google Cloud Boutique Shop マイクロサービスのデモを拡張することで、Apigee を利用して内部の gRPC サービス(メッシュ内)を RESTful API として外部のユーザーに公開する方法をご紹介します。


デモでは、ユーザーがすべてのコンポーネントを Google Cloud にデプロイし、Apigee X に加えて GKE と Anthos Service Mesh を使用していることを想定しています。GitHub リポジトリに記載された手順に沿って操作してください。
組み合わせればもっと便利: API 管理とサービス メッシュ
API とマイクロサービスは、どちらもアプリケーションのモダナイゼーションに欠かせません。IT チームは、API 管理ソリューションとサービス メッシュ ソリューションの併用により、マイクロサービスを標準化し、API のライフサイクル全体の管理とパフォーマンス分析を通じて業務を可視化できます。
また、組織は、Google Cloud の Apigee と Anthos Service Mesh を併用することで、マイクロサービスの複雑さを軽減して利用を促進すると同時に、内部だけでなく外部のデベロッパーにも安全にサービスを拡張できます。
アプリケーションのモダナイゼーションの取り組みのどの段階にあっても、Google Cloud がお役に立ちます。サービス管理と API 管理の両方をデプロイするメリットについて詳しくは、こちらのホワイトペーパーをご覧ください。
Apigee の利用を開始するには、Google Cloud コンソールに移動するか、またはこちらから無料版を試用いただけます。
- Apigee プロダクト マーケティング マネージャー Ruslan Mursalzade