イミューダブル・インフラストラクチャーとは
イミュータブル(immutable)は「不変」の意味。いったんサーバーを構築すれば(本番環境)、ソフトウェアのバージョンアップやパッチ適用などの煩雑な管理を一切放棄するシステムにすること。つまり「構築したインフラは絶対に変えないこと」がイミュータブル・インフラストラクチャーの考え方である。
サーバーはソフトウェアの変更がよく行われるため、アプリケーションの安定稼働に大きな影響をもたらす。アプリケーションがサーバーのソフトウェアに変更を加えると、サーバー環境が破壊されリスクも生じる。
そこで、イミュータブル・インフラストラクチャーでは、本番環境と開発環境の2系統を準備し、その2系統は同一の能力を持つハードウェア構成をとる。そして、本番環境と開発環境は、負荷分散装置やルーターで切り替えることができるようにしておくのだ。本番環境は不変のままで、開発環境に対しては次々と新しいOS、ミドルウェア、アプリケーションの更新が適用される。開発環境において、ハードウェアからアプリケーションに至るまですべての整合性を満たすことができ、十分な稼働テストののち、本番転用が可能と判断できた時点で、負荷分散装置やルーターを開発環境に切り替えることで、開発環境が本番環境に入れ替わるのである。