発刊: 2018-01-08
https://www.oreilly.com/library/view/release-it-2nd/9781680504552/
洋書。2023年2月現在、和訳は出ていないと思います。
どんな本?
本番環境でシステムを安定的に運用するための考え方や事例、ノウハウが書かれています。特に分散システムを対象としており、障害からの回復力のあるシステムを設計・構築する方法について多くのトピックが記述されています。
私が読んだのは2nd Editionですが、1st Edition の目次と比べるとかなり加筆修正があるようです。というのも1stが発刊された2007年は、まだAWSでさえEC2を出したばかり(たしか2006年)くらいの時期です。そこから2018年までの10年あまりでパブリッククラウドが広く普及したため、安定性に関する常識や手法などが大きく変わったのでしょう。
迫真、そして実用的
本書ではPartごとにケーススタディが示され、それを元にした解説という流れで話が進みます。このケーススタディは実際のものから固有名詞などを変えただけにしてあるらしく、損害の数値などはそのままであるとのこと。その影響か、胃が痛くなるような状況が想像でき、紹介されている手法の必要性がイヤというほど理解できます。
また、紹介されている手法はとても実用的です。サーキットブレーカーやバルクヘッドなど、今でもよく使われる手法について詳細に解説してあります。2007年時点で既にこのレベルの話がされていたことに驚きました。
扱うトピックが幅広い
この本を手に取るとき、システム運用に関する内容を期待して読み始めましたが、その期待は良い意味で裏切られました。個別の分量こそ多くはないものの、広範なトピックを扱っています。以下はその一例です。
Real-User Monitoring(RUM)
進化的アーキテクチャ
マイクロサービス
プロセスと組織
イベントドリブンアーキテクチャ
カオスエンジニアリング
さいごに
この本ほど「もっと早くに読んでおけば」と感じた本はありません。たとえば 13. Design for Deployment を2018年当時に読んでいれば、私が遭遇した問題の多くは発生させずに済んだことでしょう。システムの安定運用に苦心している人、そういったシステムを開発している人にはオススメできる本です。