Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SRE study group 1st slide
Search
Korenaga Makoto
April 12, 2020
Technology
1
58
SRE study group 1st slide
Korenaga Makoto
April 12, 2020
Tweet
Share
More Decks by Korenaga Makoto
See All by Korenaga Makoto
SRE study group 4th slide
hapoon
2
78
SRE study group 3rd slide
hapoon
1
57
SRE study group 2nd slide
hapoon
1
49
Slackアプリを使ってデイリースクラムを効率化
hapoon
1
530
モノリシックからマイクロサービスへ
hapoon
0
110
Other Decks in Technology
See All in Technology
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
4
610
JOAI発表資料 @ 関東kaggler会
joai_committee
1
400
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
250
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
8
1k
Goでマークダウンの独自記法を実装する
lag129
0
220
RAID6 を楔形文字で組んで現代人を怖がらせましょう(実装編)
mimifuwa
1
320
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
4
640
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
620
小さなチーム 大きな仕事 - 個人開発でAIをフル活用する
himaratsu
0
130
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
0
1.4k
イオン店舗一覧ページのパフォーマンスチューニング事例 / Performance tuning example for AEON store list page
aeonpeople
2
320
Featured
See All Featured
Done Done
chrislema
185
16k
Building Applications with DynamoDB
mza
96
6.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
780
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Thoughts on Productivity
jonyablonski
69
4.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Statistics for Hackers
jakevdp
799
220k
RailsConf 2023
tenderlove
30
1.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Into the Great Unknown - MozCon
thekraken
40
2k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Transcript
Site Reliability Engineering Introduction DevOps unit study group Makoto Korenaga
アジェンダ 1. サービス管理へのアプローチ 2. SREの責務
サービス管理へのアプローチ
システム管理者 役割 既存のソフトウェアコンポーネントを組み合わせサービスを運用・管理 DevOpsにおける「Ops(運用)」を担当 (プロダクト開発者は「Dev」)
システム管理者 メリット 1. 業界で馴染みのあるパラダイムで比較的実施しやすい 2. 既存のツールやソフトウェアコンポーネントを利用すれば、熟練していないチー ムでも車輪の再発明やゼロからの設計なしに運用可能
システム管理者 デメリット 1. 手作業に頼るチームだと、サービス成長や負荷増大に伴いコストが増加していく 2. サービスに障害が発生しないよう、極力新機能リリースをしたくない (開発チームとの対立)
サイトリライアビリティエンジニアリング 役割 1. 手作業でこなしてきたタスクを代替するソフトウェアを書くのに必要なスキルセッ トを持ち、人手による管理を自動化する 2. 運用業務と運用自動化の開発業務の両立
サイトリライアビリティエンジニアリング メリット 1. システム自動化の為に直接コードを修正できる 2. SREの人数はシステムのサイズに比例しない(自動化により人手を離れる為) 3. 開発と運用の分断による機能不全を回避し、プロダクト開発チームとSREチーム 間の異動も容易
サイトリライアビリティエンジニアリング デメリット 1. 採用が難しい(開発と運用の両面で基準を満たす人間が少ない) 2. 新しい概念なので、構築や管理に関する情報がまだ少ない
SREの責務
継続的なエンジニアリングへの保証 運用作業だけでなくコーディングを行うことが求められる 運用作業量をモニタリング、超過作業はプロダクト開発チームへ差し戻す等してコー ディングによる自動化に注力できる時間を保証する
SLOを維持しつつ変化速度を最大化する エラーバジェットの導入 100%の信頼性を目標とすることは、基本的にいかなる場合にも間違っている 達成の為に、 1. 段階的ロールアウト(新機能を利用できるユーザーを徐々に増やす) 2. 1% experiment(トラフィックの1%のみを対象とした実験) などの方法を導入する
モニタリング ソフトウェアが解釈を行い、通知は人がアクションを行う必要がある時だけ行うように する 1. アラート 人が即座に状況を改善する必要がある 2. チケット 人がいずれ状況を改善する必要がある 3.
ロギング 普段人が見る必要はないが、診断、フォレンジックの為に記録
フォレンジック セキュリティ事故など発生時に残された 証拠から調査・分析・報告することを指し ます。
緊急対応 信頼性 • 平均故障時間(Mean Time To Failure) • 平均修復時間(Mean
Time To Repair) MTTRの改善 • オンコール手順書 • ディザスタロールプレイング
変更管理 70%のサービス障害は、動作中のシステム変更によって生じる • 漸進的なロールアウトの実装 • 高速かつ正確な問題の検出 • 問題が生じた際の安全なロールバック 上記を自動化することで、慣れ、軽視、不注意による障害やメンバーの疲労などの問 題を解消することが可能
需要予測とキャパシティプランニング 予想されている未来の需要に対して必要な可用性を提供できるキャパシティと冗長 性を保証する • 自然な成長(顧客によるプロダクト導入と利用から生じるもの) • 突発的な成長(新機能のローンチ、マーケティングによるキャンペーン)
需要予測とキャパシティプランニング キャパシティプランニング • 自然な需要の正確な予測とキャパシティのリソース確保に必要なリードタイム • 突発的な需要の発生源を正確に把握すること • 計算リソースのキャパシティとサービスキャパシティの関連を把握する為の定期 的なシステム負荷テスト
プロビジョニング 変更管理とキャパシティプランニングの組み合わせ 必要な際に素早く、かつ正確に実施する必要がある
効率とパフォーマンス リソースの効率的な活用 = 費用(コスト)の最適化 需要(負荷)、キャパシティ、ソフトウェアの効率性を考慮 モニタリングと改修に努め、サービスのパフォーマンスを改善する
「願望は戦略にあらず」 - SREの格言
次回予告
SREの観点から見たGoogleの プ ロ ダ ク シ ョ ン 環 境
第弐回
ありがとうございました 参照: SRE サイトリライアビリティ エンジニアリング Googleの信頼性を支えるエンジニアリングチーム (オライリー・ジャパン)