BlueGreenͳͲͷ҆શରࡦ͕ͳ͍ • ͤΔͨΊɺࣗͰCDͷߏஙͱӡ༻͕େม • ౷ҰੑʢҰ؏ੑʣ͕͘ͳ͍ͬͯΔ • ࣾελϯμʔυΛཱ͢Δ͜ͱ͕͘͠ͳΔ • ࣾͷϕετϓϥΫςΟεͷීٴ͕େม • શମతͳӡ༻ίετ͕ߴ͍ • Developer ExperienceʹӨڹͯ͠͠·͏ • ࣾҠಈͰOnboardingίετ͕ൃੜ ٕज़ελοΫ͕ಉ͡Ͱ ϓϩμΫτຖʹCDγεςϜɾϓϩηε͕ҟͳΔ ಉ͡ϓϩμΫτͰ ෳCDγεςϜɾϓϩηε͕ଘࡏ͢Δ Product A Product B CD System X CD System Y CD System X for GCP services CD System Y for AWS Services CD System Z for Infra
ΞϓϦέʔγϣϯͷঢ়ଶΛϦΞϧλΠϜతʹՄࢹԽ • SlackͳͲΠϕϯτΞϥʔτͳͲΛ௨ • InsightsͰσϦόϦύϑΥʔϚϯεΛՄࢹԽ • PlanPreviewͰPRͷ࣌ͰૣظϑΟʔυόοΫΛఏڙ • ͲΜͳ࣌ʹ୯ҰͳΠϯλϑΣʔεɾ୯Ұͳϓϩηε Git di ff is enought? No. e.g. using remote Helm chart, Kustomize package, Terraform module... Reviewer needs more early feedback to merge PR with con fi dence Better to see dry-run result, terraform plan, deployment policy... on the PR then Git di ff is just showing the change of version number
• UIͰσϓϩΠϝϯτͷঢ়ଶɾϓϩηεͷ֬ೝ͕Մೳ • ΞϓϦέʔγϣϯͷঢ়ଶΛϦΞϧλΠϜతʹՄࢹԽ • SlackͳͲΠϕϯτΞϥʔτͳͲΛ௨ • InsightsͰσϦόϦύϑΥʔϚϯεΛՄࢹԽ • PlanPreviewͰPRͷ࣌ͰૣظϑΟʔυόοΫΛఏڙ • ͲΜͳ࣌ʹ୯ҰͳΠϯλϑΣʔεɾ୯Ұͳϓϩηε Scale In Scale Out Rollout New Image Update Con fi g Deploy Infra Deploy Serverless Rollback Deploy Kubernetes Constant process for all operations
ᶃ ᶄ ᶅ Application X Cluster A Cluster B Cluster C ᶃ ᶄ ᶅ Application X - Dev Env Application X - Stg Env Application X - Prod Env Application Infra Application X Application Y ޭͳΒ࣍ʹਐΉ ޭͳΒ࣍ʹਐΉ