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に入門しよう
Search
⛵️ 長谷川 広樹 🐬
May 07, 2021
Programming
940
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
♾️ SREに入門しよう
社内LTにて、SRE用語を布教しようと試みましたʕ◔ϖ◔ʔ
⛵️ 長谷川 広樹 🐬
May 07, 2021
More Decks by ⛵️ 長谷川 広樹 🐬
See All by ⛵️ 長谷川 広樹 🐬
『Kubernetes ☸️ で実践する Platform Engineering 』を最高速度で読み抜いたる!!👊🏻
hiroki_hasegawa
1
200
♾️ マルチプロダクトの巨大組織でマイクロサービス開発を支えるCICDプラットフォーム設計
hiroki_hasegawa
5
4.7k
🐙 KubernetesのマルチテナントパターンとArgoCDの実践テナント設計
hiroki_hasegawa
4
3.8k
🧑🚀 tfstate の分割パターンとディレクトリ構成への適用
hiroki_hasegawa
8
8.6k
⛵️ Istioのサービス間通信を実現するサービスディスカバリーの仕組み
hiroki_hasegawa
3
7.6k
🔍 可観測性に入門しよう
hiroki_hasegawa
1
1.2k
🏗️ ドメイン駆動設計と依存性逆転の原則
hiroki_hasegawa
14
10k
🤝🏻 依存関係と依存オブジェクト注入
hiroki_hasegawa
2
1.4k
🐭 Goに入門しよう
hiroki_hasegawa
0
770
Other Decks in Programming
See All in Programming
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
310
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
260
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.3k
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
310
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
210
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.7k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
840
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
AIエージェントで 変わるAndroid開発環境
takahirom
2
490
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
180
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
110
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.5k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
220
Prompt Engineering for Job Search
mfonobong
0
370
GraphQLとの向き合い方2022年版
quramy
50
15k
Speed Design
sergeychernyshev
33
1.9k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
The SEO identity crisis: Don't let AI make you average
varn
0
510
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
Transcript
SREに入門しよう 株式会社ユニクエスト 長谷川広樹 github.com/hiroki-it @Hiroki__IT
自己紹介 ▼ お仕事 最近:クラウドインフラ、IaC、CICD、... 以前:DDD ▼ 関心のある技術領域 ・クラウドインフラ ・IaC ・DDD
github.com/hiroki-it @Hiroki__IT 長谷川 広樹 (はせがわ ひろき) 株式会社ユニクエスト
目次 ▪ SREとは ▪ (僕が思う)SREに必要な思想と技術 ▪ Goによる厳格なルールに基づいた基盤実装 ▪ モニタリング ▪
オンコールとインシデント対応 ▪ SLI/SLO ▪ エラーバジェット ▪ ポストモーテム ▪ まとめ ▪ カンファレンス
SREとは SRE:Site Reliability Engineering(サイト信頼性エンジニアリング) Googleによって提唱されたシステム運用や自動化に関連する開発 Site Reliability Engineering by Betsy
Beyer, Chris Jones, Niall Richard Murphy, Jennifer Petoff
SREとは SREは何をすればよいのか...?
(僕が思う)SREに必要な思想と技術 ▪ 稼働し続けられるシステム作り ・Goによる厳格なルールに基づいた基盤実装 ・モニタリング ・オンコールとインシデント対応 ・SLI/SLO ・エラーバジェット ・ポストモーテム ・クラウドインフラによるマネージドなインフラ(今回は割愛)
・セキュリティ(今回は割愛) ・Production Readiness Review(※マイクロサービスで使用されるルールのため割愛),など... ▪ スケーラブルなアプリケーション開発を生み出す環境作り ・マイクロサービス,Kubernetes,CI/CD,IaC,トイル撲滅,など...(※今回は割愛)
Goによる厳格なルールに基づいた基盤実装(1) ▪ Goのメリット ・データ型の扱いに非常に厳しく,開発時にバグを検出可能. ・ブラックボックスになりにくく,可読性が高い. ・処理速度が速い. ・同期処理と並列処理を簡単に書き分けられる(※非同期処理との違いに注意). ・他の静的型付け言語(Java,C)よりも学習コストが低い. など... 堅牢なバックエンドを実装できる(例:決済系など)
Goによる厳格なルールに基づいた基盤実装(2) Goの導入を実現させる! 一緒にGoに挑戦していきましょう! 僕一人だと力に限界があります(切実)! 知見を共有し合って,お互い爆速成長したい! 僕も勉強中なので,知見共有させていただきます! 僕のリポジトリ:https://github.com/hiroki-it/notify-slack-of-amplify-events
モニタリング ▪ モニタリングすべき4大シグナル ・レイテンシー(リクエスト到達まで+処理終了からレスポンス到達まで) ・トラフィック(とあるネットワーク地点でのスループット) ・明示的エラーと暗黙的エラー (400/500系異常レス + 後述するSLO未達やAPI仕様不一致の正常レス) ・サチュレーション(システムの利用率の飽和度.「サチる」はよく使う)
4大シグナルは注視しよう!(自戒)
オンコールとインシデント対応 ▪ オンコールとインシデント対応とは 何らかのインシデントをチャンネルに通知するようにし,通知を受けて対応すること. 当番制にしている会社もある. ▪ インシデントとは エラーを含むシステム的に良くない事象のこと. 参考:https://backlog.com/ja/blog/on-call-system-for-backlog-developers/ 明示的エラーと暗黙的エラーのオンコールは必須!
SLI/SLO(1) ▪ SLIとは:Service Level Indicator サービスレベルの指標とするメトリクスのこと. ・サーバ稼働率 ・データベース稼働率 ・レイテンシー ・レスポンスタイム
・レスポンスのステータスコード率
SLI/SLO(2) ▪ SLOとは:Service Level Objective SLIとして採用した指標の目標値のこと. ・サーバ稼働率(日当たり0.1%のダウンタイム発生) ・データベース稼働率(日当たり0.1%のダウンタイム発生) ・レイテンシー(日当たり0.1%までのレイテンシー増加) ・レスポンスタイム(日当たり0.1%までのレスポンスタイム増加)
・レスポンスのステータスコード率(日当たり99.9%の200レス)
エラーバジェット ▪ エラーバジェットとは ・前述したSLI/SLOを決めたうえで設定. ・年間や月間のエラーやダウンタイムがSLOに達するまでは, これらが起こることを許容できる. 参考:https://www.redhat.com/ja/topics/devops/what-is-sre ダウンタイムをどの程度発生させてよいかの目安になる. ビジネスより技術を優先するときの意思決定が早くなる.
ポストモーテム ▪ ポストモーテムとは 障害報告書とは異なり,原因特定とシステム改善に重きを置いた報告書のこと. (タイトル・日付・担当・原因と対応・システム的/収益的な影響・幸運だったこと・仕組みの改善策・タイムライン) ▪ 留意すること ・作成に当たり,担当者を絶対に責めない.障害は誰のせいでもない. (★最重要であり,必ず守ること) ・対策は「以後は注意する」ではなく,再発しない仕組み作りになるように.
・多くの人に情報を共有すること. 参考:https://qiita.com/an_sony/items/0565ad980f9097c76d11 エンジニアリングの心理的安全性を高めて挑戦しよう!
まとめ 今すぐ使えそうなSRE用語は どんどん使って SREチームさらにはシステム課全体の 共通言語にしていきましょう! (「サチる」はすぐに使えます)
カンファレンス ▪ SRE Lounge:https://sre-lounge.connpass.com/ ▪ SRE NEXT:https://sre-next.dev/
最後に 改めてGopherくん 超かわいい!!! by Takuya Ueda (https://twitter.com/tenntenn) The Gopher character
is based on the Go mascot designed by Renée French.