このページでは、 Google Cloudでの Terraform の成熟度モデルについて説明します。このモデルは、Google Cloudでの Terraform の導入状況と習熟度に合わせてベスト プラクティス、推奨事項、学習資料を提供します。
概要
Google Cloud の Terraform には、3 つのユーザー ペルソナ(学習者、ビルダー、オペレーター)があり、成熟度モデルでは 3 つのステージ(導入、構築、スケーリング)が設定されています。
組織がインフラストラクチャ構築のために Google Cloud で Terraform の導入、構築、スケーリングを進めていく際に、プロセスのどの段階においても、適切なガイダンスが得られる学習資料がすぐに利用できるようにしておく必要があります。
現在の状況がどのペルソナに該当するのかを判断し、それに関連するコンテンツを調べることで、自身と組織の成熟度の向上に役立つリソースを見つけることができます。これにより、お客様のユースケースを Google Cloud 上の Terraform で大規模に展開することが可能となります。

導入(学習者)
学習者は、 Google Cloud への導入を始めるペルソナです。 Google Cloud 上で Terraform を使用して、それをユースケースに採用する方法を学習するための独自のガイダンスが必要となります。
学習者は、Bash やスクリプト言語の知識はあるかもしれませんが、インフラストラクチャのプロビジョニングに自動化や CI / CD を採用していません。
構築(ビルダー)
ビルダーは Infrastructure as Code の経験があり、 Google Cloud を使用してプロジェクトを構築しています。
ビルダーは、 Google Cloudの基盤となるインフラストラクチャといくつかのアプリケーションを担当しています。クラウドの利用、特定のユースケース、カスタマイズの拡大を計画し、より多くのチームやアプリケーションのスケーリングとオンボーディングを検討します。
スケール(オペレーター)
オペレーターは Google Cloud の経験があり、Terraform を使用してワークロードのインフラストラクチャを大規模にプロビジョニングします。
クラウドの利用拡大、特定のユースケース、カスタマイズのスケーリングと拡大を実施し、より多くのチームとワークロードをオンボーディングします。オペレーターは、ワークロード チーム向けにポリシーとセルフサービスのワークフローを設定します。
次の場合は、学習者に該当する可能性があります。
- デベロッパー
 - Google Cloud、Infrastructure as Code、Terraform を初めて利用する
 
次の場合は、ビルダーに該当する可能性があります。
- デベロッパー
 - プラットフォーム管理チームの一員
 - クラウドチームの一員
 - SRE
 - Google Cloudと Terraform に精通し、Infrastructure as Code のオペレーション モデルがある
 
次の場合は、オペレーターに該当する可能性があります。
- プラットフォーム管理チームの一員
 - クラウドチームの一員
 - SRE
 - Google Cloudと大規模な Terraform オペレーション モデルの運用経験がある
 
条件
次の表は、各成熟度ステージの基準の一部を示しています。Google Cloud での Terraform の習熟度とユースケースのレベルに最適なものを判断するのに役立ちます。
| 導入 | 構築 | スケール | |
|---|---|---|---|
| 方法 | UI、CLI、サービスとしての Terraform | Infra Manager による Infrastructure as Code | (1)Terraform OSS + カスタム パイプラインまたは(2) Google Cloud上の Terraform Enterprise を介した Infrastructure as Code | 
| 自動化 | なし、または制限あり | 制限あり | あり | 
| 整合性 | なし、または制限あり | 制限あり | あり | 
| 構成 | 非構造化、さまざまな場所に保存 | 構造化、一元的に保存 | 構造化、バージョン管理システムに保存、バージョニングあり | 
| デプロイ | 手動 | CI / CD パイプラインを使用して自動化 | CI / CD パイプラインを使用して自動化 | 
| 状態 | 未保存 | 一元的に保存 | 一元的に保存 | 
| ドリフト | モニタリングなし、または管理されていない | モニタリングされ管理されている | モニタリングされ管理されている | 
| ドキュメント | 維持されていない | 維持されている | よく整備されている | 
| レビューと承認 | 不要 | 必須 | 必須 | 
| Cloud Management Platform とのインテグレーション | 統合されていない | 統合されていない | クラウド管理プラットフォームと統合 | 
| クラウド リソースの範囲 | 制限あり | 広範囲 | 広範囲 | 
| 費用の最適化 | ある程度関心がある | ある程度関心がある | すでに使用 | 
| セキュリティ | どちらでもよい | ある程度関心がある | 非常に関心がある | 
| コンプライアンス | どちらでもよい | ある程度関心がある | 非常に関心がある | 
推奨事項
次の表に、組織の成熟度と Google Cloudで Terraform を使用するユースケースに基づく推奨トピックを示します。
| 導入 | 構築 | スケール | |
|---|---|---|---|
| 発見と学習 | |||
| トレーニングとチュートリアル | 
        
  | 
    ||
| テンプレート/ すぐに使えるリソース  | 
      |||
| デプロイと管理 | |||
| サポート | |||
        
  | 
    |||