12章非抽象的な大規模システム設計の紹介

執筆:Salim Virji、James Youngman、Henry Robertson、Stephen Thorne、Dave Rensin、Zoltan Egyed

協力:Richard Bondi

その責任がプロダクションの運用からプロダクトエンジニアリングにまでわたるSREは、ビジネスケースの要求と運用コストの足並みをそろえるユニークな立場にいます。プロダクトエンジニアリングチームは、自分たちが設計するシステムのメンテナンスコストを認識していないことがあります。特に、プロダクトチームが構築しているのがより大きなプロダクションのエコシステムの中に織り込まれる1コンポーネントのとき、そうなりやすいでしょう。

Googleにおけるシステム開発の経験に基づいて、私たちはいかなるプロダクションシステムにおいても信頼性こそが最も重要な機能だと考えています。設計時に信頼性の問題を先送りするのは、より高いコストでより少ない機能しか実現できなくするのと同じだと気づきました。システムの設計と実装においてイテレーティブなスタイルに従えば、低い運用コストで頑健かつスケーラブルな設計に到達できました。私たちはこのスタイルを非抽象的な大規模システム設計(Non-Abstract Large System Design = NALSD)と呼んでいます。

12.1 NALSDとは何か?

本章では、NALSDのアプローチを紹介します。問題の提起から始めて、要件を集め、成功が見込めるソリューションに達するまで設計を繰り返し洗練させていきます。最終的には、多くの種類の障害に耐性があり、初期の要求と設計を繰り返す過程を通じてあらわれた追加のディテールをどちらも満たすシステムに到達します。 ...

Get サイトリライアビリティワークブック ―SREの実践方法 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.