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
36
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
61
SRE study group 3rd slide
hapoon
1
42
SRE study group 1st slide
hapoon
1
51
Slackアプリを使ってデイリースクラムを効率化
hapoon
1
370
モノリシックからマイクロサービスへ
hapoon
0
80
Other Decks in Technology
See All in Technology
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
400
コードや知識を組み込む / Incorporate Code and knowledge
ks91
PRO
0
150
How to do well in consulting–Balkan Ruby 2024
irinanazarova
0
140
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.6k
JAWS-UG Bedrock Claude Night
yamahiro
3
710
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
1k
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
4
610
いいたいことちゃんという
tkengo
0
230
Building Dashboards as a Hobby
egmc
0
370
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
150
今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編
devops_vtj
3
470
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
710
Featured
See All Featured
A Tale of Four Properties
chriscoyier
152
22k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
GitHub's CSS Performance
jonrohan
1025
450k
Practical Orchestrator
shlominoach
183
9.7k
Navigating Team Friction
lara
179
13k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Gamification - CAS2011
davidbonilla
77
4.6k
Fireside Chat
paigeccino
22
2.6k
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の信頼性を支えるエンジニアリングチーム (オライリー・ジャパン)