コロプラにおけるアプリケーションとインフラ基盤の継続的デリバリー

Proposal (落選)

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

コロプラではマルチクラスター構成の GKE (Google Kubernetes Engine) 上にゲームのインフラ基盤を構築しています。GKE 上のアプリケーションやミドルウェア、ツールなどは全て Helm chart として管理しており、アプリケーションは Spinnaker のパイプラインで継続的に更新してきましたが、それ以外のミドルウェアやツールは Helm で手動管理してきました。

しかし、年々運用するゲームタイトルが増加し、GKE の定期的なアップグレードを Blue/Green 切り替えで行うことがコストとなっていました。そこで、GKE の in-place アップグレードを自動化できるようにアーキテクチャを変更し、それに併せてアプリケーション以外のミドルウェアやツールを Argo CD で管理するように変更しました。また、GKE の in-place アップグレードも自作の仕組みを導入して柔軟にスケジュールできるようにしました。

本セッションではコロプラの最新のインフラ基盤のアーキテクチャと Continuous Delivery の戦略を、アプリケーションレイヤーから GKE の更新まで広く紹介します。

* Helmfile と go-task による複数の Helm chart の管理とマニフェストの生成
* Spinnaker によるアプリケーションの継続的な更新
* Argo CD によるミドルウェアやツールの継続的な更新
* Temporal Workflow Engine による GKE の継続的な更新

長澤 翼
株式会社コロプラ
インフラエンジニア

2020年3月からコロプラでインフラエンジニアとして Kubernetes を採用した新作タイトルの運用やインフラ基盤の改善に従事しています。