15章カオスの成熟モデル(CMM)
Netflixのチームが初めてカオスエンジニアリングに関する本を書いたとき†1、「カオスの成熟モデル(Chaos Maturify Model)」を紹介しました。当初、これはある種のジョークで、ソフトウェア開発プロセスを分析するためにカーネギーメロン大学で80年代後半から90年代初頭にかけて開発されたCMM、すなわち「ソフトウェア開発の能力成熟モデル(Capability Maturity Model)」をもじったものでした。CMM自体は厳格なプロセスで、「プロセス」の言葉を良しとしないNetflixの文化とは、まったく相入れない対照的なものでした。
[†1] Ali Basiri et al., Chaos Engineering (Sebastopol, CA: O'Reilly, 2017).
しかしNetflixのチームがモデルに親しむにつれ、カオスの成熟モデルは実際に有意義なものであることが分かってきました。つまり、元々ジョークのつもりだったのがそうでもなかったのです。カオスの成熟モデルは、特にカオスエンジニアリングの取り組みへの投資を評価し増やす方法を探している組織に対して、実際に効果を発揮しました。
非常に広い意味で、ソフトウェア業界全体はカオスエンジニアリングにまつわる業界標準を維持できるほど均質ではありません。異なる企業に対して一定の機能レベルを提供するような、気軽に導入できるソリューションを用意するには、各社のインフラ、文化、期待、そして成熟度があまりにも異なります。カオスの成熟モデルでは、業界標準の代わりに、異なるカオスエンジニアリング手法を比較し改良に向けて評価できるような、スライド式の尺度を提供しています。
本章では、カオスの成熟モデル(CMM)をフレームワークとして解説します。これはチームや組織の立ち位置を示すマップを描くのに利用できます。このマップは、カオスエンジニアリングにおける他者の足取りが進歩の可能性を示しているときに、チームがどう改善に向かって動けばよいかを視覚的に提示します。ここには2つの軸があります。導入と洗練です。また、それぞれの側面は別々に探究していくことが可能です。 ...
Get カオスエンジニアリング ―回復力のあるシステムの実践 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.