18章SREにおけるソフトウェアエンジニアリング

執筆:Dave Helstroom、Trisha Weir

協力:Evan Leonard、Kurt Delimon

編集:Kavita Guliani

誰かにGoogleのソフトウェアエンジニアリングの成果を尋ねれば、おそらくはコンシューマが利用するGmailやマップといったプロダクトが挙がるでしょう。中には、下位のインフラストラクチャであるBigtableやColossusに言及する人もいるかもしれません。しかし実際には、舞台裏でも莫大なソフトウェアエンジニアリングが行われており、それはコンシューマが決して見ることのないものです。そういったプロダクトの多くが、SREのチーム内で開発されたものです。

ある面では、Googleのプロダクション環境は人類がこれまで構築した機械の中で最も複雑なものの一つです。SREはプロダクション環境の複雑さを直接体験しているので、その環境を動作させ続けるための内部的な問題やユースケースの解決に役立つツールを開発するのに最も適した、かけがえのない存在なのです。こうしたツールの大部分は、長い稼働時間と低いレイテンシを保つという全体的な方向性に関連していますが、その形態はさまざまです。例を挙げれば、バイナリのロールアウトの仕組み、モニタリング、動的に構成されるサーバー上での開発環境の構築などがあります。全体として、SREが開発したこれらのツールは完全なソフトウェアエンジニアリングプロジェクトであり、単発のソリューションや手っ取り早いハックとは異なります。そして、それらを開発するSREは、社内の顧客と将来の計画へのロードマップの両方を考慮するプロダクトベースの考え方を身につけています。

18.1 SRE内でのソフトウェアエンジニアリングの重要性 ...

Get SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.