マイクロサービスアーキテクチャを採用する組織では、結合テストのために複数のSTG環境を運用し、チーム間で環境を共有するのが一般的です。しかし環境数が増えるほど、あるチームがテスト中は他チームがデプロイできない「環境凍結」が常態化し、リリースリードタイムの増大・環境コストの肥大化・チーム間調整コストの増加といった問題に陥りがちです。SREの観点から見れば、これは典型的なToilであり、DORA指標におけるLead Time for ChangesとDeploy Frequencyを著しく悪化させます。
私たちも最大6つのSTG環境を運用していましたが、環境を増やすアプローチでは根本的な解決に至りませんでした。環境を追加するたびにコストは線形に増加し、構築に約2〜3週間を要し、ゴミデータの蓄積によりテストデータの品質も低下していました。
私たちはKTC全体の組織横断タスクフォースとして、「必要な時に作り、不要になったら消す」Ephemeral Environmentの実現に取り組みました。DBREチームによる本番データマスキング基盤の構築、本番に近いSTG環境のIaCを同期するセルフサービス型インフラプロビジョニング、テスト専用AWSアカウントによる環境分離の3つの柱により、環境構築リードタイムを劇的に削減し、環境凍結というToilを構造的に排除しました。
本セッションでは、マスキング基盤のアーキテクチャ設計、IaC同期によるテスト環境の再現手法、テスト専用AWSアカウント戦略を中心に、マイクロサービス構成でテスト環境の運用やToil削減に課題を抱えるSRE・クラウドインフラエンジニアが、自組織で検討を始められる実践的な知見を共有します。