SlideShare a Scribd company logo
Implementing blue-green deployments with Bamboo
Overview of blue-green deployment followed by group discussion
Twitter: @dkcwd
First a little background….
Purpose of the session
During the July 2016 Sydney Atlassian DevOps meetup there was a request from group members
to discuss blue-green deployments using Bamboo and Bitbucket.
We’re here to discuss blue-green deployment, sharing knowledge on what can work well and
discuss strategies for automating blue-green deployments.
This session will focus on a subset of the Atlassian tools however, we will discuss other tools too.
The session should:
 provide an overview of how to manage blue-green deployment with Bamboo
 encourage you to get started with your own automated blue-green deployments
Reminder about this session
We may have people of all levels of experience in this session.
The initial slides should align us with a common understanding of
blue-green deployment so we can explore the topic as a group.
When we begin the wider discussion please feel free to share your
knowledge and experience with the group and ask questions too.
What is blue-green deployment?
?
Blue-green deployment overview
Blue-green deployment is a strategy for reducing risk when making
changes which are due to be promoted into the production
environment.
Successful implementation should result in a reduction of risk and
friction for all involved in the deployment process.
So….let’s talk about what that looks like.
Overview
Prior to promoting changes to a production environment, a separate
“parallel” stack of resources is created.
This can allow near seamless switching between the stacks if
behavior is in line with expectations.
Overview
The ”current” production stack is referred to as blue and the “new”
stack which has been created is referred to as green.
Ok, that sounds expensive….is it?
Potentially!
We’re talking about creating a clone of production environment resources.
It makes sense to assess whether it is the right approach for your SDLC.
Understand the cost of downtime as well as the cost of duplicating your stack.
Frictionless deployments sound great however “bill shock” is quite the opposite.
Let’s continue…
Overview
If behavior of the green stack is in line with expectations then the
green stack should be promoted as “blue” with close to zero
downtime.
If behavior is not in line with expectations then the switch should not
take place.
If a “rollback” is required, it should be timely and low risk.
Overview
If a green stack is promoted to blue in a cloud environment, the
previous blue stack should probably be decommissioned.
Otherwise there will be some very unhappy CFOs….
Importance of environment boundaries
Persistent data stores and message queues are likely to be considered
non-disposable and may require more complex strategy….
Importance of environment boundaries
Centralised data writing strategies may be required to reduce risk of corruption.
Let’s look at some common blue-green deployment patterns.
Blue-green deploy patterns
There is no one size fits all approach however it’s good to be aware
of 2 patterns:
1. DNS cutover
2. Direct interaction with load balancers
DNS cutover
Gradually filter user traffic from blue to green stack using DNS
settings configured with a short time to live (TTL).
Monitor and if necessary ”rollback” so all traffic is diverted to the
blue stack.
The key questions are, “how long does it take to switch over and
how long to rollback?”
Direct interaction with load balancers
Avoid potential issues with DNS TTL and propagation.
Potentially leverage an additional internal load balancer to allow
further testing.
Ok so now we are aligned on that, let’s recap what Bamboo is for.
A quick reminder of what Bamboo is for….
Build, Test, Deploy
Build
Most front end application clients are composed from a variety of files and rely on assets such as
images, JavaScript, CSS.
A build process will typically involve creating an ”artefact”.
An “artefact” could be a .zip file containing an optimized version of the application.
It could also be one of more files which will be useful for a more complex process.
Build, Test, Deploy
Test
In this step the ”artefact” may be tested using one or more appropriate test methodologies.
If the tests pass then this should mean the artefact is “deployable”.
Note that there may be a number of additional steps which you may need to go through to
verify whether the artefact is actually “deployable” and once you are aware of those steps the
next step could be to automate them!
Build, Test, Deploy
Deploy
In this step the tested ”artefact” is deployed using an appropriate strategy.
If the deployment process fails for any reason, ideally it will be easy to “roll back” until another
attempt can be made.
If you are already familiar with these concepts then you should find it relatively easy to begin
working with Bamboo following the documentation.
New build plans
There are options to create a new
plan from scratch or clone one.
Making changes to a build plan
To edit a plan you will need to
select “Configure plan”….
Configuring tasks related to a build
Each step can be configured
using widgets or inline scripts….
Configuring tasks related to a build
*If checking out multiple repositories
use a specific “Checkout Directory”
* Why? Because it makes it easier to use inline scripts such as: cd example-application/stack/php-api/src/ && php composer.phar install –vvv
Can we do blue-green deployment with it?
Almost anything is possible with time…
Consider leveraging build scripts create stacks plus artefacts for
deployment then use a mixture of additional deployment and build tasks.
Consider leveraging existing add-ons in the Bamboo ecosystem or making
calls from Bamboo scripts to external APIs.
There are plenty of different tools out there to choose from including
some which have specific blue-green workflows.
An interesting platform to investigate…
https://fabric8.io/
Let’s discuss blue-green deployment strategy….
(group discussion)
So where to from here?
Great question!
Research whether blue-green is right for your SDLC and if so, start experimenting…
Some useful links for additional reading, in particular, investigate how to use a “serverless” approach to trigger changes.
http://martinfowler.com/bliki/BlueGreenDeployment.html
https://www.thoughtworks.com/insights/blog/implementing-blue-green-deployments-aws
https://botleg.com/stories/blue-green-deployment-with-docker/
http://dan.bravender.net/2014/8/24/Simple_0-Downtime_Blue_Green_Deployments.html
https://marketplace.atlassian.com/plugins/org.gaptap.bamboo.cloudfoundry.cloudfoundry-plugin/server/overview
https://www.youtube.com/watch?v=aX54mhZbN58
http://fbrnc.net/blog/2016/05/green-blue-deployments-with-aws-lambda-and-cloudformation
Enjoy and share what you do….
I’m on Twitter: @dkcwd
LinkedIn: https://au.linkedin.com/in/daveclarkprofile

More Related Content

What's hot (20)

ODP
Kubernetes Architecture
Knoldus Inc.
 
PPT
The eBay Architecture: Striking a Balance between Site Stability, Feature Ve...
Randy Shoup
 
PDF
Introduction to CICD
Knoldus Inc.
 
PPTX
Terraform on Azure
Mithun Shanbhag
 
PPTX
DevOps Roadmap.pptx
HARSH MANVAR
 
PDF
Comment être agile dans un contexte non lié aux TI ?
Pyxis Technologies
 
PDF
Introducing Kubeflow (w. Special Guests Tensorflow and Apache Spark)
DataWorks Summit
 
PPTX
Kuberenetes - From Zero to Hero
Ori Stoliar
 
PPTX
DevOps Introduction
Robert Sell
 
PPTX
Docker
Mutlu Okuducu
 
PDF
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Edureka!
 
PDF
Grokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking VN
 
PPTX
Scrum of Scrums Patterns Library
David Hanson
 
PPTX
Kubernetes workshop
Raúl Requero García
 
PPTX
1 - Introduction of Azure DevOps
Bhaumik Patel
 
PDF
Designing a complete ci cd pipeline using argo events, workflow and cd products
Julian Mazzitelli
 
PDF
Zero downtime deployment of micro-services with Kubernetes
Wojciech Barczyński
 
PDF
Getting started with kubernetes
Janakiram MSV
 
PPTX
DevOps Overview
Sagar Mody
 
Kubernetes Architecture
Knoldus Inc.
 
The eBay Architecture: Striking a Balance between Site Stability, Feature Ve...
Randy Shoup
 
Introduction to CICD
Knoldus Inc.
 
Terraform on Azure
Mithun Shanbhag
 
DevOps Roadmap.pptx
HARSH MANVAR
 
Comment être agile dans un contexte non lié aux TI ?
Pyxis Technologies
 
Introducing Kubeflow (w. Special Guests Tensorflow and Apache Spark)
DataWorks Summit
 
Kuberenetes - From Zero to Hero
Ori Stoliar
 
DevOps Introduction
Robert Sell
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Edureka!
 
Grokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking VN
 
Scrum of Scrums Patterns Library
David Hanson
 
Kubernetes workshop
Raúl Requero García
 
1 - Introduction of Azure DevOps
Bhaumik Patel
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Julian Mazzitelli
 
Zero downtime deployment of micro-services with Kubernetes
Wojciech Barczyński
 
Getting started with kubernetes
Janakiram MSV
 
DevOps Overview
Sagar Mody
 

Viewers also liked (12)

PPTX
An introduction to Atlassian Bitbucket Pipelines
Dave Clark
 
PPTX
Continuous integration using atlassian bamboo
Alexander Masalov
 
PDF
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Atlassian
 
PDF
T3DD12 community extension
AOE
 
PDF
Awesome New Bamboo Plugin Capabilities
James Dumay
 
PPTX
Atlassian Bamboo Feature Overview
Jim Bethancourt
 
PPTX
Implementation of the Continuous Integration based on Atlassian Bamboo
Анете Аннемария
 
PDF
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Matthew Cobby
 
PDF
Continuous Deployment with Bamboo and Deployit
XebiaLabs
 
PDF
AWS Connectivity, VPC Design and Security Pro Tips
Shiva Narayanaswamy
 
ODP
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Parag Gajbhiye
 
PDF
Bamboo - an introduction
Sven Peters
 
An introduction to Atlassian Bitbucket Pipelines
Dave Clark
 
Continuous integration using atlassian bamboo
Alexander Masalov
 
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Atlassian
 
T3DD12 community extension
AOE
 
Awesome New Bamboo Plugin Capabilities
James Dumay
 
Atlassian Bamboo Feature Overview
Jim Bethancourt
 
Implementation of the Continuous Integration based on Atlassian Bamboo
Анете Аннемария
 
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Matthew Cobby
 
Continuous Deployment with Bamboo and Deployit
XebiaLabs
 
AWS Connectivity, VPC Design and Security Pro Tips
Shiva Narayanaswamy
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Parag Gajbhiye
 
Bamboo - an introduction
Sven Peters
 
Ad

Similar to Implementing blue-green deployment with Atlassian Bamboo (20)

PPTX
Deployment model Blue Green deployment
jeetendra mandal
 
PPTX
Data Con LA 2019 - Orchestration of Blue-Green deployment model with AWS Docu...
Data Con LA
 
PDF
Aws blue green_deployments
saifam
 
PDF
DevSecOps - Blue is the new Green
ITSM Academy, Inc.
 
PDF
Everything about Blue-Green Deployment Strategy!
OpsTree solutions
 
PPTX
Deployment Strategies
penetration Tester
 
PPTX
Blue green deployment
Lucas Falk Beier
 
PPT
Bluemix and DevOps workshop lab
benm4nn
 
PPTX
LearnBop Blue Green AWS Deployments - October 2015
Alec Lazarescu
 
PPTX
Bluegreenpres
Paul_Ladyman
 
PDF
Deployment Strategies Powerpoint Presentation Slides
SlideTeam
 
PDF
Deployment Strategy PowerPoint Presentation Slides
SlideTeam
 
PDF
Spot Trading - A case study in continuous delivery for mission critical finan...
SaltStack
 
PPTX
More developers on DevOps with Docker orchestration
Giulio De Donato
 
PDF
Safe deployments with Blue-Green and Spinnaker
Mihnea Dobrescu-Balaur
 
PDF
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Lauren Hayward Schaefer
 
PDF
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Lauren Hayward Schaefer
 
DOCX
Containers Lab
Dev_Events
 
PDF
10 Tips for Configuring Your Builds with Bamboo Specs
Atlassian
 
PDF
London Atlassian User Group - February 2014
Steve Smith
 
Deployment model Blue Green deployment
jeetendra mandal
 
Data Con LA 2019 - Orchestration of Blue-Green deployment model with AWS Docu...
Data Con LA
 
Aws blue green_deployments
saifam
 
DevSecOps - Blue is the new Green
ITSM Academy, Inc.
 
Everything about Blue-Green Deployment Strategy!
OpsTree solutions
 
Deployment Strategies
penetration Tester
 
Blue green deployment
Lucas Falk Beier
 
Bluemix and DevOps workshop lab
benm4nn
 
LearnBop Blue Green AWS Deployments - October 2015
Alec Lazarescu
 
Bluegreenpres
Paul_Ladyman
 
Deployment Strategies Powerpoint Presentation Slides
SlideTeam
 
Deployment Strategy PowerPoint Presentation Slides
SlideTeam
 
Spot Trading - A case study in continuous delivery for mission critical finan...
SaltStack
 
More developers on DevOps with Docker orchestration
Giulio De Donato
 
Safe deployments with Blue-Green and Spinnaker
Mihnea Dobrescu-Balaur
 
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Lauren Hayward Schaefer
 
Intro to IBM Bluemix DevOps Services, an open lab for IBM InterConnect
Lauren Hayward Schaefer
 
Containers Lab
Dev_Events
 
10 Tips for Configuring Your Builds with Bamboo Specs
Atlassian
 
London Atlassian User Group - February 2014
Steve Smith
 
Ad

Recently uploaded (20)

PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 

Implementing blue-green deployment with Atlassian Bamboo

  • 1. Implementing blue-green deployments with Bamboo Overview of blue-green deployment followed by group discussion Twitter: @dkcwd
  • 2. First a little background….
  • 3. Purpose of the session During the July 2016 Sydney Atlassian DevOps meetup there was a request from group members to discuss blue-green deployments using Bamboo and Bitbucket. We’re here to discuss blue-green deployment, sharing knowledge on what can work well and discuss strategies for automating blue-green deployments. This session will focus on a subset of the Atlassian tools however, we will discuss other tools too. The session should:  provide an overview of how to manage blue-green deployment with Bamboo  encourage you to get started with your own automated blue-green deployments
  • 4. Reminder about this session We may have people of all levels of experience in this session. The initial slides should align us with a common understanding of blue-green deployment so we can explore the topic as a group. When we begin the wider discussion please feel free to share your knowledge and experience with the group and ask questions too.
  • 5. What is blue-green deployment? ?
  • 6. Blue-green deployment overview Blue-green deployment is a strategy for reducing risk when making changes which are due to be promoted into the production environment. Successful implementation should result in a reduction of risk and friction for all involved in the deployment process. So….let’s talk about what that looks like.
  • 7. Overview Prior to promoting changes to a production environment, a separate “parallel” stack of resources is created. This can allow near seamless switching between the stacks if behavior is in line with expectations.
  • 8. Overview The ”current” production stack is referred to as blue and the “new” stack which has been created is referred to as green.
  • 9. Ok, that sounds expensive….is it? Potentially! We’re talking about creating a clone of production environment resources. It makes sense to assess whether it is the right approach for your SDLC. Understand the cost of downtime as well as the cost of duplicating your stack. Frictionless deployments sound great however “bill shock” is quite the opposite. Let’s continue…
  • 10. Overview If behavior of the green stack is in line with expectations then the green stack should be promoted as “blue” with close to zero downtime. If behavior is not in line with expectations then the switch should not take place. If a “rollback” is required, it should be timely and low risk.
  • 11. Overview If a green stack is promoted to blue in a cloud environment, the previous blue stack should probably be decommissioned. Otherwise there will be some very unhappy CFOs….
  • 12. Importance of environment boundaries Persistent data stores and message queues are likely to be considered non-disposable and may require more complex strategy….
  • 13. Importance of environment boundaries Centralised data writing strategies may be required to reduce risk of corruption. Let’s look at some common blue-green deployment patterns.
  • 14. Blue-green deploy patterns There is no one size fits all approach however it’s good to be aware of 2 patterns: 1. DNS cutover 2. Direct interaction with load balancers
  • 15. DNS cutover Gradually filter user traffic from blue to green stack using DNS settings configured with a short time to live (TTL). Monitor and if necessary ”rollback” so all traffic is diverted to the blue stack. The key questions are, “how long does it take to switch over and how long to rollback?”
  • 16. Direct interaction with load balancers Avoid potential issues with DNS TTL and propagation. Potentially leverage an additional internal load balancer to allow further testing. Ok so now we are aligned on that, let’s recap what Bamboo is for.
  • 17. A quick reminder of what Bamboo is for….
  • 18. Build, Test, Deploy Build Most front end application clients are composed from a variety of files and rely on assets such as images, JavaScript, CSS. A build process will typically involve creating an ”artefact”. An “artefact” could be a .zip file containing an optimized version of the application. It could also be one of more files which will be useful for a more complex process.
  • 19. Build, Test, Deploy Test In this step the ”artefact” may be tested using one or more appropriate test methodologies. If the tests pass then this should mean the artefact is “deployable”. Note that there may be a number of additional steps which you may need to go through to verify whether the artefact is actually “deployable” and once you are aware of those steps the next step could be to automate them!
  • 20. Build, Test, Deploy Deploy In this step the tested ”artefact” is deployed using an appropriate strategy. If the deployment process fails for any reason, ideally it will be easy to “roll back” until another attempt can be made. If you are already familiar with these concepts then you should find it relatively easy to begin working with Bamboo following the documentation.
  • 21. New build plans There are options to create a new plan from scratch or clone one.
  • 22. Making changes to a build plan To edit a plan you will need to select “Configure plan”….
  • 23. Configuring tasks related to a build Each step can be configured using widgets or inline scripts….
  • 24. Configuring tasks related to a build *If checking out multiple repositories use a specific “Checkout Directory” * Why? Because it makes it easier to use inline scripts such as: cd example-application/stack/php-api/src/ && php composer.phar install –vvv
  • 25. Can we do blue-green deployment with it?
  • 26. Almost anything is possible with time… Consider leveraging build scripts create stacks plus artefacts for deployment then use a mixture of additional deployment and build tasks. Consider leveraging existing add-ons in the Bamboo ecosystem or making calls from Bamboo scripts to external APIs. There are plenty of different tools out there to choose from including some which have specific blue-green workflows.
  • 27. An interesting platform to investigate… https://fabric8.io/
  • 28. Let’s discuss blue-green deployment strategy…. (group discussion)
  • 29. So where to from here? Great question! Research whether blue-green is right for your SDLC and if so, start experimenting… Some useful links for additional reading, in particular, investigate how to use a “serverless” approach to trigger changes. http://martinfowler.com/bliki/BlueGreenDeployment.html https://www.thoughtworks.com/insights/blog/implementing-blue-green-deployments-aws https://botleg.com/stories/blue-green-deployment-with-docker/ http://dan.bravender.net/2014/8/24/Simple_0-Downtime_Blue_Green_Deployments.html https://marketplace.atlassian.com/plugins/org.gaptap.bamboo.cloudfoundry.cloudfoundry-plugin/server/overview https://www.youtube.com/watch?v=aX54mhZbN58 http://fbrnc.net/blog/2016/05/green-blue-deployments-with-aws-lambda-and-cloudformation
  • 30. Enjoy and share what you do…. I’m on Twitter: @dkcwd LinkedIn: https://au.linkedin.com/in/daveclarkprofile