This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
l 「SRE とは、操作機能を作ってくれとソフトウェア エンジニアに頼んだときに起こることだ」l http://googlecloudplatform-japan.blogspot.jp/2016/07/sre-google-mission-
control.html?1468590211542=1&m=1
l Mr. Benjamin Treynor Slossl https://www.linkedin.com/in/benjamin-treynor-sloss-207120l Terse variant: If Google ever stops working, it's my fault.
Verbose variant : I have been responsible for global operations, networking, and production engineering at Google since 2003. As of 2016, I manage a team of approximately 4,000 software, hardware, and network engineers across the globe.Along the way,* I coined the term "Site Reliability Engineering" for my team of (now) x,xxx software engineers engaged in what were traditionally operations functions, and I have watched with some pride as the rest of the SaaS industry has adopted the SRE name, mission, and practices.* I built the networking team, from its initial scope of providing a pair of leased OC48s, to its current size --publicly estimated to be one of the 3 largest networks in the world.* Since 2010 I've also managed datacenter design, construction and operations, and servers. Public estimates are that as of 2014 Google has built between 200MW and 680MW of highly-efficient datacenters worldwide.* Finally, since late 2013 I've been engaged on Google's public cloud product, Google Cloud Platform
2016/9/1 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 9
Keys to SRE Presentation by Ben Treynor @ SREcon142016/9/1 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 10
SREの範囲
How Google Does Planet-Scale Engineering for Planet-Scale Infra @ GCPNext16
2016/9/1 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 11
Keys to SRE Presentation by Ben Treynor @ SREcon142016/9/1 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 12
Google SWエンジニア新卒採⽤
必要な条件/経験4 年制⼤学卒または関連職種での実務経験プログラミング能⼒( 特に C++ , Java, Python)
望ましい経験/スキル修⼠号または博⼠号を取得していることUnix / Linux または Windows 環境におけるソフトウェア開発や API の経験ネットワーク プログラミングやソフトウェア システムの開発または設計の経験
2016/9/1 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 13
新卒SWエンジニアが配属される組織l プロダクト&システム デベロップメント:
l 検索品質を向上させる⾰新的な⽅法の発⾒、コンピューティング プラットフォームやネットワーキング技術の構築、動画のインデックス登録の⾃動化、複雑なオークション システムの改善・拡⼤など、様々な課題に対してソリューションを開発します。Google のプロダクトの拡⼤と品質向上を実現するためのソフトウェアアプリケーションをリサーチ、企画、開発しながら、⼤量のデータや情報アクセスに関わる問題にチームで取り組むことが求められます。関連する専⾨分野の例として、AJAX および同様の技術を使⽤したユーザーインターフェース開発、セキュリティ、組み込みシステムとモバイルアプリ(Android および iOS)、デベロッパー ツール(IDE、⼤規模なビルドシステム、コンパイラ)などが挙げられます。
l エンジニアリング プロダクティビティ: l ソフトウェア設計スキル、分析⼒、プログラミング能⼒を駆使して⾰新的な⾃動テストシステムを構築しま
す。これは、単なるデバッグやテストの実施といった表⾯的な作業のみを指すわけではありません。テストチームは⽇々幅広い課題に取り組みながら、分散コンピューティング インフラストラクチャにおける多様なシナリオに対応するため、インテリジェント システムの設計と構築を担当します。これまでは存在しなかったものに対する⾃動テストシステムを設計、構築しようとするとき、参照できる教科書はありません。このグループで業務にあたる⼈材として Google が優秀なエンジニアを求めているのはそのためです。
l サイト リライアビリティ: l Google の製品開発プロセス全体に関与し、クラウドベース コンピューティングの最前線で業務にあたりま
す。この精鋭チームの⼀員として、トラフィック異常のコードレベルのトラブルシューティングから最新サービスのメンテナンスまで、またモニタリングやアラートから新しい⾃動化インフラストラクチャの構築まで、Google の運営を維持するあらゆる業務に対応します。このチームのエンジニアは、何千万という数のユーザー規模に⾒合う強靭かつ拡張可能なソフトウェアの作成に情熱を傾けています。⽇々新しく出会う様々な事象に取り組み、ほぼすべてのエンジニアリング チームやオペレーション チームと連携して、すべての⼈がアクセスできるような Google ならではのサービスとアプリケーションを提供します。
2016/9/1 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 14
GoogleでのSREとはl 全世界に約2,000⼈(SW/NWエンジニア含めて4,000⼈)
l すべての製品/サイトにSREチームがあるわけではない
l 他のチームと共通採⽤、共通⼈材プールl チーム間は対等(Dev. vs Ops.ではない)l チーム間の移動は常に可能l つまり、SREを増員すれば、開発チームはメンバーが減るl Mission Controlプログラム:製品開発に携わるエンジニアに SREの仕事を体験させる 6 か⽉のローテーション
プログラム、実際に受けた⼈間の半分はSREのポジションを選択している
l SREの時間の50%以上は、開発プロジェクトに当てられなければならないl 50%未満になる=運⽤/障害対応時間が50%以上になると、該当製品開発チームに負荷が割り振られるl SREの開発プロジェクトは、⾃動化や監視ツールにとどまらず、サービスレベルの向上に役⽴つもの全て(ロー
l 運⽤/障害対応には、チケット処理、障害対応、オンコール(当番)が含まれるl オンコールは、8-12時間交代、時間で25%以下(1週間/⽉)、オンコール中のイベントは2件程度l オンコールは、プライマリーとセカンダリーの⼆⼈体制で、典型的チームは8⼈体制となるl オンコールは、「新⼈の仕事ではない」。オンコールは、トレーニングとチェックリストにパスしないとできな
い。l オンコール中のSREはサービス停⽌を含む、サービスに関する全権を委譲されている。
2016/9/1 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 15
SRE as a custodian
“SREs are the custodian of production. SREs are the custodian of customer
experience”
「SREとは、サービスとユーザー体験の管理者であり守護者である」
How Google Does Planet-Scale Engineering for Planet-Scale Infra @ GCPNext16
2016/9/1 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 16
l 典型的には下記のような障害発⽣、サービス回復後に作成l ユーザーに影響のあるサービス障害l データ喪失l オンコールエンジニアが対応した障害l 回復に想定以上の時間がかかった場合l 監視に関する障害により、マニュアル作業が発⽣した場合 (オンコールエンジニアにエスカレーションされな
かった)
l 障害発⽣中の対応(chat/mail etc.)はすべて記録されなければならず、Postmortemに反映される
l Postmortemを書くのは、新⼈の仕事ではないl 新⼈教育は、Postmortemを読むことから始まり、Postmortemをベースとしたロールプ
レイトレーニングが実施される
l Postmortem勉強会が常に開催され、優れたPostmortemを書いたエンジニアは、勉強会の講師となり尊敬される
2016/9/1 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 20
Postmortem例l インシデント#465
l XXシステムPostmortem
l 報告年⽉⽇:
l 著者:
l ステータス:l 完了、アクションアイテム作業中
l 要約:l アクセスピーク時間中に66分間XXシステムサイトサイトダ
ウン
l 影響:l 約12億ビューの喪失、売上への影響はなし
l 根本原因:l ⾼負荷のためにメモリリークによるリソース不⾜が発⽣し、
ネットワーク負荷が上がった複合障害
l トリガー:l XXモジュールの潜在バグ
l 解決策:l トラフィックをリソースを10倍に増やしたクラスターにリ
ダイレクトし、負荷を緩和
l 監視結果:l Hhttpp500エラーの多発のため、アラート発報
l アクションアイテム:l 項⽬、タイプ、担当者、チケット番号
l Lessons Learnedl 何がうまくいったかl 監視システムが正常にエラー検出しアラートを発報
l 何がうまくいかなかったかl 初めて経験した複合障害のため、障害原因特定に時間がか
かったl 幸運だった点l バックアップが残っていた
l 経過詳細:l 時間、現象、対応
2016/9/1 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 21
インシデントレスポンスl ICS: Incident Command Systemがベース
l https://en.wikipedia.org/wiki/Incident_Command_Systeml http://www.bousai.go.jp/kaigirep/kentokai/kentokaigi/04/pdf/shiryo1.pdfl ⽶国で開発された包括的な危機管理体系であり、種類・規模・場所・複雑さ、あらゆる組織に適⽤できる危機管理の考え⽅、
l 初出は、2009年に⾏われた「Velocity 2009」というイベントでFlickrのスタッフが⾏ったプレゼンテーション「10 deploys per day : Dev&Ops cooperation at Flickr」らしい。(https://ja.wikipedia.org/wiki/DevOps)l http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-
ops-cooperation-at-flickr
l この時点では、GoogleはSREを始めて既に6年経過していたが、対外的な積極的発信はしていなかった
2016/9/1 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 25