SpinnakerのAutomated Canary Analysis(ACA)は、簡単に説明するとカナリアリリースを自動化する機能です。
LIFULLでは、いくつかの検証を重ねてACAを導入することになりました。
自作のCustom Controllerを用いてSpinnakerのリソースをマニフェストで管理することにより、宣言的にACAを実現することができます。
さらにLIFULLが独自開発したマニフェストを生成するコードジェネレーター(https://www.lifull.blog/entry/2021/03/30/100000)と組み合わせることで、
開発者がSpinnakerを意識しなくてもACAを使えるようにしています。
今回の発表では、自動カナリアリリースを目指した道のりや、開発者がACAを利用するハードルを下げる工夫を紹介したいと思います。