Infrastructure as Code
CCAツールがオープンソースの場合、コミュニティコンテンツとしての重要な側面を持つ。ガートナーがCCAツールの価値は、「オートメーションツールの商業的成熟度とパフォーマンスと同じように、ユーザーコミュニティが提供するコンテンツとサポートに依存している」と述べている。 PuppetやChefのような比較的長期間にわたるベンダーは、独自のコミュニティを作った―ChefはChef Community Repositoryで、PuppetはPuppetForgeである。他のベンダーは、隣接するコミュニティに依存し、PowerShell DSC等の他のIaCフレームワークを活用している。コンテンツ駆動型ではなく、モデル駆動型の新しいベンダーが登場している。このような視覚指向とオブジェクト指向システムは開発者には有用である。さらに、生産指向のDevOpsとコンテンツのスクリプト対モデルを評価する運用担当者の構成要素にとって特に有用となる。IaCツールがモデル駆動型で、オブジェクト指向のものでなければ、市場の発展と変化に伴い、コミュニティ・コンテンツはIaCツールの活用方法にとって重要となる。
Infrastructure as Code(IaC) はコンピューティング・インフラ(プロセス、ベアメタルサーバー、仮想サーバーなど)の構成管理・機械処理可能な定義ファイルの設定・プロビジョニングを自動化するプロセスである。定義されたファイルはバージョン管理システムで保持することもある。従来、手動のプロセスではなくスクリプトや宣言的な定義によって行われていたが、IaCの開発は今では、宣言的なアプローチに焦点が当てられている。
インフラストラクチャの自動化機能を提供し、IaCを利用するツールが多い。大まかに言えば、プログラム的アプローチに基づいてインフラストラクチャを宣言型・命令型で変更・設定するフレームワーク・ツールはすべてIaCと考えることができる。従来は、サーバー(ライフサイクル)の自動化と構成管理ツールを使用してIaCを実現したが、現在、企業はマイクロソフトのPowerShell DSC などのContinuous Configuration Automation – CCA のツール・スタンドアローンIaCフレームワークを利用している。
同じインフラストラクチャで実行されている複数のアプリケーションの全ての相互関係と依存性を考慮し、最終的なターゲット設定が、特定の方法による理由に焦点を当てている。
相互依存(共依存)アプリケーションに影響を与えないように、システムは起こる必要がある何かを処理する前に、目的の状態を決定する。
環境を意識した状態がIaCの次世代である。