16章継続的ベリフィケーション

継続的ベリフィケーションはソフトウェアにおけるプロアクティブな実験を行うための規律で、システムの振る舞いを検証するツールとして実装されます。

Casay Rosenthal

複雑なシステムによって提起された課題は、継続的インテグレーションを継続的デリバリへ、そして継続的ベリフィケーションに至る自然な進化を促しました。本章ではこの後半部分を対象とし、頭角を現し始めたこの分野と今後の可能性について説明し、ChAPと呼ばれるNetflixの本番環境におけるシステムの1つにおける実例を挙げます。今後、継続的ベリフィケーションが業界内でどのように位置づけられていくかは定まっていませんが、将来の発展に向けて一般的に注目される分野について、本書の最後で見ていきます。

16.1 CVの起源

各自でコードを書いている2人以上のエンジニアの間で想定の差異が生じている場合、コード同士の相互作用は予期せず望ましくない結果をもたらす可能性があります。これに早く気づけるほど、次に書かれるコードでは差異を縮められる可能性が高いです。逆に、早い段階でこの差異に対処できていなければ、次のコードではさらに深い分断に陥る可能性が高く、望ましくない結果が生まれる可能性が倍増します。

想定のギャップを発見する上で最も効果的な方法の1つは、コードを1箇所に集めて実行することです。継続的インテグレーション(CI)は、これを実現する手段としてXPの手法(https://oreil.ly/I5XIS)で強く推奨されています。いまやCIは一般的な業界用語となりました。CIのパイプラインは、別々の開発者やチームによって書かれたコードで実現された複数の機能を統合した際の機能性をテストするような、統合テストの発達を促します。 ...

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.