TOPSoftware > IaC:コードとしてのインフラとは(前)

Software

IaC:コードとしてのインフラとは(前)

2022/01/11

Scott Carey InfoWorld

 クラウドに移行する企業がますます増える中、物理サーバーのプロビジョニングや設定に使われてきた従来の手法は、モダンなソフトウエアの構築とデプロイには合わなくなってきた。

Credit: Putilich / Getty Images
Credit: Putilich / Getty Images

 ソフトウエアで動く現代の複雑な世界では、その土台にあるコンピューティングインフラを直接意識しないことも多い。そのインフラのプロビジョニングや管理にあたって、手作業での構成はもとより、スクリプトすら使わずに、宣言型のコードで対応することは重要な意味を持つ。Webスケールでアプリケーションを稼働するには、その実現が欠かせない。

Infrastructure as Codeの歴史

 システム管理者がスクリプトを使ってインフラを管理する手法は1990年代から続いてきた。一方、インフラをコードとして扱うIaC(Infrastructure as Code)の考え方が出てきたのは、2000年代末になってからだ。DevOpsの先駆者であるAndrew Clay-Shafer氏をはじめ、構成管理ツールChefの共同創業者Adam Jacob氏やPuppetの創業者であるLuke Kanies氏など、エンジニア諸氏がこの言葉を使うようになった。

 分散型アプリケーションの世界では、サーバーを手作業でチューニングする手法は決してスケールせず、スクリプトを使うやり方にも限界があった。クラウドの黎明期にいち早く動いた先駆者たちの多くにとっては、インフラのプロビジョニングを自動化することが、ぜひとも必要だった。

 現在では、こうしたインフラのプロビジョニングにコードを使う方法も一般的になった。ChefやPuppet、SaltStack、Ansibleなど、この分野を牽引したメジャーなツールの功績だ。しかし、テクノロジーの変化は速く、世の中の進化は続いている。以下、IaCの基礎について説明し、モダンなソフトウエア開発手法の基盤となっている理由を見ていく。

↑ページ先頭へ