SNS
この
新サービスのバックエンドに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
エンジニアの生の声を週替わりでお届け中!