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
60
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
83
SRE study group 3rd slide
hapoon
1
61
SRE study group 2nd slide
hapoon
1
53
Slackアプリを使ってデイリースクラムを効率化
hapoon
1
550
モノリシックからマイクロサービスへ
hapoon
0
110
Other Decks in Technology
See All in Technology
Javaコミュニティの歩き方 ~参加から貢献まで、すべて教えます~
tabatad
0
140
技術広報のOKRで生み出す 開発組織への価値 〜 カンファレンス協賛を通して育む学びの文化 〜 / Creating Value for Development Organisations Through Technical Communications OKRs — Nurturing a Culture of Learning Through Conference Sponsorship —
pauli
5
490
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
380
Error.prototype.stack の今と未来
progfay
1
190
ソフトウェア開発現代史: 55%が変化に備えていない現実 ─ AI支援型開発時代のReboot Japan #agilejapan
takabow
7
4.5k
SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え
foostan
2
410
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
1
1.1k
改竄して学ぶコンテナサプライチェーンセキュリティ ~コンテナイメージの完全性を目指して~/tampering-container-supplychain-security
mochizuki875
1
360
QAを"自動化する"ことの本質
kshino
1
140
レガシーで硬直したテーブル設計から変更容易で柔軟なテーブル設計にする
red_frasco
4
430
社内外から"使ってもらえる"データ基盤を支えるアーキテクチャの秘訣/登壇資料(飯塚 大地・高橋 一貴)
hacobu
PRO
0
3.8k
TypeScript 6.0で非推奨化されるオプションたち
uhyo
12
3k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The Invisible Side of Design
smashingmag
302
51k
Facilitating Awesome Meetings
lara
57
6.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Code Reviewing Like a Champion
maltzj
527
40k
Designing for Performance
lara
610
69k
Embracing the Ebb and Flow
colly
88
4.9k
Building Applications with DynamoDB
mza
96
6.8k
Visualization
eitanlees
150
16k
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の信頼性を支えるエンジニアリングチーム (オライリー・ジャパン)