5分で構築するものぐさ仮想サーバ(其の1) 社内向け仮想化インフラ Yama

こんにちわ。arashoです。PHPでの開発を主としているディノですがオープンラボにはPHPのエントリが1件もないのが・・・。と最近社内で話題にでました。そこで、今回はPHPの話題を・・・というわけでもなく、今回も前回のエントリに続き、5分で構築するものぐさ仮想サーバのお話です。技術的な話も追々していくつもりではいるのですが、今回も内容がありませんorz。次回まで技術的なお話はとっておくとして、今回はディノが保有する仮想化インフラYamaのお話にしばしお付き合いください。

仮想化といっても、仮想化する部分(OSやストレージ、その他色々)やそれぞれの部分での仮想化を実現する方法など様々な選択肢があります。仮想化インフラYamaはハードウェア~OSレイヤーの仮想化を主として構築しました。ストレージの仮想化に関しては、今回はノータッチです。

仮想化は効率化のため、つまりは無駄をなくすためですが無駄には2種類の無駄があると考えています。
一つはコストの無駄、もう一つはマンパワーの無駄です。

コストの無駄には以下のような事が当てはまるのではないでしょうか。

  • 専用サーバを用意したがサーバによっては使用率が低い
  • 開発だけに使用するために専用サーバを用意する
  • 来月だったら1台サーバが空くのに今月はプロジェクトの都合で空きがないのでサーバ買う

もちろん専用サーバを用意した方がよい局面も存在しますが、そうでない場合も多分にあります。ディノのように受託開発を行っている会社などはサーバ台数は多いがリソースも余りまくっているのではないでしょうか。そういった無駄を省くために仮想化インフラの構築を行っています。

そして、マンパワーの無駄です。

  • ラッキング
  • OSインストール
  • ネットワーク設定
  • セキュリティの確保
  • アカウントの作成
  • 各種サービス用ソフトウェアのインストール(apache、mysql、php、ruby…)
  • 監視用エージェントのインストール、設定

ラッキングは物理サーバでは省略化できませんが、仮想サーバだったら不要です。それ以外の部分も大抵ホスト毎の設定を与えてあげればかなりの自動化はできそうです。
つまり、ハードウェアの仮想化と初期設定で定型化できる部分を抜き出せばかなりの部分を自動化できることになります。そういったわけでYamaではハードウェアの仮想化を行ってハードウェアの仕様効率を上げると共に、マンパワーの無駄を省くように開発されました。
もちろん、仮想化を行いリソースを集約するということはハードウェアトラブルなどの際に大きなダメージとなるリスクもあるのですが、SPOFをできるだけなくす事も意識して開発は行われています。

仮想化インフラの中心となるハードウェア・OSの仮想化にはXenを選びました。Xenというと、過去に発表会が鎌倉にある禅宗寺院の建長寺で行われました。”Xen”と”禅”には思想において通じる面があるという本気なのかネタなのか分からない理由でこの場所を選んだそうなのですが、そんなことを知ってディノ社内でもXenを使用しているサーバやインフラには仏教や日本を想像させるネーミングをしています。例えば社内にある開発サーバにはwabisabiとかzaxenなどと名前が付けられています。そして今回の仮想化インフラにはYamaと名づけました。

ちなみに、Yamaの読みは”ヤマ”ではありません。正しくは”エンマ”と呼びます。そう、あの閻魔様の”エンマ”です。なぜ、名前が閻魔なのか。答えはwikipediaの閻魔のエントリにあります。

そこには

閻魔は地獄と浄土を行き来できるとされる。

とあります。閻魔は二つの世界を行き来できるのです。二つの世界をインフラ環境に置き換えると、物理的(今現在は一般的と言ってもいいでしょう)な環境と仮想的な環境。
そうこじつけて、インフラの名称を勝手に”Yama - 閻魔”と名づけました。地獄と浄土=天国に注目してしまうと何やらそのような形態のプロジェクト(; ;)を想像してしまいますが、そこではなく二つの世界を行き来できる閻魔様に注目しました。閻魔様のように二つの世界を自由に支配したい、そう思ってYamaの構築に取り掛かったのでした。

と、以上内輪ネタでした。またまた中身がなくてすみませんm(._.)m。是非次回にご期待ください。

コメント / トラックバックはありません

コメントする