Automated Canary Analysisを用いた自動カナリアリリース実現までの道のり

Proposal (落選)

難易度 中級者
実行フェーズ Dev/QA(開発環境)
PoC(検証)
Production(本番環境)
想定受講者 developer - システム開発
app-developer - アプリケーション開発
operator/sys-admin - 運用管理/システム管理

SpinnakerのAutomated Canary Analysis(ACA)は、簡単に説明するとカナリアリリースを自動化する機能です。
LIFULLでは、いくつかの検証を重ねてACAを導入することになりました。

自作のCustom Controllerを用いてSpinnakerのリソースをマニフェストで管理することにより、宣言的にACAを実現することができます。

さらにLIFULLが独自開発したマニフェストを生成するコードジェネレーター(https://www.lifull.blog/entry/2021/03/30/100000)と組み合わせることで、
開発者がSpinnakerを意識しなくてもACAを使えるようにしています。

今回の発表では、自動カナリアリリースを目指した道のりや、開発者がACAを利用するハードルを下げる工夫を紹介したいと思います。

Ryosuke Hanatsuka
株式会社LIFULL
ソフトウェアエンジニア

株式会社LIFULL入社後、セキュリティプラットフォームの開発を経てKubernetes基盤の開発・運用に携わる

LIFULLで、kopsで構築したマルチテナンシー構成のKubernetes基盤を開発・運用しています。
現在は、コードジェネレーターの開発・コンテナセキュリティ・デプロイパイプラインの強化などを中心に取り組んでいます。