オルタナティブ・ブログ > 成迫剛志の『ICT幸福論』 >

”情報通信テクノロジは人々を幸せにする”を信条に、IT業界やアジア・中国を見つめていきます。

クラウドは家畜の群れだ。ペットのようにかわいがるな!

»

僕は昨年秋の香港での OpenStack Summit で始めて聞いた(確か Mirantis のセッションで聞いた)のだが、最近、クラウド(特に Public Cloud)とオンプレミスとの違いを説明するのに 家畜とペット(Cattle v.s. Pets)が使われることが多くなってきた。

クラウド以前(Before Cloud)は、システム障害が起きないように企業は高価なサーバー購入にあたって慎重に機種選定を行い、また2倍の費用をかけて機器の二重化構成とした。サーバー1台づつには名前をつけ、1台づつを大切に扱っていた。インフラ担当者が24時間365日体制でシステムの監視と管理を行い、万一サーバー故障が発生したならば、インフラ担当者が出動、障害復旧を図るとともに、故障原因を徹底的に調査し、再発防止策を講じていた。 このように多額な費用と多くの労力=人件費を使って、インフラの高い信頼性を維持・向上させてきた。
まさに【ペット(Pets)】のように。

思い浮かべるとわかりやすい。あなたは愛犬に名前をつけているだろう。雨の日も風の日も労力をかけて散歩につれていく。 高くても、できるだけ美味しいエサ、愛犬がよろこんで食べるエサを与える。バスルームでシャンプーをしてあげるし、定期的にペットショップで高いお金を出してトリミングをしてあげる。普段と少しでも様子が違えば、どこか具合が悪いのではないかと気にして、食べ物を変えたり、外に出さないようにしたりする。ひとたび病気になれば、病院に連れて行く。不幸にも重い病気のときには、ペットショップでの同種の犬の値段よりも高額な治療費を払うことをいとわない。

これに対して、クラウド(Public Cloud および Public Cloud をベースとした VPC: Virtual Private Cloud)は、全く異なる設計思想でつくられている。 クラウドを【家畜の群れ】と見たてる考え方である。仮想サーバー、仮想インスタンスは、ひとつひとつの高信頼性、高稼働率を追求していない。障害でいつ落ちるかわからないだけでなく、急なメンテナンスのためにクラウド事業者都合で急に止めたりする。(AWSユーザーは経験あるでしょう?) そのため、1台ではなく必ず複数の仮想サーバー、仮想インスタンスを使ってアプリケーション層またはデータベース層などで二重化、冗長化をとる必要がある。 1つづつのサーバーを信用しないで、サーバーは落ちることを前提にして、より上位の層で信頼性を担保する設計思想である。 サーバー1台づつに名前などつけないし、ケアもしない。サーバーは1台づつではなく、【群】として認識する。 調子の悪いサーバーがあれば、『なんとか復活させようと試みる』のではなく『落としてしまう』。そして、新しい仮想サーバー、仮想インスタンスを立ち上げる。 ちょうど、羊の家畜の群れの中に病気の羊があれば、他にうつらないように隔離して殺処分してしまい、群れの数が足りなければ新しい羊を買いたすように。 

この【家畜】の考え方は AWS などの Public Cloudだけでなく、OpenStack などのクラウドOSも同様の思想に基づいてつくられている。 従いVMware 等の【サーバーの仮想化】( ≠ クラウド化)のような HyperVisor によるHA機能などはOpenStackでは実装していないし、する気もない。(と思う)エンタープライズシステム、特に企業内の業務のためのパッケージソフトやスクラッチ開発したシステムなどのクラウド化を検討する際には、動かそうとしているアプリケーションシステムが、【家畜の群れ】を使って十分な信頼性、稼働率を保証できるかどうかを慎重に検討することが必要だろう。
さもなければ、酷い目にあうことになるかもしれない。(経験したシステム担当者は少なくないはず)

追記:ちなみに 現行のBit-isle Cloud Vシリーズは、VMware ベースで HA も標準実装、手厚いケアを行っている【ペット型クラウド】です。 適材適所の選択肢のひとつとして好評いただいています。

Comment(0)