オリジナルのアバター
その
想定外の事態も楽しみながら運用
- ―― 人気の高い
「アメーバピグ」 ですが、 何人のエンジニアでインフラの運用を行われているのでしょうか。 「サーバの運用や構築を担当しているエンジニアが私を含めて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
エンジニアの生の声を週替わりでお届け中!