Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems

Google SRE 書籍シリーズが無料公開

Google の Site Reliability Engineering サイトでは、Site Reliability Engineering (SRE) に関する情報がまとめられています。その中に SRE の教科書的な書籍が無料で公開されています。


SREとは?

What is SRE?
SRE is what you get when you treat operations as if it’s a software problem. Our mission is to protect, provide for, and progress the software and systems behind all of Google’s public services — Google Search, Ads, Gmail, Android, YouTube, and App Engine, to name just a few — with an ever-watchful eye on their availability, latency, performance, and capacity.
(SRE は、ソフトウェアの問題であるかのようにオペレーションを扱うことで得られるものです。Google のミッションは、Google 検索 / 広告 / Gmail / Android / YouTube / App Engine など、Google のすべての公共サービスの背後にあるソフトウェアとシステムを保護、提供、改善することであり、可用性、レイテンシ、パフォーマンス、キャパシティを常に監視しています。)

What is SRE? から引用

SRE は Site Reliability Engineering の略語で日本語ではサイト信頼性エンジニアリングと呼ばれています。
SRE とは、Google 社が提唱する実践しているシステム管理とサービス運用の方法論です。
システムが 24時間 365日、安定して稼働し続けるために、運用エンジニアと開発エンジニアが協力してシステムの設計、構築、運用を行い、Web サイト/サービスの信頼性を確保するのが目的となります。
SRE を導入することで、システムの停止を未然に防ぎ、システムの運用を効率化し、システムのパフォーマンスを向上させることができます。

Google の SRE 書籍

紹介する書籍は Google 社の SRE チームの主要メンバーによって執筆されています。
ページで公開されているのは原著 (英語 ) ですがテキスト形式のため、Google 翻訳を使って日本語で読むことができます。
日本語訳版は Amazon でも販売されていますがの単行本のみで Kindle (電子書籍) では販売されていません。

Building Secure & Reliable Systems

Google SRE シリーズ 第 3弾となる本書は、サブタイトルの通りに「セキュアなシステム」にファーカスしてセキュリティへの関わり方について言及されています。

Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems

書籍名:Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems
日本語名:セキュアで信頼性のあるシステム構築 ―Google SREが考える安全なシステムの設計、実装、保守
出版社:O’Reilly
ページ数:519 ページ
発売日:2020年 3月

システムのセキュリティと信頼性は表裏一体です。セキュリティはプロダクトの品質、パフォーマンス、可用性と密接にかかわるため、スケーラブルなシステムの設計と運用にとって極めて重要です。本書は、GoogleのセキュリティとSREのエキスパートが、根本からセキュアでスケーラブルかつ信頼性の高いシステムを設計するためのベストプラクティスを紹介します。
既刊書「SRE サイトリライアビリティエンジニアリング」と「サイトリライアビリティワークブック」は、企業がソフトウェアシステムをスムーズに構築、デプロイ、監視、保守するうえで、サービスライフサイクル全体への取り組みが重要な理由とその方法を解説しました。
本書では、システムの設計、実装、保守に関する考え方と実践法を解説します。また、ベストプラクティスに取り組むために必要となる組織の文化についても説明します。

The Site Reliability Workbook

本書は、具体的な例を通して SRE の原則と実践方法について学ぶことができる 2 作目の SRE 書籍です。

The Site Reliability Workbook: Practical Ways to Implement SRE

書籍名:The Site Reliability Workbook: Practical Ways to Implement SRE
日本語名:サイトリライアビリティワークブック ―SREの実践方法
出版社:O’Reilly
ページ数:812 ページ
発売日:2018年 7月

前書「SRE サイトリライアビリティエンジニアリング」で、サイトリライアビリティエンジニアリング (SRE) はプロダクションサービスの稼働と信頼性の維持がサービス設計の基本であるとし、行動の基礎となる原則と理論を述べました。その実践編であり副読本でもある本書は、SRE を組織やプロジェクトで導入するにあたり、必要となる具体的な方法や手順を解説します。また、これまで Google 内部で得た技術的ノウハウを解説し、さらに Evernote、The Home Depot、New York Times などさまざまな企業での事例を紹介します。
クラウドなどの完全に制御できない環境で信頼性の高いサービスを実行する方法、サービスレベル目標に基づくサービスの作成・監視・実行、運用の過負荷を取り除き既存の運用チームをSREに変換する方法、新規開発またはすでに開発が終わったサービスで SRE を始める方法などを解説します。
Google 内部だけでなく多様な企業で培われた SRE プラクティスを解説する本書は SRE を導入し実践したい開発者、運用管理者、マネージャー必携の一冊です

Site Reliability Engineering

Site Reliability Engineering は、Google で培われたシステム管理とサービス運用の方法論・ノウハウを学ぶことができる最初の SRE 書籍になります。

Site Reliability Engineering: How Google Runs Production Systems

書籍名:Site Reliability Engineering: How Google Runs Production Systems
日本語名:SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム
出版社:O’Reilly
ページ数:552 ページ
発売日:2016年 4月

本書はソフトウェアのライフサイクル全体にコミットすることで世界最大規模のソフトウェアシステムがどのように構築、導入、監視、維持されているのかを解説します。
はじめにリスク管理やサービスレベル目標、リリースエンジニアリングなどSREの行動の基礎となる原則について解説し、次にインシデント管理や障害の根本原因分析、SRE内でのソフトウェア開発など大規模分散コンピューティングシステムを構築し運用するSREの実践について詳述します。さらにSREのトレーニングやコミュニケーションなどの管理について紹介します。 急速にスケールするサービスを高い信頼性で運用する方法を解説する本書はエンジニア必携の一冊です。

他の Google 書籍

SRE 以外にも Google が経験や知見がまとめられたレポートも無料で公開されています。

SLO Adoption and Usage in SRE

SLO Adoption and Usage in SRE

書籍名:SLO Adoption and Usage in SRE
ページ数:104 ページ
発売日:2020年 4月 1日

サイト信頼性エンジニアリング (SRE) は、Google で最初に開発されたエンタープライズ ソフトウェアシステムを管理するためのフレームワークで運用コストの削減、開発生産性の向上、機能リリースの増加に役立ちます。しかし、サービスレベル目標 (SLO) が SRE 戦略の一部でない場合、テーブルの上に価値を置き去りにしていることになります。この実践的なレポートでは SLO、サービスレベル指標 (SLI)、エラーバジェットを SRE 実践の重要な要素とする理由と方法について詳しく説明します。
本レポートでは Google が最近実施した SLO の導入と使用に関する調査の結果と実際のケーススタディを基に許容可能な信頼性のレベルを定義・決定し、それを使用して安定性への期待値を設定し、システムの変更をより適切に管理する方法を説明します。SRE 担当者、エグゼクティブ、開発者、アーキテクトを問わず、SLO とエラーベースのアプローチでサービスを測定・管理することで SRE の実践を改善する方法を学ぶことができます。

Creating a Production Launch Plan

書籍名:SLO Adoption and Usage in SRE
ページ数:45 ページ
発売日:2020年 1月

実稼働環境の立ち上げ中には非常に多くの問題が発生する可能性があり、その場限りの計画に依存することはトラブルを招くだけです。製品の大小にかかわらず、ローンチプランをテンプレートとして使用することで、多くの時間、費用、頭痛を節約することができます。この実践的なレポートでは、グーグルがどのように本番発売計画を策定したかを紹介し、貴社が独自の計画を策定する際に役立つ実用的なアドバイスを提供します。
ローンチプランは、すべての関係者とプロセスを巻き込み、ローンチの進行を確実にコントロールすることで、さまざまな問題を防ぐことができます。
本レポートでは、開発者やサイト信頼性エンジニア (SRE) を対象に Google のローンチプランの基本的な構成要素を探り、自社製品を導入する際のリスクを低減するための実践的な方法を学びます。これらの教訓は、企業規模や製品のユーザーベースに関係なく、消費者向けサービスにも適応可能です。

Training Site Reliability Engineers: What Your Organization Needs to Create a Learning Program

書籍名:Training Site Reliability Engineers: What Your Organization Needs to Create a Learning Program
日本語名:サイト信頼性エンジニアの育成: 学習プログラムを作成するために組織に必要なこと
ページ数:116 ページ
発売日:2020年 2月

一般的な内容からドメイン固有の内容まで、サイトの信頼性エンジニアを組織でトレーニングする方法を学びます。Google の SRE チームによるこの詳細なガイドでは Google が新しい SRE を育成するために使用しているトレーニングのベストプラクティスを学ぶだけでなく、SRE (または SRE に類似した機能) のトレーニングを成功させた小規模な組織での使用例も紹介します。
効果的な SRE トレーニングを実施するためには、自社のニーズと受講者の両方に合うように意図的に設計する必要があります。本レポートの大部分は Google SRE の具体的な経験に焦点を当てていますが、トレーニング設計の背景にある理論について説明し、過去数年間に業界全体で得られたベストプラクティスや教訓を紹介しています。

Anatomy of an Incident – Google – Site Reliability Engineering

書籍名:Anatomy of an Incident – Google – Site Reliability Engineering
日本語名:インシデントの解剖 – Google サイト信頼性エンジニアリング
ページ数:70 ページ
発売日:2016年 4月

システム設計に関しては失敗は避けられない。科学者やエンジニアは未来を完全に把握することなく、入手可能な情報に基づいて解決策を実行する。次のゼロデイ脆弱性、バイラル・メディア・トレンド、気象災害、テクノロジーの変化を常に予測することはできません。しかし、このようなインシデントがシステムに影響を及ぼした場合に対応する準備はできます。
本レポートでは SRE や DevOps の実務者、IT 管理者、エンジニアリング・リーダーを対象に組織がインシデントに備え、対応し、回復するための方法を探ります。Ayelet Sachto 氏、Adrienne Walcer 氏、Jessie Yang 氏のアドバイスにより、障害が発生した場合に備え、対処する方法を学ぶことができます。

Enterprise Roadmap to SRE – Google – Site Reliability Engineering

本レポートは、SRE に関してその技術的立ち位置、導入する理由、必要なプロセス、文化、事例など、幅広く大局観を与えるコンパクトなレポートとなっています。

書籍名:Enterprise Roadmap to SRE – Google – Site Reliability Engineering
日本語名:SREエンタープライズロードマップ – SRE を導入し継続する方法
ページ数:62 ページ
発売日:2020年 3月

Google が過去に出版した 2 冊の書籍「Site Reliability Engineering」と「The Site Reliability Workbook」は、サービスライフサイクル全体への取り組みによって、組織がソフトウェアシステムの構築、展開、監視、保守を成功させる方法と理由を示しています。本レポートでは、Google Cloud Reliability Advocate の Steve McGhee と Google Cloud Solutions Architect の James Brookbank が、組織で SRE を導入する際にエンジニアが直面する特定の課題について深く掘り下げています。
SRE の普及にもかかわらず、多くの企業では SRE に対する当初の熱意と、その採用の度合いの間に大きな隔たりが生じています。本レポートは、プロダクトオーナーや信頼性の高いサービスに携わる方々が、SREの採用について知りたいときに、そのプロセスを体系的に説明するものです。

Incident Metrics in SRE – Google – Site Reliability Engineering

書籍名:Incident Metrics in SRE – Google – Site Reliability Engineering
日本語名:SREにおけるインシデント評価指標 – Google – Site Reliability Engineering
ページ数:36 ページ
発売日:2021年 3月

サイトの信頼性エンジニア (SRE) は、改善の評価や傾向の追跡に MTTx メトリクスを使用することがよくあります。しかし、MTTR (平均復旧時間) やMTTM (平均緩和時間) は、生産インシデントの意思決定や傾向分析に理想的なのでしょうか。
本レポートでは MTTx メトリクスがどのように、そしてなぜ不十分なのかを示すだけでなく、望む答えを得るためにメトリクスについて別の考え方をする方法を提案します。
Google SRE Google SRE Stepan Davidovic 氏はモンテカルロ・シミュレーションを用いて MTTx メトリクスが生産インシデントのコンテキストにおける意思決定やトレンド分析にいかに適していないかを示しています。これらのメトリクスの適用は見かけよりも厄介で、多くの実用的なシナリオにおいて危険な誤解を招く可能性があります。本レポートでは、これらの測定を達成するための代替方法を探ります。

Practical Guide to Cloud Migration – Google – Site Reliability Engineering

書籍名:Practical Guide to Cloud Migration – Google – Site Reliability Engineering
日本語名:クラウド移行実践ガイド – Google – サイト信頼性エンジニアリング
ページ数:124 ページ
発売日:2021年 2月

企業が大規模なクラウド変革に取り組む際に気が遠くなるのはなぜでしょうか? クラウドへの移行は通常、大きくの見返りがあります。クラウドへの移行が実現すれば働き方を根本的に変える新たなビジネスチャンスが生まれます。
本レポートでは Google チームのメンバーが、クラウドへの移行に必要な文化的および技術的変革をナビゲートする方法を示します。Google はクラウドで誕生した企業ですがチーム メンバーの何人かは、この移行を苦労して乗り越えなければならなかった組織の出身でした。 彼らは成功したクラウド変革のさまざまな側面をカバーする 13 のエッセイを通じて、苦労して勝ち取った経験を共有します。

このサイトの運営者です。 Google テクノロジーが好きで布教活動を勝手にしています。