エンタープライズ デベロッパー プラットフォームを Google Cloud にデプロイする

Last reviewed 2024-04-19 UTC

企業がコンテナベースのアプリケーションの開発とデプロイに移行した場合、分散したチームを別々のエンジニアリング ワークフローで管理する方法を学ぶ必要があります。大企業がコンテナベースのアプリケーションへの移行を完了できるように、Google はエンタープライズ アプリケーションのブループリントを作成しました。このブループリントは、社内デベロッパー プラットフォームをデプロイします。これにより、クラウド プラットフォーム チームは、組織のアプリケーション開発グループがソフトウェアの開発とデリバリーのために使用できるマネージド プラットフォームを提供できます。

エンタープライズ アプリケーションのブループリントには、次のものが含まれます。

  • 一連の Terraform の構成とスクリプトを含む GitHub リポジトリ。Terraform 構成は、複数の開発チームを支援できるデベロッパー プラットフォームを Google Cloud 上に設定します。
  • このブループリントを使用して実装するアーキテクチャ、設計、セキュリティ管理、運用プロセスのガイド(このドキュメント)。

エンタープライズ アプリケーションのブループリントは、エンタープライズ基盤ブループリントとの互換性を確保できるように設計されています。エンタープライズ基盤ブループリントは、エンタープライズ アプリケーションのブループリントが依存する多くの基本レベルのサービス(Cloud Identity など)を提供します。Google Cloud 環境にエンタープライズ アプリケーションのブループリントをサポートするために必要な機能が提供されている場合は、エンタープライズ基盤ブループリントをデプロイせずにエンタープライズ アプリケーションのブループリントをデプロイできます。

このドキュメントはクラウド アーキテクトを対象としており、エンタープライズ アプリケーションのブループリントを使用して Google Cloud に新しいエンタープライズ アプリケーションをデプロイすることを前提としています。ただし、コンテナ化されたエンタープライズ アプリケーションが Google Cloud にすでにデプロイされている場合は、このリファレンス アーキテクチャを段階的に導入できます。

また、このドキュメントは、Service、Namespace、Cluster などの Kubernetes コンポーネントを理解していることを前提としています。Kubernetes と Google Cloud での実装の背景情報については、Google Kubernetes Engine(GKE)Enterprise エディションの技術概要をご覧ください。

エンタープライズ アプリケーションのブループリントの概要

ほとんどの企業では、すべてのデベロッパーが使用する共有インフラストラクチャがデベロッパー プラットフォームによって管理されています。デベロッパー プラットフォームは、各アプリケーション コンポーネントのビルド パイプライン、デプロイ パイプライン、ランタイム環境をオンデマンドで作成します。デベロッパー チームとアプリケーション オペレーターは、担当するアプリケーション コンポーネントにのみアクセスできます。このプラットフォームは、可用性が高く安全なアプリケーションのデプロイをサポートするように設計されています。

このブループリントは、エンタープライズ基盤ブループリント(または同等のもの)にデベロッパー プラットフォームをデプロイします。デベロッパー プラットフォームには、Google Kubernetes Engine(GKE)クラスタ、GKE フリート、アプリケーション ファクトリー、インフラストラクチャ パイプライン、プラットフォーム モニタリング、プラットフォーム ロギングなどのリソースが含まれています。また、デベロッパー プラットフォームでは、ソリューションを管理するユーザー(デベロッパー プラットフォーム管理者とアプリケーション デベロッパー)も設定されます。

このブループリントにより、組織はさまざまなアプリケーション開発チーム(テナントと呼ばれます)にプラットフォームへのアクセスを提供できます。テナントとは、一連のリソースに対して共通の所有権を持つユーザーのグループです。テナントは、プラットフォーム上でコンテナベースのサービスとして実行される 1 つ以上のアプリケーションを所有します。デベロッパー プラットフォーム上のアプリケーションは、ソースコードと構成のバンドルです。各アプリケーションは、専用の CI / CD パイプラインによってビルドされ、デプロイされます。テナントとアプリケーションは、実行時と CI / CD パイプラインで互いに分離されます。自動化を提供するブループリントの部分はすべてのテナントで使用され、マルチテナントと呼ばれます。

デベロッパー プラットフォームの使用方法を説明するために、ブループリントには Cymbal Bank というサンプル アプリケーションが用意されています。Cymbal Bank は、GKE で動作するように設計されたマイクロサービス アプリケーションです。このアプリケーションは、障害復旧を可能にするために、アクティブ / アクティブ構成でデプロイされる高可用性アプリケーションをシミュレートすることを目的としています。Cymbal Bank は、複数の独立したデベロッパー チームによってアプリケーションの開発と運用が行われていることを前提としています。

次のステップ