SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム
by Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, Sky株式会社 玉川 竜司
はじめに
ソフトウェアエンジニアリングと子どもを持つこととの間には、次の共通点があります。すなわち、誕生の前の労苦も苦痛で大変なものですが、実際には誕生の後の労苦こそが、その努力の大部分を占めるものだということです。ソフトウェアエンジニアリングについては、誕生後に比べて誕生前についての議論にはるかに多くの時間を費やすものの、システムのトータルコストの40~90%は、そのシステムの誕生後に生じるものと推定されます†1。この業界に広く見られる視点では、デプロイされ、運用されているソフトウェアをプロダクション環境下で「安定している」とみなし、したがってソフトウェアエンジニアからの注意はそれほど必要ないものと考えますが、それは間違っています。この視点に立つと、もしもソフトウェアエンジニアリングがソフトウェアシステムの設計と構築に焦点を当てる傾向があるのなら、そもそもの始まりからデプロイと運用、改善、そして最終的に迎える平穏な撤去に至る、ソフトウェアのライフサイクル全体に焦点を当てる、もう一つの分野が見えるはずです。この分野で使いこなさなければならないスキルは広範囲に及びますが、他の種類のエンジニアにはない固有の関心事項もあります。今日における私たちの答えは、Googleがサイトリライアビリティエンジニアリングと呼ぶ分野です。
それでは、サイトリライアビリティエンジニアリング(SRE)とはいったい何なのでしょうか。この名前が、その内容をはっきりとは表現できていないことは認めざるをえません。Googleのどのサイトリライアビリティエンジニアも、いったい何であり、実際にどういった仕事をしているのかを普段から聞かれています。
この言葉をひもとけば、まず何よりもSREはエンジニアです。私たちは、コンピュータサイエンスとエンジニアリングの原則を、概して大規模な分散型のコンピュータシステムに適用します。ときにはGoogleの開発担当者と共に、そういったシステムのためにソフトウェアを書くことがタスクになります。またあるときには、そういったシステムが必要とするバックアップやロードバランスのようなあらゆる付加的な各種のソフトウェアを、できればシステム間にわたって再利用できるように構築することがタスクになります。またあるときには、既存のソリューションを新しい課題に適用する方法を見いだすことがタスクになります。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access