• Like
AWS クックパッドの運用事例
Upcoming SlideShare
Loading in...5
×

AWS クックパッドの運用事例

  • 15,109 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Hello,
    How are you doing and how is life down there in your Country? I guess you are having good time. My name is Cordelia . I would love to be communicating with you for a mutual and well established friendship. I am really consumed by your profile, giving me the impression that you will be a type i desire to have as a friend. Pleas i will like you to write me back on my email address(ask4pretycordelia@hotmail.com) so that we can share our photos and experience of life and every other things in common with each other. I will wait to hear from you.

    Take care of yourself.
    Cordelia
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
15,109
On Slideshare
0
From Embeds
0
Number of Embeds
8

Actions

Shares
Downloads
140
Comments
1
Likes
65

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. AWSクックパッドでの 運用事例COOKPAD Inc. / Satoshi Takada
  • 2. About me• 高田悟史 (@satoship)• 前職ではJavaプログラマ• 2008/04 クックパッド株式会社 入社 • フィーチャーフォン用サイト開発 • インフラエンジニアデビュー
  • 3. COOKPAD
  • 4. COOKPAD- Mission
  • 5. 「毎日の料理を楽しみにすることで 心からの笑顔をふやす」
  • 6. インフラグループも同様です
  • 7. 毎日の料理を楽しみにするために「すべてのサービスを常に快適に 使える状態を保ち続ける」
  • 8. 「常に快適に」• 使いたいときに使える • 稼働率を上げる• 快適に使える • サーバサイド応答速度 200ms
  • 9. 「保ち続ける」• ボトルネックはすぐにつぶす• スケーラビリティの確保
  • 10. COOKPAD- Access
  • 11. 昼食前と夕食前0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
  • 12. バレンタインデー4 5 6 7 8 9 10 11 12 1 2 3 4
  • 13. バレンタインデイ前日は年間でもっともアクセス数が多い日
  • 14. 5日前 !
  • 15. 2012/02/13(月)• 今までで最大級のアクセス数• 僕が見た中で一番安定していた • 話題にもあがらなかった• 当日もAppを増やしてた
  • 16. COOKPADではAWSをどう使っているか?
  • 17. 今日のおはなし
  • 18. AWSへのみちのり• 2010/05 検証を開始• 2011/03 本格的に移行準備開始• 2011/08 メインサービス移行• 2011/10 完全移行完了
  • 19. サーバ構成
  • 20. Reverse Proxy Apache App Nginx + Unicorn Slave DB MySQL
  • 21. [PR]• ウェブオペレーション by @hmsk • 18章 日本の料理のインフラ• WEB+DB PRESS vol.66 by @mirakui • 200ミリ秒を切るインフラ
  • 22. APIを活用してサーバ設定の自動化とバージョン管理• git• Puppet• Capistrano
  • 23. サーバ増設の例
  • 24. Roleタグでクラスを指定するとPuppet適用対象となる
  • 25. Capistranoタスクを実行してPuppet Masterのnodeファイルを生成する
  • 26. Puppetを適用する
  • 27. その他にもいろいろな設定変更を自動化しています• Nagios• Apache• Varnish
  • 28. Puppet Dashboard 使い始めました
  • 29. こんな時に便利• このサーバに最後に適用したのいつ だっけ?• 間違えてファイルを上書きしちゃった• 適用失敗しちゃったから見てみてよ• 適用忘れの監視
  • 30. [おまけ]手元のマシンでも動きます。
  • 31. インスタンスストレージ(Ephemeral Storage)使ってます• インスタンスを落とすと消える領域• 別途料金かからない• LVMでまとめて大容量ディスク• ログ出力に便利
  • 32. ディスクは遅いのでメモリを有効活用• RAMディスク(/dev/shm) • スロウクエリが出やすいテーブル • 集計処理
  • 33. Availability Zoneをそろえる• はじめ冗長化のために分けていたが、 パフォーマンスのためにそろえた• 10msくらい違った
  • 34. リアルタイムモニタリング• 漏れなく、でも多すぎず• エラー時は目立つように• 見やすい場所にディスプレイを設置 • VNCでも見れて便利
  • 35. いつも気にしている数字• 同時アクセス数 (pv / sec)• 応答速度 (msec / req)• HTTP Codeの割合
  • 36. ほぼ全スレーブDBのSeconds_Behind_Masterもモニタリング
  • 37. リアルタイムモニタリングのメリット• 俯瞰的な状況が分かりやすい • PCとアプリでだけ重くなった • レプリケーションが全体で遅れた • 特定のDBがつまった
  • 38. スケーラビリティ• スレーブDB • /var/lib/mysql以下を 定期的にEBSでバックアップ • 増やすときはEBSをアタッチするだけ• キャパシティ計測 • rps(request/sec)を Muninでグラフ化
  • 39. 何rpsを越えると応答速度が著しく悪化するかが分かりやすい
  • 40. 冗長性はまだ試行錯誤中• EIP • スムーズに切り替わらない• murakumo (菅原作) • 検証中
  • 41. その他にも泥臭い最適化• マスタへ発行されるSELECTを排除• スロウクエリをキャッシュ• テーブル数を減らす
  • 42. そんなわけで無事バレンタインを終えました
  • 43. 別の意味でハッピーバレンタイン
  • 44. AWSのおかげでRails3移行も楽できました• 2011/11• Appサーバを2倍準備して いつでもロールバックできるようにした • 力業• 何か大きな変更をする時に便利
  • 45. まとめ
  • 46. • AWSに移行後初めてのバレンタインデーを 無事終えることができました• すぐにサーバ増設ができるので チューニングに集中できました• 大きな変更をする時に使える 大きな武器になりました
  • 47. [PR]最後に
  • 48. まだ見ぬ問題を楽しく解決したいエンジニアをお待ちしています。
  • 49. ご静聴ありがとうございました