サイバーエージェントを支える技術者たち

第5回“ピンチを楽しめるインフラ職人─新規開発局 システムディベロップメントグループ 桑野章弘

オリジナルのアバター「ピグ」を使ってチャットやゲームを楽しめる、サイバーエージェントの仮想空間サービス「アメーバピグ」が人気を集めています。サービス本来のおもしろさに加え、有名人本人が登場したり、⁠アメーバピグ」内のイベントスペースである「ピグドーム」で人気アイドルがライブイベントを開催したりと、さまざまなイベントが実施されていることも大きな魅力となっています。

桑野章弘氏
桑野章弘氏

その「アメーバピグ」のインフラを担当しているエンジニアが、⁠株)サイバーエージェント 新規開発局 システムディベロップメントグループの桑野章弘氏です。今回はインフラ面からの運用の工夫や注目している技術などについてお話を伺いました。

想定外の事態も楽しみながら運用

―― 人気の高い「アメーバピグ」ですが、何人のエンジニアでインフラの運用を行われているのでしょうか。

「サーバの運用や構築を担当しているエンジニアが私を含めて2名いて、あとはネットワーク担当のエンジニアが1名います。ただ役割分担としてそのようになっていますが、明確なくくりはありません。ネットワークに関わることもあるけれど、メインとしてはサーバの担当という形ですね」

―― 日々の業務はどういった内容なのでしょうか。

「まずサーバの負荷状況を監視しつつ、問題が起こりそうな個所があれば事前に対応していくというのが普段の作業になります。それに付随して、高負荷になっている部分があれば、しくみを変えたり物理的にリソースを増設したりといったことを行っていきます。この部分は、そのほかのエンジニアと話をして、ソフトウェアを改修したほうがいいのか、それともインフラ側で対応するのかといったところを検討して判断しています」

―― 大規模サービスならではの運用の難しさというのはどのようなところにあるのでしょうか。

「なかなか思ったとおりにサーバが動いてくれないところですね。セオリーとしてはこうすべきというのがあっても、そのとおりにやると運用自体がままならないようなケースもあり、あえてセオリーを無視して運用することがあります。それと、Apacheがボトルネックになっていると思ったら実はネットワークだったといった、想定外の事態が発生するのもやはり大規模サービスならではだと思います。このあたりは楽しさを感じる部分ですね」

―― Webサービスを提供していくうえで、データベースがボトルネックになるといったケースが多いと思いますが、「アメーバピグ」ではどのように対応しているのでしょうか。

「1つはストレージとしてFusion-IOのioDriveを導入したことですね。これまではMySQLをスケールアウトさせながら使っていましたが、ioDriveは非常に高速なのでスケールアウトの台数を大幅に減らすことができました。エンタープライズ向けということですごく高価なデバイスというイメージがありますが、データベース数台分の価格でこれだけの性能があることを考えると、コストパフォーマンスはすごく高いと考えています」

―― 「アメーバピグ」の初期の段階から関わられていたということで、当時と現在で大きく変わった部分はありますか。

「サービス開始当初は自作のサーバなども使っていましたが、最近ではメーカー製のサーバを導入するケースも増えてきたことですね。Webサーバのように簡単にスケールできて、1台に障害が発生しても影響が少ないものであれば自作サーバでも構わないかもしれませんが、影響が大きいものはコストをかけて信頼性を高めたいと考えています。

あと、規模が拡大してからサーバの構築などで省力化を進めるようになりました。最初は人力で対応すればいいという感じだったのですが、さらに規模が拡大していくと、さすがにそれでは対応しきれないと考えています。そこでオンデマンドでリソースを追加できるようなしくみを考えていくという流れになりつつあります」

セオリーをあえて無視するなど、大規模サービスならではの運用の難しさが感じられるお話でしたが、それを楽しんでいるという桑野氏の姿勢が印象的でした。

後半では、これまでのキャリアや注目している技術などについて伺いました。

新規サービスの立ち上げに携われるサイバーエージェントの魅力

―― もともとどういった経緯でインフラエンジニアになられたのでしょうか。

「最初に入った会社でWebサイトの制作を担当していたのですが、その中でサーバも構築してほしいと言われて対応しているうちに、サーバもおもしろいなと思い始めたのがきっかけですね。それでB2C系のサービスを提供している会社のインフラ部門で働いた後、サイバーエージェントに転職しました。

当初は現在よりも規模が小さかったのですが、提供しているサービスがどんどん伸びていく様子を見ているのはすごく楽しかったです。当然、利用者数が増えると問題がいろいろと発生するのですが、それを解決するのもおもしろかったです。そのあたりを経験できたというだけでも、サイバーエージェントに転職してよかったと思う部分です。あと新しいサービスが次々と立ち上がるので、それを一緒に経験できるのもサイバーエージェントの魅力だと思います」

―― 現在注目されている技術にはどういったものがありますか。

「分散key-valueストアや分散ファイルシステムに注目しています。データベース層をスケールアウトさせる際、現状のRDBでの運用だと効率の悪い面があるため、一部にでも分散key-valueストアを使えないかと考えています。

また、分散ファイルシステムはストレージのスケールアウトとして検討したい技術です。一例ですが、⁠アメーバピグ』ではアバターのきせかえをすると1日1回だけアメというアイテムがもらえるため、日付が変わった直後にきせかえが集中する傾向にあります。このときデータベースへのアクセスとストレージへの書き込みが大量に発生するので、これらの技術で負荷の分散が行えるのではないかと考えています」

―― 最後に、こういったインフラエンジニアになりたいといったイメージがあれば教えてください。

「サイバーエージェントのインフラエンジニアなら桑野だと言われるようになりたいですね。あと、Apacheを使うだけに収まりたくはないので、自分のサービスに合ったソフトウェアを開発できるようなインフラエンジニアになりたいと思います」

大人気のサービスだけにプレッシャーは大きいとのことですが、その一方で想定外の事態でも楽しんで解決に向けて取り組むという桑野氏の姿勢から、インフラエンジニアとしてスキルアップする秘訣が見えてきます。今後も規模を拡大し続けるであろうアメーバピグを、桑野氏たちがどのように支えていくのかに注目したいと思います。

サイバーエージェント公式エンジニアブログ
URL:http://ameblo.jp/principia-ca
エンジニアの生の声を週替わりでお届け中!

おすすめ記事

記事・ニュース一覧