あけましておめでとうございます。バズワード評論家 横田でございます。(恐らく)皆様1月6日から出社ですね。お仕事がんばりましょう。
というわけで今年のインフラ業界のバズワードトレンドをまとめてみました。年始の仕事前にどうぞ
《Blue-Green DeploymentとImmutable Infrastructure》
今年のインフラ業界の一番のトレンドは「Blue-Green Deployment」と「Immutable Infrastructure」となる気がしています。今までは、サーバの設定を変更する時は、運用中のサーバを変更していましたが、「Blue-Green Deployment」と「Immutable Infrastructure」の考え方は、運用中のサーバの変更するのではなく、新しくサーバ群を用意し、本番環境をそちらに切り替えるという手法を取っております。
手法自体は「Blue-Green Deployment」と「Immutable Infrastructure」も近いのですが、微妙に二つの考え方は違います。
※私は数時間前まで、この2つの考えがゴッチャになっていましたがヌーラボの中村さん・染田さんの解説記事を読んでスッキリしました。「はてブ」で話題になっている物よりも、こちらの解説記事を読むことをオススメします。
それでは、まずは「Blue-Green Deployment」から見てみましょう。
《Blue-Green Deployment(ぶるーぐりーん でぷろいめんと)》
Blue-Green Deployment(ぶるーぐりーん でぷろいめんと)とは、2つの環境を用意し、可動している環境をルータやロードバランサで切り替える手法です。具体的には、ブルーとグリーンという2つの環境を作成し、本番環境をルータやロードバランサで、どちらかの環境に割り振っておきます。わかりやすくするために、今回は「ブルー」の環境が割り振られているとします。
この時にブルーの環境に手を入れる場合は、直接ブルーのサーバをいじらず、割り振られていない「グリーン」の環境のサーバを変更し、それが終わった後ルータやロードバランサの振り向け先を「グリーン」にすることで環境を更新します。また、さらに「グリーン」を更新する場合は「ブルー」を更新し、再びルータやロードバランサを切り替えます。
この手法を利用することにより「ブルー」と「グリーン」を切り替えた時に問題が発生した場合は、また「ブルー」と「グリーン」を入れ替えるだけで「復旧」できるというメリットがあります。
[関連リンク]
・BlueGreenDeployment
《Immutable Infrastructure(いみゅーたぶる いんふらすとらくちゃー)》
この「Blue-Green Deployment」の考えを一歩進めたのが「Immutable Infrastructure(いみゅーたぶる いんふらすとらくちゃー)」です。Immutable Infrastructureとは「Immutable(不変な)」の意味通り「一度セットアップし運用中のサーバは変更をしない」という運用スタイルです。サーバの設定変更などをしたい場合は、現在運用している環境(サーバ群)を変更せずに、まったく新しい環境を用意し、環境の設定変更が終わったら、ルータやロードバランサ等で新しいサーバ群に切り替えるというものです。
「Blue-Green Deployment」が、新しくサーバの設定をする度に「ブルー」と「グリーン」の環境を入れ替えるのに対し、Immutable Infrastructureは、新しい環境(サーバ群)を立ち上げ切り替えた後は、元々可動していた環境は削除します。従来は、サーバが物理サーバだったため、サーバを用意・購入するだけでも大変だったのですが、近年はクラウドが普及し、即時に仮想サーバが利用でき、さらに「時間単位」でサーバを利用できるようになったため、サーバの即時起動と使い捨てが可能となりました。このため「Immutable Infrastructure」のように、環境(サーバ群)の使い捨てることができるようになったのです。
「Immutable Infrastructure」のメリットして「サーバを設定して変更しないので、長年使い続けて変更を重ねてきたサーバに対し、全てのサーバが同じ状態であることが保証される。」「テストした環境で問題が無ければ、そのまま公開できる。また、公開後に問題があった場合は戻せば良い」といったメリットがあります。
一方デメリットとしては「サーバの使い捨て」をするためにログが残らず、ログを集約化する必要があること、データベースやストレージなどを「使い捨てる」には、まだ難易度が高いということもあります。
ところで「Immutable Infrastructure」ですが非常に言いにくいですよね。先進的な人達には既に「II(あいあい)」という略称が広がっているようです。(私はあまり聞いたことがありませんが…)
[関連リンク]
・Immutable Infrastracture について – apatheia.info
・今さら聞けない Immutable Infrastructure – 昼メシ物語
《Configuration(コンフィギュレーション)とOrchestration(オーケストレーション)》
昨年は「Chef(しぇふ)」の年だったと言っても過言では無いほどChefがナウいヤング先進的な人達にとって話題となりました。ChefやAnsible(あんしぶる/あんしぼぉ)に代表されるConfiguration(こんふぃぎゅれーしょん)ツールは、「構成管理ツール」「サーバ管理ツール」とも呼ばれているもので、サーバの作成やパッケージのインストールなどを自動で行ってくれるツールです。
この「Configurationツール」の他に、最近では個々のサーバの設定だけでなく、大量のサーバの対してアプリケーションをインストールしたり設定を行う「Orchestration(おーけすとれーしょんつーる)」が登場しています。
ここでは主なConfigurationツール、Orchestrationツールをご紹介します。
《Configuration(こんふぃぎゅれーしょん)》
○Chef(しぇふ)
[関連リンク]
・サーバー設定ツール「Chef」の概要と基礎的な使い方 – さくらのナレッジ
○Ansible(あんしぶる/あんしぼぉ)
[関連リンク]
・Ansible でさくらのVPS の環境構築を自動化 〜ハマりポイントとともに〜 – akiyoko blog
・構成管理ツール Ansible について – apatheia.info
《Orchestration(おーけすとれーしょん)》
○Fabric(ふぁぶりっく)
[関連リンク]
・Fabricでサーバーの初期設定を自動化する | 日曜研究室
・Fabricでサーバー管理をDRYにしよう – 倖せの迷う森
○Capistrano(きゃぴすとらーの)
[関連リンク]
・CapistranoとChefでサーバー管理を自動化〜インスタンス作成から15分で実戦投入〜 : ニフティクラウド ユーザーブログ
○Serf(さーふ)
[関連リンク]
・正月休みだし Serf 触ってみた – sonots:blog
今回はここまでです。次回は「Flat-File CMS」について書こうと思います。