![Page 1: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/1.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
DevOps Architecture Deep DiveCanary Deployment
Eric LandesSr. DevOps
Consultant
AgileThought
![Page 2: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/2.jpg)
www.agilethought.com 3
Eric is a scrum.org certified professional Scrum trainer. He is experienced in working with small and large enterprise development organizations and individuals. His years of experience as an Agile Coach, DevOps Consultant and Technical Architect contribute to his solutions presented. Eric has presented on Kanban, Unit Testing, Agile and other topics at many conferences and user groups.
@EricLandes
![Page 3: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/3.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Agenda
• DevOps Practices
• Review of Continuous Deployment
Patterns
• Benefits of a Canary Deployment
Pattern
• What does it take to move to a Canary
deployment pattern?
• Moving from A/B to Canary
• Q&A
![Page 4: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/4.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Puppet Labs Measures DevOps Maturity
According to the 2018 report:
• Highly evolved organizations are
23X more likely to reuse
deployment patterns.
• Highly evolved organizations are
44X more likely to reuse Testing
Patterns.
![Page 5: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/5.jpg)
Achiving a High Level of Maturity
• Metrics
• Automation
• Development Team Agility
• DevOps Practices and Habits
This Photo by Unknown Author is licensed under CC BY-NC-ND
![Page 6: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/6.jpg)
Metrics
• Cycle Time, Lead Time can be useful.
• Cumulative Flow is another metric
• Let’s look at what that looks like!
This Photo by Unknown Author is licensed under CC BY-NC
![Page 7: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/7.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
DevOps Practices and Habits
Microsofts :
• Visual Studio Program teams
moved from every monolithic
releases to a continuous delivery
model starting with the 2010
release.
• Their experience came up with 7
practices and 7 habits for Devops.
![Page 8: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/8.jpg)
Devops Habits
Rigorous Management of Tech Debt
HypotheisisDriven
Development
Live Site Culture
Manage Infrastructure as a Flexible
Resource
Team Autonomy and Enterprise
Alignment
Focus on Flow of Customer
Value
Evidence Gathered in Production
![Page 9: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/9.jpg)
Devops Practices and Habits
Config Management
Release Management
Continuous Integration
Test Automation
Continuous Deployment
Infrastructure as code
Application Performance
Testing
![Page 10: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/10.jpg)
Continuous Delivery
“Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time” - Martin Fowler
• Scrum assumes shippable code by end of sprint
• CI/CD are good engineering practices
• There is a good post around CD patterns by ItayShakury. We will discuss those patterns.
![Page 11: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/11.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
CD Patterns
Reckless Deployment
Rolling Upgrade
Blue/Green
Canary
Versioned
![Page 12: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/12.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Benefits of Canary Deployments
• Feedback on features from actual
customers
• Ability to target customers
• Can fine tune features with real
customer feedback before rolling out to
all customers
![Page 13: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/13.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Demo of Current Deployment State
![Page 14: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/14.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
TEST AUTOMATION
• Deployment Pipelines include Test
Automation
• Types of Test Automation
![Page 15: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/15.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Demo of Test Automation
![Page 16: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/16.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Steps to move to Canary
• Implement Feature Toggling
• Think modular!
• Good quality at that modular level
• Plan rollout methods
![Page 17: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/17.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Feature Toggling
• Use a library in code.
• Do this after the code is fairly stable,
not early in development
• Martin Fowler has a great post on
feature toggles (Feature Toggles (aka
Feature Flags)
• Do you need feature branches? Pros
and Cons
![Page 18: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/18.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
DEMO IMPLEMENTING FEATURE TOGGLING
![Page 19: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/19.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Implications to the Pipeline
• Configuration transformation
• Enable monitoring for new features
.
![Page 20: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/20.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
What changes do we need?
![Page 21: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/21.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Demo New Pipeline
![Page 22: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/22.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Summary
• Canary deployments can help Gather
evidence to support your Hypothesis
driven development, helping to deliver
better software to your customers
• Use tools like Feature Toggles to
achieve canary deployments
• Your development and deployments
need to be rock solid
.
![Page 23: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/23.jpg)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
QUESTIONS
![Page 24: DevOps Architecture Deep Dive Canary Deploymentfiles.informatandm.com/uploads/2018/10/Canary_Deployment_Your... · DevOps Architecture Deep Dive Canary Deployment Eric Landes Sr](https://reader030.vdocuments.net/reader030/viewer/2022040604/5ea5417942d01b586c45cbb3/html5/thumbnails/24.jpg)
Stay Connected
If you have questions or would like more information, feel free to contact me via email [email protected]
• linkedin.com/in/ericlandes
• @ericlandes
• www.agilethought.com
• www. linkedin.com/company/AgileThought
• @AgileThought