Infrastructure as Code (IaC) は、繰り返し可能な構成ファイルを使用して CI/CD 開発のための一貫したデプロイメント環境を生成する、IT システム インフラストラクチャを管理するアプローチです。
コードとしてのインフラストラクチャとは、ハードウェア、仮想リソース、プラットフォーム、コンテナ システム、サービス、トポロジなどのインフラストラクチャを、手動構成や従来の構成ツールの使用ではなく、宣言型またはスクリプト化された定義 (コード) を通じてプロビジョニングおよび管理することを指します。 IaC は、構成、ポリシー、プロファイル、スクリプト、テンプレートを、それらが展開されるハードウェアまたはソフトウェアから分離し、コードと同様に保存、共有、修正、適用できるようにします。
クラウド インフラストラクチャの普及とともに成長したこのアプローチは、DevOps の考え方から生まれたもので、開発者がアプリのソース コードに使用するのと同じ種類のバージョン管理と繰り返し性をインフラストラクチャのオーケストレーションに適用します。 IaC アプローチは、適用されるたびに同じインフラストラクチャ環境を作成することで、継続的な統合、配信、およびデプロイメントをサポートします。
インフラストラクチャをコードのように扱うことができるため、インフラストラクチャ管理に自動化、可視性、効率性、スケーラビリティの利点がもたらされ、手作業の労力が減り、人為的エラーやセキュリティの脆弱性のリスクが軽減され、アプリケーションをより迅速かつ確実に導入できるようになります。 構成はシステムから分離されているため、他の同様のシステムに簡単に展開できます。 このようにして、データ センターからクラウドへ、またはあるクラウドから別のクラウドへの移行の課題が軽減されます。
IaC は、サンドボックス、テスト、本番環境がすべて同じ宣言型コードまたはスクリプトで構成されているため、それらの環境が同一であり、長期間にわたって一貫性が維持されることを保証することで、アジャイル開発と CI/CD 戦略もサポートします。
サーバー、ロード バランサー、仮想マシン、およびその他のデータ センターまたはクラウド リソースの IaC 構成は、命令を指定する命令型アプローチ (結果を詳細に指定しない) または目的の構成結果を指定する宣言型アプローチ (そこに到達する方法を詳細に指定しない、既存のワークフローとテンプレートに基づくことができる) のいずれかによって実行できます。 その違いは、サンドイッチを頼んだときに、サンドイッチを作る人がどの手順をどの順番で実行すればよいかを知っていると信頼すること(宣言的)と、サンドイッチになるかどうかは必ずしも言わずに、サンドイッチを作るために必要なすべての手順を指定すること(命令的)に似ています。
宣言型または命令型のどちらのアプローチを使用する場合でも、IaC はプロビジョニングとインフラストラクチャ管理を自動化します。
F5 BIG-IP プラットフォームは、 Terraformや Ansible などの IaC 構成およびバージョン管理ツール用のプラグインまたは F5 Application Services 3 (AS3) 拡張機能を使用して「コードとして」扱うことができます。
F5 Automation Toolchain には、 AS3 拡張機能と F5 Declarative Onboarding (DO) 拡張機能が組み込まれています。 AS3 は、BIG-IP システム上で L4~L7 アプリケーション サービスを構成するための、JSON 宣言に基づく柔軟でオーバーヘッドの少ないメカニズムです。 DO 拡張機能により、BIG-IP 製品の宣言型 L-L3 オンボーディングが可能になります。