プラットフォームエンジニアリングに取り組み始めた弊社LegalOn Technologiesにおいて、新規50マイクロサービス同時立ち上げ時に取り組んだGitHub ActionsやArgo CDを利用したCI/CDプラットフォーム構築についてお話します。
弊社では、これまでプロダクトごとにクラウド、開発ツール、技術スタックが分断されており、迅速なサービスの立ち上げや生産性の高い開発が困難な状況でした。サービス提供国の拡大やプロダクトラインナップの拡充を含む顧客提供価値の最大化を目指す弊社にとっての大きな課題です。
複数のチームが同時多発的に開発体験高くサービスを立ち上げるためには、ソフトウェア開発のライフサイクル全体をカバーするツールチェーンやワークフローが継続的に改善され、開発者自身がセルフサービスできる状態を目指すプラットフォームエンジニアリングが不可欠と考えました。
基盤の統合と多数のマイクロサービスの同時立ち上げの中での取り組みを、以下のトピック中心にお話します。
・PR作成・マージでコード生成されるBuf Schema Registryを利用したProtocol Buffers管理とCI
・利用言語毎にコマンド生成できるアプリケーションとCIテンプレート
・Argo CD、Argo CD Image Updaterを環境と開発フェーズごとに使い分けるデプロイ戦略
・デプロイ・インフラ構築の開発者への段階的委譲
・アプリケーションライフサイクル内外のJob管理