狠狠撸
Submit Search
AWS クックパッドの運用事例
?
70 likes
?
12,233 views
S
Satoshi Takada
1 of 52
Download now
Downloaded 150 times
More Related Content
AWS クックパッドの運用事例
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 完全移行完了
20.
サーバ构成
21.
Reverse Proxy
Apache App Nginx + Unicorn Slave DB MySQL
22.
[PR] ? ウェブオペレーション by
@hmsk ? 18章 日本の料理のインフラ ? WEB+DB PRESS vol.66 by @mirakui ? 200ミリ秒を切るインフラ
23.
APIを活用して サーバ設定の 自動化とバージョン管理 ? git ? Puppet ?
Capistrano
24.
サーバ増设の例
25.
Roleタグでクラスを指定すると Puppet適用対象となる
26.
Capistranoタスクを実行して Puppet Masterのnodeファイルを 生成する
27.
笔耻辫辫别迟を适用する
28.
その他にも いろいろな設定変更を 自動化しています ? Nagios ? Apache ?
Varnish
29.
Puppet Dashboard 使い始めました
30.
こんな時に便利 ? このサーバに最後に適用したのいつ だっけ? ?
間違えてファイルを上書きしちゃった ? 適用失敗しちゃったから見てみてよ ? 適用忘れの監視
31.
摆おまけ闭手元のマシンでも动きます。
32.
インスタンスストレージ (Ephemeral Storage) 使ってます ? インスタンスを落とすと消える領域 ?
別途料金かからない ? LVMでまとめて大容量ディスク ? ログ出力に便利
33.
ディスクは遅いので メモリを有効活用 ? RAMディスク(/dev/shm) ?
スロウクエリが出やすいテーブル ? 集計処理
34.
Availability Zoneを そろえる ? はじめ冗長化のために分けていたが、
パフォーマンスのためにそろえた ? 10msくらい違った
35.
リアルタイムモニタリング ? 漏れなく、でも多すぎず ? エラー時は目立つように ?
見やすい場所にディスプレイを設置 ? VNCでも見れて便利
37.
いつも気にしている数字 ? 同時アクセス数 (pv
/ sec) ? 応答速度 (msec / req) ? HTTP Codeの割合
38.
ほぼ全スレーブDBの Seconds_Behind_Master もモニタリング
39.
リアルタイムモニタリング のメリット ? 俯瞰的な状況が分かりやすい ?
PCとアプリでだけ重くなった ? レプリケーションが全体で遅れた ? 特定のDBがつまった
40.
スケーラビリティ ? スレーブDB ?
/var/lib/mysql以下を 定期的にEBSでバックアップ ? 増やすときはEBSをアタッチするだけ ? キャパシティ計測 ? rps(request/sec)を Muninでグラフ化
41.
何rpsを越えると 応答速度が著しく悪化するか が分かりやすい
42.
冗長性はまだ 試行錯誤中 ? EIP ?
スムーズに切り替わらない ? murakumo (菅原作) ? 検証中
43.
その他にも泥臭い 最適化 ? マスタへ発行されるSELECTを排除 ? スロウクエリをキャッシュ ?
テーブル数を减らす
44.
そんなわけで無事 バレンタインを終えました
45.
別の意味で ハッピー バレンタイン
46.
AWSのおかげで Rails3移行も楽できました ? 2011/11 ? Appサーバを2倍準備して
いつでもロールバックできるようにした ? 力業 ? 何か大きな変更をする時に便利
47.
まとめ
48.
? AWSに移行後初めてのバレンタインデーを 無事終えることができました ?
すぐにサーバ増設ができるので チューニングに集中できました ? 大きな変更をする時に使える 大きな武器になりました
49.
摆笔搁闭最后に
51.
まだ見ぬ問題を 楽しく解決したい エンジニアを お待ちしています。
52.
ご静聴ありがとうございました
Download