Slide 1

Slide 1 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 快適なマニュアル作成共有を支える Site Reliability Engineering 株式会社スタディスト SRE チーム リーダー 北野 勝久 #devsumiE

Slide 2

Slide 2 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 2 #devsumiE 北野 勝久 : @katsuhisa__

Slide 3

Slide 3 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 3 #devsumiE

Slide 4

Slide 4 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 4 #devsumiE

Slide 5

Slide 5 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved #devsumiE 5

Slide 6

Slide 6 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 6 #devsumiE 導入企業社数 (有償契約のみ) 1,800社 一社あたり、 約10万ユーザーも

Slide 7

Slide 7 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 7 #devsumiE 自己紹介 プロダクトが順調に成長し、 ユーザーも順調に増加 

Slide 8

Slide 8 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 8 #devsumiE 自己紹介 めでたしめでたし

Slide 9

Slide 9 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 9 #devsumiE 自己紹介 んなわけない

Slide 10

Slide 10 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 10 #devsumiE 自己紹介 これまで見えなかった問題続出

Slide 11

Slide 11 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved #devsumiE 続出する問題 11 ● 障害発生の度、とりあえずなんとか収束させる ○ Ops 負荷が高い ● モニタリング設計が貧弱 ○ 障害頻度は増えてるが、 サービスの状況がすぐに分からず、対応が長期化

Slide 12

Slide 12 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved #devsumiE 続出する問題 12 ● 障害発生の度、とりあえずなんとか収束させる ○ Ops 負荷が高い ● モニタリング設計が貧弱 ○ 障害頻度は増えてるが、 サービスの状況がすぐに分からず、対応が長期化 負のスパイラル

Slide 13

Slide 13 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 13 #devsumiE 自己紹介 Ops の取り組み方を 根本的に見直す必要性

Slide 14

Slide 14 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 14 #devsumiE 自己紹介 スタディスト SRE チーム

Slide 15

Slide 15 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved SRE ? 15 #devsumiE ● 米Google シニアVP であるBen Treynor 氏が提唱 ● サイト信頼性に対して、インフラ側・コード側の両面から 包括的に責任を持つ ● エンジニアリングで、Ops を効率化・自動化する

Slide 16

Slide 16 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 16 #devsumiE 自己紹介 SRE がないとき

Slide 17

Slide 17 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 17 #devsumiE 顧客増加 ↓ システム負荷増加 ↓ 障害増加 ↓ 筋肉で解決 #devsumiE #devsumiE SRE がないとき

Slide 18

Slide 18 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved SRE がないとき 18 #devsumiE プロダクトスケールに伴い 無限の筋肉が必要 ↓

Slide 19

Slide 19 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 19 #devsumiE 自己紹介 エンジニアリングによる 効率化や自動化をすれば Ops の線形増加を防げる

Slide 20

Slide 20 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 20 #devsumiE 自己紹介 スタディストSRE チームの 取り組みをご紹介

Slide 21

Slide 21 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 21 #devsumiE 自己紹介 〜 Toil 削減 〜

Slide 22

Slide 22 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved Toil ? 22 #devsumiE Toil is 手作業の運用業務 Toil is プロダクトに対する価値を生まない Toil is 基本的には無駄     ➪ 削減したい

Slide 23

Slide 23 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved Toil 削減 23 #devsumiE ● 定形作業の自動化 例 : ミドルウェア操作を自動化 ● unicorn-worker-killer ○ 特定条件下での自動 graceful restart ○ メモリ枯渇の防止

Slide 24

Slide 24 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 24 #devsumiE 自己紹介 手作業を自動化できて幸せ 高まる自己肯定感

Slide 25

Slide 25 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 25 #devsumiE 自己紹介 ???「でもさ、それ今やる必要ある?」

Slide 26

Slide 26 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved Toil 削減と優先度問題 26 #devsumiE ● そのToil 削減に、どれくらいインパクトがあるのか? ● そのToil はいま削減する必要があるのか? ● エンジニアリングによる自動化での解決が、最適な解き方?   その答えをどのやり方で出したかなんてどうでもいいんだということを   悟ることができたのは、実に幸運だったと思う。 ー リチャード・ファインマン

Slide 27

Slide 27 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 27 #devsumiE 自己紹介 エンジニアの仕事は知的生産活動 解くべき問題の見極め からはじめる

Slide 28

Slide 28 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 28 #devsumiE 自己紹介 〜 Monitoring 〜

Slide 29

Slide 29 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 29 #devsumiE 自己紹介 only three kinds of valid monitoring output

Slide 30

Slide 30 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved #devsumiE 30 There are alerts, which say a human must take action right now. Something that is happening or about to happen, that a human needs to take action immediately to improve the situation. The second category is tickets. A human needs to take action, but not immediately. You have maybe hours, typically, days, but some human action is required. The third category is logging. No one ever needs to look at this information, but it is available for diagnostic or forensic purposes. The expectation is that no one reads it. What is ‘Site Reliability Engineering’? https://landing.google.com/sre/interview/ben-treynor.html

Slide 31

Slide 31 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved ● Slack Channel 通知先を分ける ○ emergency  ( 書き込まれると常に関係者にプッシュ通知 ) ○ info  ( 必要なタイミングで対応 ) ● 通知先の出し分けが容易で、 アラート設定が手間でないツール選定も大事 ○ Stackdriver ○ NewRelic アラートとチケットを意識した運用設計 31 #devsumiE

Slide 32

Slide 32 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved #devsumiE ログ 32 ● forensic purposes ○ サーバーのログ集約 ■ S3 ○ コンソール操作もログを残す ■ CloudTrail ● diagnostic purposes ○ 性能ダッシュボード ■ Elasticsearch, Kibana ○ ここでも NewRelic, Stackdriver は活躍

Slide 33

Slide 33 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 33 #devsumiE 自己紹介 サービスをモニタリングしていなければ、 何が起きているのかを知ることができず、 何が起きているのかが見えていなければ、 信頼性を保つことはできません モニタリングをうまく活用しよう

Slide 34

Slide 34 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 34 #devsumiE 自己紹介 まとめ

Slide 35

Slide 35 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 35 #devsumiE 他にもいろいろやった結果、 1年前と比べ、状況は劇的に改善

Slide 36

Slide 36 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 36 #devsumiE 今日話したことは、 この1年でやったことの ほんの一部 運用作業自動化 Monitoring 環境刷新 Infrastructure as Code 化 インスタンスの統廃合 必要なツール選定と導入 アラート再設計 運用業務の標準化 DB 移行 インスタンスサイズ最適化 インフラCI 環境整備 全リソースのインスタンスファミリー最新化 運用ルール整備 中途入社社員向け教育 パッチ適用の半自動化 セキュリティ情報自動チェック インフラテスト駆動開発 DB テーブル設計見直し クエリ改善

Slide 37

Slide 37 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 37 #devsumiE 自己紹介 海外展開・さらなるユーザー数の増加に備え、 SRE チームの闘いはまだまだつづく 

Slide 38

Slide 38 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 38 #devsumiE 自己紹介 : @katsuhisa__ スタディストでは、いっしょに闘ってくれるエンジニアを常に募集中 本セッション終了後、Ask the Speaker でお待ちしています