# Cookpad 日本最大の料理レシピの検索・投稿サービス「クックパッド」(http://cookpad.com/)を運営する企業。PCサイトに加え、モバイルサイト「モバれぴ」、iPhone/Androidアプリを提供する。2011年1月時点で投稿レシピ92万件、月間ユニークユーザ1000万超(国内5世帯に1世帯が利用)、PC・モバイル合計で月間9億PV超、1日のピーク時は秒間1000リクエスト以上を記録し、iPhoneアプリは週次3万ダウンロード・累計190万ダウンロードに達していた。ユーザの9割以上が女性で、国内30代女性の半分以上が利用する。アプリケーションはすべてRuby on Railsで構築されており、Alexa Rankingsを元にした集計では2010年10月18日時点で世界10番目にトラフィックの大きいRailsサイトとされた。(Source: [[@2011__OReillyJapan__ウェブオペレーション - Chapter 18 日本の料理のインフラ]] §18冒頭) インフラは、リバースプロキシ・アプリケーション・DBの三層構造を基本に、KVS(Memcached・Tokyo Tyrant)によるキャッシュ、Railsレンダリングキャッシュ共有用NFS、画像配信用の外部CDNを組み合わせたシンプルな構成である。三層それぞれの手前に[[Keepalived]](IPVS+VRRP)による冗長化を配置し、単一障害点のない構成を実現していた。実サーバ・仮想サーバ合わせておよそ200台を、レンタルしたデータセンタのハウジングラックで運用し、サーバの自動プロビジョニングにはKickstartと[[Puppet]]を用いる。監視にはNagios・Munin・Seleniumに加え、独自開発のRailsベースの管理ツールを使用する。リバースプロキシベースの平均レスポンスタイム200msec以下という基準を全社的な指標とし、オフィス中央の常設ディスプレイで5秒単位に監視する体制を敷いていた。当時、インフラ担当3名と新環境設計担当2名の計5名でこの規模を運用していた。(Source: 同 §18.1-§18.3) 設定ファイル・監視定義ファイルはGitで版管理し、Capistranoによるデプロイパイプラインを通じてのみ適用する。社内情報共有には独自ブログツールとカスタマイズしたRedmine、リアルタイムのやり取りにはSkypeグループチャットを用いていた(IRCではなく非エンジニアスタッフも参加しやすいSkypeを選択)。インフラエンジニアがアプリケーション開発(特にActive Recordのオーバーライドや、[[Apache Cassandra]]をMySQL同様に扱うプラグイン開発)にも関与する文化を持つ一方、当時唯一の課題としてアプリケーション開発チームとインフラチーム間の情報共有の難しさが挙げられていた。(Source: 同 §18.4-§18.7) ## 関連 - 本ソース: [[@2011__OReillyJapan__ウェブオペレーション - Chapter 18 日本の料理のインフラ]] - 実体: [[濱崎 健吾]](本書執筆当時の同社インフラエンジニア) / [[Keepalived]] / [[Puppet]] / [[Apache Cassandra]] / [[MySQL]] / [[memcached]] - 書籍: [[ウェブオペレーション ―サイト運用管理の実践テクニック]] ## 出典 - [[@2011__OReillyJapan__ウェブオペレーション - Chapter 18 日本の料理のインフラ]] §18冒頭, §18.1-§18.7