SpinnakerのAutomated Canary Analysis(ACA)は、簡単に説明するとカナリアリリースを自動化する機能です。
LIFULLでは、いくつかの検証を重ねてACAを導入することになりました。
自作のCustom Controllerを用いてSpinnakerのリソースをマニフェストで管理することにより、宣言的にACAを実現することができます。
さらにLIFULLが独自開発したマニフェストを生成するコードジェネレーター(https://www.lifull.blog/entry/2021/03/30/100000)と組み合わせることで、
開発者がSpinnakerを意識しなくてもACAを使えるようにしています。
今回の発表では、自動カナリアリリースを目指した道のりや、開発者がACAを利用するハードルを下げる工夫を紹介したいと思います。
株式会社LIFULL
ソフトウェアエンジニア
株式会社LIFULL入社後、セキュリティプラットフォームの開発を経てKubernetes基盤の開発・運用に携わる
LIFULLで、kopsで構築したマルチテナンシー構成のKubernetes基盤を開発・運用しています。
現在は、コードジェネレーターの開発・コンテナセキュリティ・デプロイパイプラインの強化などを中心に取り組んでいます。