Upgrade to Pro — share decks privately, control downloads, hide ads and more …

現場で使えるSRE / How to Survive as The First SRE

現場で使えるSRE / How to Survive as The First SRE

リリースから1年7ヶ月で1000万ダウンロードを超えるクラシルの成長を1人目のSREとして支えた話
- kurashiruの軌跡
- 信頼性を高める
- SREガイドライン
- 1人目のSRE

Fukao Moto

June 28, 2018
Tweet

More Decks by Fukao Moto

Other Decks in Technology

Transcript

  1. リリースから1年7ヶ月で 1000万DL達成 2016年5月 2018年 全国TVCM開始 リリース 2017年 1000万突破 ダ ウ

    ン ロ l ド 数 レシピ動画数世界一 某TV番組で紹介 Webダウン ここでジョイン
  2. プロダクトライフサイクル 導入期 成長期 成熟期 衰退期 インフラ構築 モニタリング 負荷対策 CI/Pipeline リプレイス

    コスト削減 セキュリティ バックアップ アラート設定 DevOps キャパシティランニング ドキュメンテーション 障害対応 カイゼン ポストモーテム 効率化 join now?
  3. 1 人 目 の S R E と し て

    k u r a s h i r u の 成 長 を ど の よ う に 支 え て き た か ?
  4. 1 人 目 の S R E と し て

    プ ロ ダ ク ト 開 発 の 不 確 実 性 に 技 術 ・ 設 計 面 で ど う 対 処 す る か ?
  5. ス ケ ー ラ ビ リ テ ィ あ と

    は つ い て く る ? と り あ え ず ・ ・ ・
  6. プロダクト 開発 キャパシティプランニング テスト、リリース手順 ポストモーテム、根本原因分析 インシデント対応 モニタリング サービスの信頼性の階層 参考文献:Betsy Beyer他(2017)

    「SRE サイトリライアビリティエンジニアリング Googleの信頼性を支えるエンジニアリングチーム」 (澤田武男ほか訳) オライリージャパン
  7. プロダクト 開発 キャパシティプランニング テスト、リリース手順 ポストモーテム、根本原因分析 インシデント対応 モニタリング サービスの信頼性の階層 参考文献:Betsy Beyer他(2017)

    「SRE サイトリライアビリティエンジニアリング Googleの信頼性を支えるエンジニアリングチーム」 (澤田武男ほか訳) オライリージャパン Scalability
  8. ボ ト ル ネ ッ ク を 解 消 す

    れ ば ス ケ ー ラ ビ リ テ ィ を 確 保 で き る
  9. ボ ト ル ネ ッ ク を 分 類 す

    る た め の 3 つ の 質 問
  10. 負 荷 を か け た 時 リ ソ ー

    ス に 縛 ら れ て い る か ?
  11. O S の 外 側 に ボ ト ル ネ

    ッ ク が あ る か ?
  12. 負荷をかけた時 リソースに縛られて いる?いない? どのリソースに 縛られているか? いない いる CPU メモリ ディスクI/O

    ネットワーク/リモート (その他のH/W) 設定/ソフトウェア OSの外側に ボトルネックがあるか? ボトルネックの5分類 ある ない
  13. C P U 使 用 率 は 概 ね C

    P U 負 荷 の 参 考 に な る
  14. CPU負荷を見分ける • CPUに空きがあってもiowaitが上がればidle が下がる(見た目のCPU使用率が上がる) • ロードアベレージはCPUの負荷でもI/Oの負荷 でも上がる • topやsarコマンドのCPU使用率はコア数で割ら れるがロードアベレージはコア数で割られない

    • user+sysが100%だと、I/O負荷があっても iowaitは上がらない 参考Web:「マルチコア時代のロードアベレージの見方」http://d.hatena.ne.jp/naoya/20070518/1179492085 参照2018-6-24 「I/O負荷の正確な状況はiowaitでは分かりません」https://qiita.com/kunihirotanaka/items/a536ee35d589027e4a5a 参照2018-6-24
  15. “ 推 測 す る な 、 計 測 せ

    よ ” 引用:安井 真伸ほか(2008)「[24時間365日] サーバ/インフラを支える技術 」技術評論社
  16. 従 来 の 一 般 的 な シ ス テ

    ム は デ ィ ス ク I / O が ボ ト ル ネ ッ ク に な る こ と が 多 い
  17. 1 0 年 前 は 1 0 万 倍 あ

    っ た デ ィ ス ク と メ モ リ の 速 度 差 は ほ と ん ど な く な っ て き て い る 参考文献:伊藤直也ほか(2010) 「Web開発者のための大規模サービス技術入門」 技術評論社
  18. S S D や N V M e の 大

    容 量 化 、 低 価 格 化 に よ っ て 今 後 ど う 変 わ る の か ?
  19. 根 本 原 因 分 析 に は サ ー

    ビ ス ご と の レ イ テ ン シ や D B の ス ロ ー ク エ リ が 有 用
  20. 負荷をかけた時 リソースに縛られて いる?いない? どのリソースに 縛られているか? いない いる CPU メモリ ディスクI/O

    ネットワーク/リモート (その他のH/W) 設定/ソフトウェア OSの外側に ボトルネックがあるか? ボトルネックの5分類 ある ない
  21. プロダクト 開発 キャパシティプランニング テスト、リリース手順 ポストモーテム、根本原因分析 インシデント対応 モニタリング サービスの信頼性の階層 参考文献:Betsy Beyer他(2017)

    「SRE サイトリライアビリティエンジニアリング Googleの信頼性を支えるエンジニアリングチーム」 (澤田武男ほか訳) オライリージャパン
  22. 負荷をかけた時 リソースに縛られて いる?いない? どのリソースに 縛られているか? いない いる CPU メモリ ディスクI/O

    ネットワーク/リモート (その他のH/W) 設定/ソフトウェア OSの外側に ボトルネックがあるか? ボトルネックの5分類 ある ない
  23. O S や ミ ド ル ウ ェ ア 実

    行 環 境 や ア プ リ に ボ ト ル ネ ッ ク が 隠 れ て い る
  24. ボ ト ル ネ ッ ク を 1 つ ず

    つ 潰 し て ス ケ ー ラ ビ リ テ ィ を 確 保
  25. RDBMSの対策 ( デ ィ ス ク I / O の

    対 応 策 と 同 じ ) より早いものを使う I/Oの量を減らす 分散させる
  26. ・ 信 頼 性 を 高 め る に は

    ス ケ ー ラ ビ リ テ ィ を 確 保 す る ・ 根 本 原 因 分 析 を し て ボ ト ル ネ ッ ク の 解 消 ・ 成 長 に 耐 え う る キ ャ パ シ テ ィ プ ラ ン ニ ン グ 現場で使える Site Reliability Engineering
  27. 1 人 目 の S R E と し て

    プ ロ ダ ク ト 開 発 の 不 確 実 性 に 運 用 面 で ど う 対 処 す る か ?
  28. リ ソ ー ス は 有 限 だ が 不

    確 実 性 や 信 頼 性 に は 際 限 が な い
  29. “ あ る 一 線 を 越 え る と

    、 信 頼 性 を 向 上 さ せ る こ と は サ ー ビ ス に と っ て 、 む し ろ マ イ ナ ス に な る こ と が わ か っ て い ま す 。 ” 参考文献:Betsy Beyer他(2017) 「SRE サイトリライアビリティエンジニアリング Googleの信頼性を支えるエンジニアリングチーム」 (澤田武男ほか訳) オライリージャパン
  30. SLOの運用 SLO SLI 1st week 2nd week 3rd week 4th

    week API稼働率 99.99% 100% 100% 100% 100% APIレイテンシ(95p) 500msec 0 1 0 0 検索レイテンシ(99p) 300msec 1 3 2 0 ログ欠損率 1%/day 0 1 0 0
  31. SLOの運用 SLO SLI 1st week 2nd week 3rd week 4th

    week API稼働率 99.99% 100% 100% 100% 100% APIレイテンシ(95p) 500msec 0 1 0 0 検索レイテンシ(99p) 300msec 1 3 2 0 ログ欠損率 1%/day 0 1 0 0 課題 達成 達成
  32. ToDo Issue Backlog Doing Done Issue Issue Issue Issue Issue

    Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue
  33. ToDo Backlog Doing Done Issue Issue Issue Issue Issue Issue

    Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue
  34. ToDo Backlog Doing Done Issue Issue Issue Issue Issue Issue

    Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue Issue
  35. ・ S L O で ス コ ー プ を

    決 め る ・ バ ッ ク ロ グ や カ ン バ ン を 使 っ て   優 先 度 の 高 い タ ス ク を こ な す ・ S R E ガ イ ド ラ イ ン に よ っ て   主 体 的 に 行 動 現場で使える Site Reliability Engineering
  36. プロダクトライフサイクル 導入期 成長期 成熟期 衰退期 インフラ構築 モニタリング 負荷対策 CI/Pipeline リプレイス

    コスト削減 セキュリティ バックアップ アラート設定 DevOps キャパシティランニング ドキュメンテーション 障害対応 カイゼン ポストモーテム 効率化
  37. “ 私 た ち は 、 M I T か

    ら 出 向 し て ア ポ ロ 計 画 で 働 い た マ ー ガ レ ッ ト ・ ハ ミ ル ト ン こ そ が 最 初 の S R E と し て の あ ら ゆ る 重 要 な 特 性 を 備 え た 人 物 だ と 考 え ま す 。 ” 引用:Betsy Beyer他(2017) 「SRE サイトリライアビリティエンジニアリング Googleの信頼性を支えるエンジニアリングチーム」 (澤田武男ほか訳) オライリージャパン
  38. な ぜ 彼 女 が 最 初 の S R

    E だ と 考 え ら れ て い る の か ?
  39. “ 宇 宙 飛 行 士 だ っ て 人

    間 だ 間 違 い を 犯 し う る の で は な い か ” “ 自 分 た ち プ ロ グ ラ マ ー も 間 違 い を 犯 し う る の で は な い か ” 参考文献:小野雅裕(2018) 「宇宙に命はあるのか 人類が旅した一千億分の八」 鴎来堂
  40. ア ラ ー ム 1 2 0 2 が な

    か っ た ら ア ポ ロ 1 1 号 は 月 面 に 降 り ら れ な か っ た
  41. 誘 導 プ ロ グ ラ ム の 開 発

    が 目 的 だ っ た ら ア ラ ー ム 1 2 0 2 は 生 ま れ な い
  42. S R E に と っ て 重 要 な

    の は 専 門 ス キ ル よ り 目 的 と 主 体 性
  43. ア ラ ー ム 1 2 0 2 は i

    f 文 1 つ で も で き る ! ?
  44. ・ 目 的 を 達 成 す る た め

    に 主 体 性 が あ れ ば 必 ず し も 高 度 な ス キ ル は 必 要 で は な い ・ ア ラ ー ム 1 2 0 2 を 作 る た め に は 多 少 の エ ン ジ ニ ア リ ン グ の ス キ ル は 必 要 現場で使える Site Reliability Engineering