1章イントロダクション

執筆:Benjamin Treynor Sloss†1

編集:Betsy Beyer

願望は戦略にあらず。

——SREの格言

システムが勝手に動作してくれることはない、ということは周知の事実です。それでは、システムはどのように動作するべきなのでしょうか。とりわけそれが、大規模な環境下で動作する、複雑なコンピューティングシステムだった場合にはどうでしょう。

1.1 サービス管理へのシステム管理者のアプローチ

歴史的に、企業は複雑なコンピューティングシステムを動作させるために、システム管理者を雇用してきました。

シスアドとも呼ばれるこのシステム管理者のアプローチでは、既存のソフトウェアコンポーネントを組み合わせてデプロイし、それらを共に動作させてサービスを作り出します。シスアドはサービスを運用し、イベントが発生したり、イベントに応じてアップデートが必要になるたびに対処します。システムの複雑性やトラフィックが増大していくに従って、イベントや更新も増加することになり、増える仕事を受け持てるようシスアドのチームも大きくなっていきます。シスアドの役割には、プロダクトの開発者とは大きく異なるスキルセットが求められるので、開発者とシスアドは、「開発」すなわち「dev」と、「運用」すなわち「ops」という別々のチームに分けられることになります。

サービス管理におけるシスアドのモデルにはいくつかの利点があります。企業がサービスの運用やスタッフ割り当てを決めるにあたって、このアプローチは比較的実施しやすい方法であり、業界では馴染みのあるパラダイムでもあることから、学んだり真似たりできる例が数多くあります。また関連する能力を持つ人員も広く集めることができます。こうして構築されたシステムの稼働を支援してくれる既存のツールやソフトウェアコンポーネント(出来合いのものかどうかにかかわらず)は、インテグレーションを行う企業も利用できるので、熟練していないシスアドのチームでも車輪の再発明やゼロからのシステム設計をせずにすむのです。 ...

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.