- 株式会社アドウェイズ
- チーフシステムエンジニア
- 伊藤 正之
「サービスを落としたら負け!」1人で600台のサーバーを運用できる仮想環境の構築法
今回のソリューション:【VMware/ブイエムウェア】
〜物理サーバーをプライベートクラウドに。サーバー提供にかかる時間を1ヶ月から30分に短縮した「VMware」の使い方〜
インターネット広告事業等を展開する株式会社アドウェイズでは、ビジネスの成長とグローバル化に対応するIT基盤の実現のため、プライベートクラウドの構築に踏み切った。活用したのはVMwareが提供する仮想化技術。結果として物理サーバーをメインで使っていた頃と比較し、サーバー提供にかかる時間が1ヶ月から30分に劇的に短縮されたという。
スピードが命のIT企業にとって、速さと柔軟性、そして安全性までを担保した「攻めのインフラ」を構築することが重要な中、プライベートクラウドを選択した理由とは?現在600台の仮想サーバーをほぼ1人で管理・運用しているという同社インフラエンジニアの伊藤 正之さんに、導入から活用までの詳しいお話を聞いた。
少数精鋭のチームでアドウェイズのインフラを支える
私は、大学生の頃からこの業界で働き始めました。サーバーやネットワーク、アプリケーションなどを裏で支える仕組みにずっと携わっています。今までに様々な規模や業種の企業でインフラエンジニアとして働いてきて、2012年にご縁があってアドウェイズに入社しました。
現在、弊社のインフラは非常に少人数のチームで担当しています。大企業だと社内環境やサービス、サーバーやネットワーク等でチームが分かれている事が多いと思うのですが、弊社にはそういった分担はなく、インフラに関わる事は全てこのチームで担っています。今のところ仮想基盤はほとんど私が担当しているものの、基本的に誰が何の担当ということは決まっておらず、全員が全てできるようにしています。
物理サーバーではビジネスのスピードに追いつかない!
現在、弊社のインフラとしては物理サーバーやAWSと併用する形で、VMwareの製品を使ったプライベートクラウドを構築しています。仮想化技術を用いて、自社でサーバー環境を構築・管理・運用している形です。仮想化に踏み切ったきっかけは大きく2点ありました。
ひとつは、弊社の新規事業の立ち上がるスピードが非常に速く、新規サービスが次々とリリースされる中でインフラがボトルネックになっていたことです。2012年の8月には月間で約50台の物理サーバーを構築するような状態でした。全てオンプレミスで物理サーバーを購入していたので、納品するまでに1ヶ月はかかっていたのです。もしアクセスが爆発して処理が捌ききれないということになった時に「サーバー準備のために1ヶ月待ってください」というのは、ビジネスチャンスを逃してしまう可能性がありますよね。
もうひとつは、代表の岡村とランチをしたときに、「サーバー、フルパワー使ってないよね。もったいないよね」という話をされまして。確かにその通りだと思いました。でもそれじゃ悔しいので、持っているハードウェアリソースの性能をフルに使うことを考え始めて、それでVMwareの製品を使って仮想化をしましょうと提案しました。
VMware以外にも選択肢はありましたが、サポートや実績だけでなく、実際のベンチマークでも他製品に比べてディスクI/Oが6倍程度速かった事などから、最終的にVMwareに決定しました。最初はしばらくテスト環境で使っていたのですが、私が入社して1年経った2013年に、本格的に商用環境で仮想化するというプロジェクトが始まりました。
VMwareの仮想化技術を使用し、プライベートクラウドを構築
仮想化技術を用いた弊社のプライベートクラウドには、VMwareのvCloud Suiteという製品を使用しています。構築にはVMware社の設計導入支援を受けながら、実際のインストールや構築は私が担当しました。設計にかけたのは数ヶ月、実際に作ったのは2週間ほどだったと思います。
システムの移行はP2Vも併用して非常に短期間で行う事が出来ました。データセンターの引越しもあったので1年半ほど掛けたものの、仮想化したおかげでサービスを止める事無く引越しする事が出来ました。
サーバー600台のプライベートクラウドをメインとしたインフラ環境
現在、弊社では仮想化ファーストで考えていて、国内だとほとんどのサービスが社内に構築したデータセンターにある仮想基盤の上に載っています。仮想基盤で運用しているサーバーの数は約600台です。ただ海外で提供しているサービスではAWSを使っている場合もあります。ネットワークのレイテンシの関係等もあり、現地に近い方がレスポンスが良いので、各サービスの提供地域に近いリージョンを使用しています。
用途的にメモリを大量に積んでいたり、非常に高い性能を必要とするデータベースのようなものには、物理サーバーで対応する事もあります。仮想化できないことはないですが、CPUやIOスケジューラの観点等から、このような場合には無理に仮想化せず、物理サーバーで性能を重視する方針でもあります。
仮想化により、サーバー提供にかかる時間が1ヶ月から30分に!
仮想化したことでの最大のメリットは、スピードです。以前はサーバー提供に1ヶ月ほどかかっていたのが、今では30分になりました。次にコストです。サービスが増えたのにも関わらず、データセンターのラック本数が半分以下になりました。ラックだけでなくそこに搭載するスイッチ等の周辺機器も減り、データセンターのコストをグッと下げる事が出来ました。
仮想化すると、サーバーのメモリやCPUが足りなくなった時にマウスひとつでサーバーを稼働させたまま追加することができます。いちいち電源を落として、開けて、増設して、ということをする必要がないのです。例えば、とあるアプリケーションが予想以上のヒットをしたことがありました。アクセスがものすごくて、サーバーを複製して構築する間に既存サーバーを稼働させたままCPUやメモリを増設する事で時間を稼いで、サービスを落とすことなく乗り切れました。最終的にはシステム全体で使用するCPUの数が1日で30倍になりましたが、オンプレミスでやっていたら対応するのは無理でしたね。我々のチームのミッションとして「インフラでサービスを落とさない」ということが非常に重要だと考えていて、落としたら負けだと思っています。せっかくアクセスして頂いたお客様に迷惑がかかってしまうのは申し訳ないですから。
ハードとOSの間に仮想というレイヤーを挟んでいるので、物理サーバーよりレスポンスは遅くなるのではないかという懸念の声もありましたが、現在では全く遜色のないレベルで稼働しています。むしろ仮想化した事による可用性などのメリットの方がはるかに大きく感じます。
今後も「お客様にサービスの先で何ができるか」を考えていく
弊社では多くのサービスを展開していますが、仮想基盤は共通なので、社内の様々なメンバーとコミュニケーションをとっています。例えば週に1度、サーバーエンジニアとインフラエンジニアが集まってインフラに関する課題を共有したり相談する会議を行っています。このようにコミュニケーションをとることで、know howだけでなく、know whoを知り、自分の知識や経験以上のものを得る事ができます。
情報システム部門は基本的に直接お客様と接点がないというか、利益をあまり生み出さないと思われがちですが、私たちはお客様にサービスの先で何ができるかということを考えていきたいと思っています。きちんと利用してくれるお客さんを見て、仕事をしていくということですね。「絶対にサービスを落とさない」ということもまさにそういった考え方です。今後もインフラ側から、お客様に提供できる価値を考えていきたいですね。