Infrastructure as Code
インフラストラクチャーをコード化する思想に基づき、プログラミングにおけるコード自動生成と同様の自動生成がインフラストラクチャーにも導入できる。IaCによってインフラストラクチャーのプロビジョニングはコードにより実行される。ゆえにこのプロビジョニングコード自体を自動生成できれば、ある種のインフラ設計を自動化できる。
API開発ではschemaからフロントエンドコード、サーバースタブを自動生成する技術(c.f. スキーマ駆動開発)が存在する。通常サーバー自体は手動で立ち上げられるかIaC技術を用いてプロビジョニングコードにより自動構成される。しかしスキーマを基にプロビジョニングコードを自動生成できれば、そのまま生成されたコードによってインフラの自動プロビジョニングまでおこなうことが可能である。例えばAmazon Web Services AmplifyではGraphQL schemaを定義することで、schemaにあわせたGraphQL API・バックエンドデータベースのプロビジョニングコード(AWS CloudFormation Templates)を自動生成し、そのままAWS上へデプロイすることが可能である。上記のフロントエンドコード生成も可能であり、これを用いればSchemaを設計し1コマンドでバックエンドサーバー(APIエンドポイント、データベース)とフロントエンドライブラリが利用可能な状態にできる。
この自動生成は、IaC思想に基づいた「プロビジョニングコード」が存在するからこそ可能になった技術である。このようにインフラストラクチャーをコードとして扱うことで様々なソフトウェア開発手法をインフラストラクチャー開発に導入できる。