アプリケーション開発を得意とするエンジニア、
今回は、
一気に50台のサーバを構築! 広告配信を支える技術者魂
- ―― まず、
現在担当されているサービスについてお聞きします。 CAMP
(CyberAgent Marketing Platform) という、 バナー広告や検索連動型広告などの広告効果検証に特化した機能を提供し、 プロモーションにおける高速PDCAを実現させるシステムを構築/ 運用する部署でインフラエンジニアを担当しています。掲載されている膨大な数のキーワードや広告を管理する必要があるため、 運用は難しいですね。 - ―― どういった構成で運用されているのでしょうか?
200台程度の専用サーバを使って運用しています。OSはおおむねCentOSで統一しています。フロントエンドはApacheとlighttpdを動かしているほか、
RDBMSはMySQLを使っています。さらにHadoopを使って分散処理を行っています。 - ―― CAMPの運用が始まったのはいつ頃からなのでしょうか?
約3年前からですね。そのころからHadoopを使った分散処理も利用していました。私が配属された2009年10月は、
ちょうどCAMPがリリースされる直前というタイミングで、 最初はテストを行いました。広告をクリックしたことによって、 それが結果に反映されているか、 コンバージョン率などの数値が正常に変化しているかといったことをチェックしていました。 - ―― サーバを増やす場合は、
どういった流れで作業が行われるのでしょうか? まずサーバの選定から始めます。検討しているサーバをレンタルして、
負荷テストを実施します。性能や安定性を見極める必要があるので、 負荷テストは重要ですね。そのうえで問題ないと判断できたサーバを発注し、 納品されたらデータセンターでラッキングしてOSをインストールする、 という流れです。 - ―― これまでの経験から、
サーバ選びのポイントやコツといったものはありますか? 保証が付くということで、
やはり信頼できるメーカ製を使うということでしょうか。以前は自分たちでカスタマイズしたサーバを使っていたこともありましたが、 やはりCPUなどでトラブルが発生したり、 保証がなかったりするので、 現在はメーカ製を使うというポリシーに落ち着いています。 - ―― サーバを追加するといった場合には、
やはりデータセンターに詰めて作業するという形になるのでしょうか? そうですね。一気に50台を追加するといったこともあるので、
3日連続で作業することもあります。肉体労働なのでなかなか大変ですが、 やりがいはとてもあります。
インターネット広告の大きなメリットとして、
日常の業務でも緊張感
- ―― 普段は日々どういった業務を行われているのでしょうか?
新機能のリリースなどで大規模なインフラを構築する必要がある場合は、
サーバやネットワーク機器の選定やデータセンターの契約などを行います。機器をラッキングして設定した後、 ネットワーク故障試験を行いフェイルオーバー、 フェイルバックが設計どおりに動作し冗長性が保たれているか確認します。システムキャパシティの確保のため、 サーバ追加やアーキテクチャの変更対応、 OSやミドルウェアの検証といった作業もあります。 そのほかに、
普段の運用としてシステム監視があります。障害などを検知すると、 監視システムからメールが送られてくるので、 状況確認をして対応するという流れになります。 - ―― 広告効果測定ツールに不具合があると、
当然売上にも影響が出ますよね。その運用はかなり緊張感があるのではないかと思うのですが。 やはり緊張感はかなりありますね。自分で打ったコマンド1つで大問題が発生するので、
かなり怖いです。ただ同じチームの上司や同僚とフォローや確認をする体制ができているので、 そこはあまり心配していません。 - ―― これまでに大きなトラブルや失敗したというのはありましたか?
一度、
異なるサーバをシャットダウンしてしまったことがありました。バックアップ機があったので問題にはなりませんでしたが、 完全にオペレーションミスでした。ただ、 すべて冗長化しているので、 リカバリーは問題なくできています。 - ―― そうすると、
ハードウェア障害が起きても問題がないということでしょうか? はい、
やはりハードウェアの障害はどうしても起きてしまうことがありますので、 冗長化構成にはかなり気を遣っています。
石川氏は社内インフラの構築にも携わり、
- サイバーエージェント公式エンジニアブログ
- URL:http://
ameblo. jp/ principia-ca
エンジニアの生の声を週替わりでお届け中!