SlideShare a Scribd company logo
Blue-green deployment
In practice
devops Journey@LATAM
Agenda
❏¿Que es Blue-green deployment?
❏¿Cual son su beneficios y custos?
❏¿Qué cuidados tenemos que tomar?
❏Blue-green en practica
Cómo podremos poner software en producción y minimizar
el downtime?
Cómo podremos hacer rollback rapidamente?
ver 1.0
ver 0.9
ver 1.0
ver 1.1
ver 1.0
ver 1.1
Sounds good!
But is there something we might need to watch out?
Things to watch out
❏Infrastructure
❏Shared underlying infrastructures (VMs, Docker)
❏Long running transactions on current environment
❏Backward incompatible changes
❏Database migrations
❏ Changes on APIs response
Dealing with backward incompatibility
❏Expand and contract strategy
❏Works for changes on:
❏ API contracts breaks
❏ DB Changes
❏ Dependent systems (Sabre, coordinated microservices changes)
Changing DB schema
❏Separate deploy:
❏ Schema changes
❏ Application upgrades
❏DB refactoring + current application version = rollback point
Expand and contract applied on DB changes
❏Apply a database refactoring
❏ expand DB
❏Deploy the database refactoring
❏ expand app
❏Remove the support to older schema
❏ contract db and app
Live demo
When the things usually don't work as expected...
Muchas gracias!
lbeier@thoughtworks.com
github.com/tutabeier
#deliverysquad
#deliverytribe

More Related Content

PPTX
Deployment model Blue Green deployment
PDF
CI/CD Tools Universe: The Ultimate List
PDF
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
PDF
CD using ArgoCD(KnolX).pdf
PDF
Kubernetes Introduction
PDF
Getting Started with Kubernetes
PDF
Introduction to docker
PDF
EKS를 통한 차량 공유 서비스 '타다' 서비스 구축기 - 김태호, VCNC :: AWS Summit Seoul 2019
Deployment model Blue Green deployment
CI/CD Tools Universe: The Ultimate List
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
CD using ArgoCD(KnolX).pdf
Kubernetes Introduction
Getting Started with Kubernetes
Introduction to docker
EKS를 통한 차량 공유 서비스 '타다' 서비스 구축기 - 김태호, VCNC :: AWS Summit Seoul 2019

What's hot (20)

PPT
Domain Driven Design (DDD)
PDF
Formation autour de git et git lab
PPTX
Multi-Cluster and Failover for Apache Kafka - Kafka Summit SF 17
PDF
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
PDF
AWS 엣지 서비스를 통한 글로벌 서비스 관리 전략 - AWS Summit Seoul 2017
PDF
맛만 보자 액터 모델이란
PDF
Gitlab, GitOps & ArgoCD
PDF
GitOps with ArgoCD
PDF
A brief introduction to version control systems
PDF
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
PPTX
CICD Pipeline - AWS Azure
PPTX
Kubernetes PPT.pptx
PDF
webservice scaling for newbie
PPSX
CI-CD Jenkins, GitHub Actions, Tekton
PPTX
Deploying Azure DevOps using Terraform
PDF
Comparison of SVN and Git
PPTX
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
PPTX
Terraform Basics
PDF
ArgoCD Meetup PPT final.pdf
PDF
TDD (Test-driven development, 測試驅動開發) 基本教學
Domain Driven Design (DDD)
Formation autour de git et git lab
Multi-Cluster and Failover for Apache Kafka - Kafka Summit SF 17
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
AWS 엣지 서비스를 통한 글로벌 서비스 관리 전략 - AWS Summit Seoul 2017
맛만 보자 액터 모델이란
Gitlab, GitOps & ArgoCD
GitOps with ArgoCD
A brief introduction to version control systems
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
CICD Pipeline - AWS Azure
Kubernetes PPT.pptx
webservice scaling for newbie
CI-CD Jenkins, GitHub Actions, Tekton
Deploying Azure DevOps using Terraform
Comparison of SVN and Git
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Terraform Basics
ArgoCD Meetup PPT final.pdf
TDD (Test-driven development, 測試驅動開發) 基本教學
Ad

Similar to Blue green deployment (20)

PDF
Optymalizacja środowiska Open Source w celu zwiększenia oszczędności i kontroli
 
PDF
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
PDF
Optimizing Open Source for Greater Database Savings & Control
 
PDF
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
PDF
Continuous Deployment to the Cloud - Topher Bullock
PPTX
8.cloud migration
PDF
Picking the Right Clustering for MySQL - Cloud-only Services or Flexible Tung...
PDF
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
PPTX
How to migrate workloads to the google cloud platform
PDF
Cloud-Native Data: What data questions to ask when building cloud-native apps
PPTX
MSFT MAIW Data Mod - Session 1 Deck_Why Migrate your databases to Azure_Sept ...
PDF
ukoug-soa-sig-june-2016 v0.5
PDF
Upgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project Experiences
PDF
Migrating Into the Cloud: The Brownfield vs. Greenfield Opportunity
PDF
GPCloud ( GP on PKS)
PPTX
Ceph Day New York 2014: Ceph and the Open Ethernet Drive Architecture
PDF
Optimizing Open Source for Greater Database Savings and Control
 
PPTX
Cloud native fundamentals
PDF
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
PDF
How to plug the data gap in DevOps
Optymalizacja środowiska Open Source w celu zwiększenia oszczędności i kontroli
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Optimizing Open Source for Greater Database Savings & Control
 
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
Continuous Deployment to the Cloud - Topher Bullock
8.cloud migration
Picking the Right Clustering for MySQL - Cloud-only Services or Flexible Tung...
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
How to migrate workloads to the google cloud platform
Cloud-Native Data: What data questions to ask when building cloud-native apps
MSFT MAIW Data Mod - Session 1 Deck_Why Migrate your databases to Azure_Sept ...
ukoug-soa-sig-june-2016 v0.5
Upgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project Experiences
Migrating Into the Cloud: The Brownfield vs. Greenfield Opportunity
GPCloud ( GP on PKS)
Ceph Day New York 2014: Ceph and the Open Ethernet Drive Architecture
Optimizing Open Source for Greater Database Savings and Control
 
Cloud native fundamentals
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
How to plug the data gap in DevOps
Ad

Recently uploaded (20)

PPTX
Online Work Permit System for Fast Permit Processing
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Digital Strategies for Manufacturing Companies
PPT
Introduction Database Management System for Course Database
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Nekopoi APK 2025 free lastest update
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
Transform Your Business with a Software ERP System
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
L1 - Introduction to python Backend.pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Online Work Permit System for Fast Permit Processing
Which alternative to Crystal Reports is best for small or large businesses.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Wondershare Filmora 15 Crack With Activation Key [2025
CHAPTER 2 - PM Management and IT Context
Digital Strategies for Manufacturing Companies
Introduction Database Management System for Course Database
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Nekopoi APK 2025 free lastest update
PTS Company Brochure 2025 (1).pdf.......
Navsoft: AI-Powered Business Solutions & Custom Software Development
ISO 45001 Occupational Health and Safety Management System
Transform Your Business with a Software ERP System
Design an Analysis of Algorithms I-SECS-1021-03
ManageIQ - Sprint 268 Review - Slide Deck
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Understanding Forklifts - TECH EHS Solution
L1 - Introduction to python Backend.pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool

Blue green deployment

Editor's Notes

  • #5: Blue-green is a technique to deploy your application in a predictable manner and one of the goals is to reduce the downtime associated with the release. Simply you have two identical environments. In our case, the green environment has the current version of our application. When you ran all your integration pipeline and tests, you can deploy the new version of application to blue environment and run some smoke tests and any other tests you might find worth to do so. Api Management as Load Balancer for Services
  • #6: Blue-green is a technique to deploy your application in a predictable manner and one of the goals is to reduce the downtime associated with the release. Simply you have two identical environments. In our case, the green environment has the current version of our application. When you ran all your integration pipeline and tests, you can deploy the new version of application to blue environment and run some smoke tests and any other tests you might find worth to do so. Api Management as Load Balancer for Services
  • #7: Once you are confident that the version the new version is stable, you simply switch the load balancer/router to the blue environment. Now you can monitor for any issues in the new release. If everything looks good, you can shutdown the green env and use it to stage any new releases. If you find any issues, you can simply point the loadbalancer back to green. This way you the blue and green envs are cycling between live (current), previous (for rollback) and next version.
  • #9: You have to have an infrastructure to deal with this When you try blue-green in a non-isolated infrastructure, you run the risk of destroying BOTH blue and green envs When you switch over to blue, you have to gracefully handle those outstanding transactions as well as the new ones. Database migrations can get really tricky and would have to be migrated/rolledback alongside the app deployments.
  • #10: Databases can often be a challenge, specially if you are changing the schema. The tip is to separate the deployment of schemas changes from application upgrades First apply a database refactoring to change the schema to support the old and new version of the application, then deploy the DB refactoring After you make sure everything works fine with the current version of application (to have a rollback point), deploy the new version of the application Once you make sure things are working as expected, remove the support to the older version.
  • #11: Databases can often be a challenge, specially if you are changing the schema. The tip is to separate the deployment of schemas changes from application upgrades First apply a database refactoring to change the schema to support the old and new version of the application, then deploy the DB refactoring After you make sure everything works fine with the current version of application (to have a rollback point), deploy the new version of the application Once you make sure things are working as expected, remove the support to the older version.
  • #12: Databases can often be a challenge, specially if you are changing the schema. The tip is to separate the deployment of schemas changes from application upgrades First apply a database refactoring to change the schema to support the old and new version of the application, then deploy the DB refactoring After you make sure everything works fine with the current version of application (to have a rollback point), deploy the new version of the application Once you make sure things are working as expected, remove the support to the older version.