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

第13回“MongoDBに積極的に取り組むエンジニアのホープ”――Ameba事業本部 プラットフォームディビジョン 宍戸展志

SNS(Social Networking Service)の新たな形として、サイバーエージェントはiPhone向けアプリ「Ameba tappie」を2011年4月27日にリリースしました。iPhoneを使って最大50人までの親しい友人限定でつぶやきや写真を共有できるサービスです。⁠本当の友達だから話せること」を気軽に投稿できるSNSとして、App Storeから無料の専用アプリをダウンロードして利用することができます。

宍戸展志氏
宍戸展志氏

この「Ameba tappie」の開発に携わった一人が、アメーバ事業本部プラットフォームディビジョンの宍戸展志(ひろむね)氏です。⁠Ameba tappie」の開発秘話やサイバーエージェントの魅力などについてお話を伺いました。

新サービスのバックエンドにMongoDBを採用

―― 現在担当されているサービスを教えてください。

iPhone向けアプリ『Ameba tappie』の開発を担当しています。具体的にはサーバサイド側で、基盤部分のロジックを作ったり、iPhoneアプリが利用するAPIの設計を担当しました。

―― どういうきっかけで、「Ameba tappie」の開発に携わることになったのでしょうか。

もともとAmebaルームやプロフィールの担当だったのですが、保守や運用といった仕事が多くコードを書く量が少なかったんです。アプリケーションのエンジニアとして働いていきたいと考えていたので、もうちょっとコードを書いてスキルを磨きたい、これまでの経験を活かして新しいものを作りたいという思いから、上司にそういった話をしていました。それで2010年の夏頃に、⁠新しいサービスを立ち上げるのでやってみないか』と声をかけてもらいました。そのサービスというのが『Ameba tappie』でした。

―― Amebaルームやプロフィールを担当されていたときに、勉強になったことがあれば教えてください。

負荷改善を日々続けていく中で、既存のハードウェアリソースでどれだけ負荷を下げて運用するかについてさまざまな調査を行ったり、ほかの既存サービスと比べたりと、かなり勉強になりました。また、障害が発生した場合にはできる限りその対応にも携わりました。この負荷改善と障害対応で、どこがボトルネックになっているのか、何が問題なのかということを考える力を付けられたことは、エンジニアとしてのスキルアップにつながったと考えています。

―― 「Ameba tappie」のシステム面での特徴はどういったところにあるのでしょうか?

親しい友人に限定して、つぶやきや写真を共有するというのが『Ameba tappie』のコンセプトになっているので、それを実現するために細かく認証を行っている点ですね。たとえば誰かのプロフィールを見ようとしたとき、そのユーザが見ることができるプロフィールか否かを逐次チェックしています。このバックエンドのシステムに、ドキュメント指向データベースであるMongoDBを利用しているのも特徴的な部分です。

―― MongoDBを選択した理由は何ですか?

単純に技術的に興味があったことと、将来的にスケールアウトすることを考えた際、MongoDBがデータを分割するシャーディングのしくみを持っていることが魅力でした。さらに、すでに『Ameba Pico』というサービスでMongoDBを利用していて、その運用実績などもチェックしたうえで、最終的に利用することになりました。ただ、実際に使い始めるとトラブルもありました。まだまだMongoDBについて勉強すべきことは多いと感じています。今回は初めて実際の運用で使う機会だったので、今後はノウハウを蓄積していけるといいですね。

ドキュメント指向データベースや分散KVSは大きな話題となっていますが、一方でまだまだノウハウは蓄積されているとは言い難いのが現状です。ただ、そこで尻込みするのではなく、新しい技術へ積極的にチャレンジすることが「サイバーエージェントらしさ」の一つになっているように思えます。

続けて、サイバーエージェントで働く魅力や将来について語ってもらいました。

アイデアを活かす“幅”が持てる環境

―― エンジニアとして、サイバーエージェントで働く魅力というのはどういったところにあるのでしょうか?

サイバーエージェントでエンジニアをやってよかったと思うのは、誰かから形を提示されてそれを作るのではなく、自分で考えて開発していくというところですね。アイデアだけの状態から、自分自身で考えてサービスに落とし込んでいく必要があります。そういった幅を持って仕事に取り組めることが、私にとっての大きな魅力です。

―― スキルアップなどの目的で取り組まれていることはありますか?

社内で同期が勉強会をよくやっているので、それには積極的に参加しています。あと、先日参加した社外のMongoDB勉強会にて発表の場をいただき、MongoDBを実際に利用し、検証した結果などを講演させていただきました。開発時に困ったことなども紹介したのですが、それに対して『こうすると対応できる』といった具体的なアドバイスをいただける場面もあり、外に出てさまざまなエンジニアとコミュニケーションを図ることのメリットは大きいと改めて感じました。

―― 最後に、将来に向けてやっていきたいことなどがあれば教えてください。

自分が作ったものでユーザに楽しんでもらいたいと考えているので、引き続きコンシューマ向けのサービスを作るエンジニアでありたいと思います。将来的にはマネジメントもやりつつということになるかもしれませんが、あまりこだわらずに何でもやっていきたいですね。

勉強会などへ参加するだけでなく、自分からも情報を発信することで新たなコミュニケーションが生まれ、そこからさまざまなことを学ぶことができるという宍戸氏のお話は、エンジニアの方々にとって大いに参考になるのではないでしょうか。

また、こうした活動に積極的に取り組めるほか、自由度が高く自分で考えて開発を進められるサイバーエージェントは、エンジニアとしてスキルアップしたい人にとって魅力的な職場だと言えそうです。

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

おすすめ記事

記事・ニュース一覧