本セッションでは Cloud に構築されたデータ基盤の環境分離と開発フローについて紹介します。
Infrastructure as code (IaC)で Public Cloud のマネージドサービスなどを管理する場合、Apply するまでそれが安全な変更かどうかを確認する術がない一方で、本番環境へリリースする場合には適切な Branch に Merge する順序でリリースを制御したいという要求もあります。
しかし GitHub の Merge によって IaC が適用される CI/CD を作成している場合上記を両立させることが難しいという課題がありました。
そこで当チームでは GitLab Flow に cherry-pick を加えるなどカスタムし、GitHub Actions による自動オペレーションと組み合わせることでこれらの両立だけではなく、よりスムーズなリリースフローやリリースノートの半自動生成を実現しました。
本セッションでは下記の話題を中心に紹介します。
Git及び Custom GitLab Flowによる部分的なリリース制御
GitHub Actionsによる IaC の自動適用と適切な Branch と P/R の自動作成
Terraform による IaC の運用
データ基盤の Cloud 設計