近年、「Immutable Infrastructure」と呼ばれる新しいWebアーキテクチャが大きな注目を集めている。マイナビが9月12日(金)にパレスサイドビル(東京・竹橋)で開催する「マイナビニュースITサミット - ビッグデータ活用を支えるHadoopセミナー」において、「Immutable Infrastructure とこれからのWebシステム(仮)」と題した特別講演を行うKAIZEN platform Inc.のシニアテクノロジーアドバイザー 伊藤直也氏は、この概念によって、より早く、より安定したICTシステムの提供が可能になると強調する。
より柔軟に、より迅速に "不変なインフラ" の構築を実現する
Immutable Infrastructureとは、『情熱プログラマー ソフトウェア開発者の幸せな生き方』(オーム社刊)の著者としても知られる世界的なプログラマー、Chad Fowler氏が自身のブログで言及したことで広く使われるようになった言葉だ。その名の通り、"不変な(Immutable)インフラ" としてサーバに変更を加えず運用するというスタイルを指す。
「同じ概念を表す言葉として、『Disposable Components(廃棄可能なコンポーネント)』という表現もあり、こちらの方が具体的にイメージしやすいかもしれません。いまやサーバはクラウド上にオンデマンドで立ち上げられる時代です。サーバをアップグレードする際にも、従来の内容を変更して上書きするのではなく、新規にサーバを立ち上げて切り替える方が、堅牢性の高いインフラを素早く提供することができます。Immutable Infrastructureはこうした環境を前提とした概念なのです」と伊藤氏は説明する。
Immutable Infrastructureを前提としたシステムを構築することで、さまざまなメリットが考えられるという。例えば500台のサーバで動くシステムをアップグレードする際にも、Immutable Infrastructureなら500台のサーバを新たに立ち上げ、トラフィックを切り替えるだけで新しい環境に移行できる。この方法なら、問題が生じた時に古いシステムへすぐに切り替えることも容易だ。
Dockerが注目されている理由 - クラウドはVM型からコンテナ型へ
Immutable Infrastructureは、実現するためのすべてのソフトウェアが揃っているわけではない。現在のところ、「Immutable Infrastructureの考え方に、Webシステムを寄せていこうと試行錯誤している段階」と伊藤氏は言う。近年、話題となっている「Docker」も、Immutable Infrastructureを実現するためのコアコンポーネントの一つだ。コンテナ型仮想化実装のDockerは、コンテナにアプリケーションをパッケージして、そのままデプロイすることができる。
「最近、AmazonやGoogleがこぞって『Dockerを自分たちのクラウドプラットフォームでサポートしました』と喧伝しています。コンテナ型の仮想化基盤が次の世代のクラウドアーキテクチャになるとわかっているため、いち早くそれをアピールしているのです」と伊藤氏は語り、今はWebシステムにおけるアーキテクチャ変遷の節目と指摘する。
「ひと昔前のシステムはオンプレミス環境で、物理サーバを仮想化もせずに運用していました。仮想化技術ができたことで、サーバをVMベースで運用できるようになります。さらにクラウドが普及してくると、物理サーバも不要になり、AWS(Amazon Web Services)などのクラウド側でVMベースの仮想化をすればいい。しかしVMは起動に時間がかかるなどの欠点があります。そこで、コンテナベースでやればいいというのが、近年のWebアーキテクチャのトレンドです。まさにこれからVMベースのクラウドからコンテナベースのクラウドに切り替わる、その境目に我々はいま立っているのです」
伊藤氏はマイナビが9月12日(金)に東京都内で開催する、企業のHadoop活用をテーマとしたイベント「マイナビニュースITサミット - ビッグデータ活用を支えるHadoopセミナー」で、Immutable Infrastructureをテーマとした特別講演を行う予定だ。Immutable Infrastructureは、果たしてWebシステムのあり方をどう変えていくのか。第一線で活躍するトップエンジニアの講演は、技術者のみならず、マネジメント層やシステム部門にとっても有益な提言となるだろう。