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 2nd slide
Search
Korenaga Makoto
April 22, 2020
Technology
1
41
SRE study group 2nd slide
Korenaga Makoto
April 22, 2020
Tweet
Share
More Decks by Korenaga Makoto
See All by Korenaga Makoto
SRE study group 4th slide
hapoon
2
70
SRE study group 3rd slide
hapoon
1
50
SRE study group 1st slide
hapoon
1
57
Slackアプリを使ってデイリースクラムを効率化
hapoon
1
490
モノリシックからマイクロサービスへ
hapoon
0
100
Other Decks in Technology
See All in Technology
スクラムというコンフォートゾーンから抜け出そう!プロジェクト全体に目を向けるインセプションデッキ / Inception Deck for seeing the whole project
takaking22
3
230
20250307_エンジニアじゃないけどAzureはじめてみた
ponponmikankan
2
260
人生を左右する「即答」のススメ: 一瞬の判断を間違えないためにするべきこと
takasyou
7
880
2025/3/1 公共交通オープンデータデイ2025
morohoshi
0
120
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
330
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
4
270
OPENLOGI Company Profile for engineer
hr01
1
20k
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
180
困難を「一般解」で解く
fujiwara3
8
2.5k
最近のSRE支援ニーズ考察 | sogaoh's LT @ Road to SRE NEXT@札幌
sogaoh
PRO
1
150
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
450
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
550
Featured
See All Featured
Done Done
chrislema
182
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
28
1.9k
Documentation Writing (for coders)
carmenintech
69
4.6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Designing for Performance
lara
605
68k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Thoughts on Productivity
jonyablonski
69
4.5k
Making Projects Easy
brettharned
116
6k
Docker and Python
trallard
44
3.3k
Transcript
Site Reliability Engineering 2nd DevOps unit study group Makoto Korenaga
アジェンダ 1. Googleのプロダクション環境 1.1. ハードウェア 1.2. システムソフトウェア 1.3. ソフトウェアインフラストラクチャ
1.4. 開発環境
Googleのプロダクション環境
ハードウェア • マシン ・・・ 1つのハードウェア(あるいは1つのVM) • サーバー ・・・ サービスを実装しているソフトウェア クラスタオペレーティングシステムBorgがマシン上で起動させるサーバーのリソース
割り当てを行う。
ハードウェア • ラック・・・数十台のマシンを配置 • クラスタ・・・1つないし複数の列(複数のラックで構成)で構成 • データセンター・・・複数クラスタを格納 • キャンパス・・・近くに配置されたデータセンター群 •
Jupiter・・・データセンター内で高速通信する為のClos Network装置 • B4・・・データセンター群を相互接続する地球規模のネットワーク
ハードウェア Google データセンター内の光景
システムソフトウェア Borg マシン群を管理する分散クラスタオペ レーティングシステム
システムソフトウェア D HDDやSSD含めたファイルサーバ Colossus 一般的なFSセマンティックに加え、レ プリケーションと暗号化を提供する ファイルシステム
システムソフトウェア 1. OpenFlowベースのSDN ネットワーク間での最善経路を事前に計算 2. Bandwidth Enforcer(BwE) 利用できる帯域を最大化する為に利用可能帯域を管理 3. Global
Software-Load Balancer(GSLB) 3.1. DNSリクエストに対するロードバランシング 3.2. サービスレベルでのロードバランシング 3.3. RPCレベルでのロードバランシング
システムソフトウェア Chubby ロックサービス(複数箇所のデータセンターに跨 がる) 非同期合意形成には Paxosプロトコル使用 Borgmon モニタリングプログラム サーバーメトリクスの定期スクレイプ
ソフトウェアインフラストラクチャ Stubby すべてのサービスで使用されるリモートプロシージャコール(RPC)。 オープンソースでgRPCとして公開。 Protocol buffers RPC間のデータやりとりに使用。 XMLと比較するとサイズは1/3〜1/10、速度は20〜100倍高速。
開発環境 AndroidやChromeのように独自のオープンソースリポジトリを除けば、Googleのソフ トウェアエンジニアは単一の共有リポジトリを使って作業している • 自分のプロジェクト外のコンポーネント不具合に遭遇した場合、自身でその問題を修正し変更の提案 (changelistもしくはCL)を所有者に送り、レビュー後メインラインに投入してもらうことができる • 自分のプロジェクトのソースコードに変更を加える際にはレビューが必要
• ソフトウェアのビルドはデータセンター内のビルドサーバーへビルドリクエストが送られ実行 • プロジェクトによっては push-on-greenシステムによりテストをパスした新バージョンが自動的にプロダ クション環境に送られる
次回予告
リスクの受容 サービスレベル目標 第参回
ありがとうございました 参照: SRE サイトリライアビリティ エンジニアリング Googleの信頼性を支えるエンジニアリングチーム (オライリー・ジャパン)