Member-only story
Infrastructure as Code:次なる大きなシフト
はじめに
このブログでは、ソフトウェア・インフラの進化、すなわちプロビジョニング、デリバリー、メンテナンスについて書いています。
もしあなたが最新のDevOpsやSREのプラクティスに興味があるなら、この記事はぜひそんなあなたに読んでほしいです。
Infrastructure as Code (IaC) は、仮想化されたインフラと補助的なサービスを、通常はソースコードリポジトリにホストされている、ほとんどあらゆる言語で表現されたコンフィギュレーションを使って管理できる一般的なパターンである。
ソフトウェア業界は、時々、パラダイムシフトと呼ばれる重要な出来事によって形作られます。ここでは、Infrastructure as Codeを今日の姿にした、そのような出来事をいくつか紹介します。
- 仮想化
- コンテナ化、コンテナ・オーケストレーション
- パブリッククラウドインフラ
- DevOps Culture
インフラストラクチャープロビジョニング:進化
それぞれの変化の波が、どのようにソフトウェアの状況を形成していったかを検証してみましょう。
#1 Virtualization
仮想化の初期には、開発者は長いウォーターフォール型の開発サイクルで、主に要件定義書に基づいてソフトウェアを制作していました。同時に運用チームは、サーバーのラックとスタック、インフラコンポーネントのプロビジョニング、あらゆるもののインストール、コンフィギュレーションなどを行っていました。通常、両チームは、チケットを開き、長い電子メールの連鎖でコミュニケーションを取りながら、バラバラに仕事をすることになります。そんなdargな時代でした。
#2 Agile and beginning of DevOps
次にアジャイルレボリューションが起こり、それに伴いDevOpsの文化が始まりました。開発者はアプリケーションを数ページのコンフィギュレーションマニュアルと一緒に運用チームに送るようになりました。さらに進歩したチームは、自動化ツールで共同作業を開始します。インフラストラクチャの自動化の初期には、ChefやPuppetのようなツールが非常に人気がありました。しかし、多くの場合、*サイロ化した環境と断片的な責任に悩まされることになります。