システム運用の新しい方法論。既存システムを修正・変更するとき、インフラまで新たに作り直してしまう。仮想化技術やクラウドサービスの普及で注目を集めるようになった。


 既存システムに新機能を追加するとき、システム開発者は新たなアプリケーションを作り、それを既存システムのインフラに再配置します。ここでいうインフラとは、サーバーやネットワーク、ストレージ、OS、ミドルウエアといった、アプリケーション部分を除くシステム基盤全体を指します。インフラ部分は変えずに“使い回す”ことは、これまでのシステム運用の一般的な考え方でした。

手法:インフラは“使い捨て”

 ところがインフラを使い回すと、システムを再配置した後に動作が不安定になることがあります。原因は、再配置前に動作を検証する「テスト環境」と既存システムが動く「本番環境」のインフラに、わずかな違いが生じていることです。

 本番環境の構築手順書を見ながらテスト環境を構築すれば、理論上は全く同じ環境を用意できます。けれども、運用が始まるとOSやミドルウエアの更新、ライブラリーの追加、ネットワーク環境の変更など、インフラには様々な修正が加わります。こうした日々の運用で加えられた作業内容は、構築手順書に反映されていないことが多いのです。

 すると、トラブルの原因を特定しづらくなるばかりか、新システムを以前の状態に戻すことさえ困難になります。そこで最近注目を集めている運用手法が「イミュータブルインフラストラクチャー(Immutable Infrastructure)」です。