パソナテック「Devcon 2011 Vol.2」レポート

#3エンジニア必見!nanapiをささえるシステムのレシピ─ロケットスタート和田修一氏

オフィスの課題を解決するライフレシピ共有サイト「nanapi」をテーマに、ロケットスタートのCTOである和田修一氏のセッションの模様をお伝えします。

ロケットスタート CTO 和田修一氏
ロケットスタート CTO 和田修一氏

「エンジニア必見! nanapiをささえる、システムのレシピ。」の紹介に先立ち、和田氏は自身の経歴を紹介。2005年に大学の経済学部を卒業し、新卒で楽天に入社しました。就職してから技術を覚えてエンジニアになりインフラを担当、2007年には国際事業の立ち上げも担当したといいます。2009年に楽天を退社、ロケットスタートのCTOに就任したという経歴を持ちます。

さまざまな工夫でシステムをチューニング、安定稼働を実現

ロケットスタートでは、2009年9月にライフレシピ共有サイト「nanapi」を立ち上げました。当時の同社は普通のマンションの一室を使用しており、⁠窓を閉めているのにハエが多い」⁠クモをよく見かける」⁠オフィスが臭い」といった問題があり、そういった問題を解決するための情報が体系化されていないことから、HowToを共有することを目的に「nanapi」を立ち上げたといいます。

「nanapi」は月間1500~2000万のPVがあり、マーケティングや広告、記事配信によるビジネスモデル。さらに2010年8月にはライター向けの「nanapiワークス」をオープンし、こちらは記事をアライアンス先メディアにAPIで配信するというビジネスモデルとなっています。

「nanapi」へのアクセスはSNS、検索、ニュース記事からのリンクが主なもので、同社ではアクセスが集中する記事ページとトップページは速さを重視してPHPのみで構築し、それ以外の特集ページや検索機能、会員機能、投稿機能などはCakePHPで構築することで負荷を分散しています。なお、コメント部分はFacebookのプラグインを使用しています。

また、Apacheのalias設定でnanapi.jpというリクエストに対してDocumentRoot直下のアプリが対応するようにして、アプリごとの負荷を減らしています。さらに、フレームワークを使用するとベンチマークが低下するので、システム内のSQLを使わずAPIを経由してデータを取り出すよう工夫しました。こういったパフォーマンスのテストは、Apacheに付属するツールを活用しています。

Webサーバを冗長構成したときのファイル同期には、lsyncdという技術を採用しました。これにより1:nでも同期が可能になります。またNFSではサーバが詰まりやすいため、HTTP経由でファイルをやり取りする仕組みにしています。シリアライズについては複数の形式を検証した結果、パフォーマンスと使いやすさ、高速なことでMessage Packを採用したといいます。

監視体制については、CLALAオンラインのホスティングモニタのほかに、さくらインターネットからも複数のツールで死活監視を行い、アラートをメールで受け取れるようにしています。これによって、外出先でも障害を事前に検知して対策を行えるようにしました。

nanapiの開発部は、nanapiメディア、nanapiワークス、データマイニング、インフラ構築・運用の4つの仕事にわかれており、Webアプリケーションエンジニア、HTMLコーダー、Webディレクターを急募しているとして、セッションを締めくくりました。

おすすめ記事

記事・ニュース一覧