SlideShare a Scribd company logo
1 of 33
Willy[-Peter] Schaub
Program Manager | Developer Ops Canada
willys@microsoft.com
@wpschaub
I work
here
I was born here
I grew up here
Truk Lagoon
Semiahmoo Bay
Protea Banks
Hawaii
Wondergat
Aliwal Shoal
Truk Lagoon
DevOps
Visual Studio
Application Insights
Any Language, Any Platform
Notes from Day #1
Canary Release?
Related to Heidi
Waterhouse’s
talks “Y2K and Other
Disappointing
Disasters” and
“Devil’s DevOps”
This Photo by Unknown Author is licensed under CC BY
What is DevOps?
Increase flow of value Shorten cycle times Continuously Improve
Ring-Based Deployment
Continuous Integration (CI) Continuous Delivery (CD)
checkin
PIPELINE
PRODUCTION
BLASTRADIUS
RINGS
auto trigger
Canaries
❶
approval
Early
Adopters
❷
approval
Users
❸
Jez Humble: https://www.continuousdelivery.com
What’s the VALUE?
Rings
Feature Flags
Feature Flag management service❶
Run-time query to determine flag value❷
if ( flag )
else
❸
Martin Fowler: https://martinfowler.com/bliki/FeatureToggle.html
What’s the VALUE?
Feature Flags
Rings - Visual Studio Team Services (VSTS )
Tracking Deployments to Production
Feature Flags - VSTS
Feature Flags – fine tune user experience
Rings – ALM | DevOps Rangers VSTS Extensions
Managing blast radius with VSTS Extensions
Flags – ALM | DevOps Rangers VSTS Extensions
Feature Flags – fine tune user experience with LaunchDarkly
ON
OFF
SaaS Management
if ( flag )
else
VSTS Extension
get/set flagAzure
Function
SDK
get token
www.github.com/alm-rangers
QUICK comparison of rings and flags
Progressive exposure
Primary cost
Primary use
Blast radius
YES
Production env
Release blast radius
All users in ring
YES
Technical Debt
Fine tune release
0, specific, all
Progressive exposure has a cost!
Caution!
References
aka.ms/devops
aka.ms/vsar-rings
aka.ms/vsar-flags
aka.ms/vsar-rings-flags
aka.ms/vsar-pipes
aka.ms/bh-ff-sos
aka.ms/vsar-ff-sos
aka.ms/willys-devopsdays-van-2018 DEMO SLIDES
Feature Flags
Rings
Learning from
mistakes 
Progressive exposure using deployment rings and feature flags

More Related Content

What's hot

ROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
ROI & Business Value of CI, CD, DevOps, DevSecOps, & MicroservicesROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
ROI & Business Value of CI, CD, DevOps, DevSecOps, & MicroservicesDavid Rico
 
The Paved Road at Netflix
The Paved Road at NetflixThe Paved Road at Netflix
The Paved Road at NetflixDianne Marsh
 
Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringAdityo Pratomo
 
Jira as a Project Management Tool
Jira as a Project Management ToolJira as a Project Management Tool
Jira as a Project Management ToolPaolo Mottadelli
 
cPrime Agile Enterprise Transformation
cPrime Agile Enterprise TransformationcPrime Agile Enterprise Transformation
cPrime Agile Enterprise TransformationCprime
 
CI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformCI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformDevOps Indonesia
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...SlideTeam
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Janusz Nowak
 
DevOps Engineer Day-to-Day Activities
DevOps Engineer Day-to-Day Activities DevOps Engineer Day-to-Day Activities
DevOps Engineer Day-to-Day Activities Intellipaat
 
Everything You Need to Know about JIRA Core
Everything You Need to Know about JIRA CoreEverything You Need to Know about JIRA Core
Everything You Need to Know about JIRA CoreAtlassian
 
Understanding Roles on an Agile Project
Understanding Roles on an Agile ProjectUnderstanding Roles on an Agile Project
Understanding Roles on an Agile ProjectKent McDonald
 
Linda rising - the power of an agile mindset
Linda rising  - the power of an agile mindsetLinda rising  - the power of an agile mindset
Linda rising - the power of an agile mindsetMagneta AI
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfKnoldus Inc.
 
Flexible, hybrid API-led software architectures with Kong
Flexible, hybrid API-led software architectures with KongFlexible, hybrid API-led software architectures with Kong
Flexible, hybrid API-led software architectures with KongSven Bernhardt
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps Chetan Gordhan
 
Introduction To Confluence
Introduction To ConfluenceIntroduction To Confluence
Introduction To ConfluenceHua Soon Sim
 
Agile transformation Explanined
Agile transformation ExplaninedAgile transformation Explanined
Agile transformation ExplaninedLeadingAgile
 

What's hot (20)

ROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
ROI & Business Value of CI, CD, DevOps, DevSecOps, & MicroservicesROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
ROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
The Paved Road at Netflix
The Paved Road at NetflixThe Paved Road at Netflix
The Paved Road at Netflix
 
Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform Engineering
 
Jira as a Project Management Tool
Jira as a Project Management ToolJira as a Project Management Tool
Jira as a Project Management Tool
 
cPrime Agile Enterprise Transformation
cPrime Agile Enterprise TransformationcPrime Agile Enterprise Transformation
cPrime Agile Enterprise Transformation
 
CI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformCI/CD on Google Cloud Platform
CI/CD on Google Cloud Platform
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
DevOps Engineer Day-to-Day Activities
DevOps Engineer Day-to-Day Activities DevOps Engineer Day-to-Day Activities
DevOps Engineer Day-to-Day Activities
 
Everything You Need to Know about JIRA Core
Everything You Need to Know about JIRA CoreEverything You Need to Know about JIRA Core
Everything You Need to Know about JIRA Core
 
Understanding Roles on an Agile Project
Understanding Roles on an Agile ProjectUnderstanding Roles on an Agile Project
Understanding Roles on an Agile Project
 
Azure DevOps AI
Azure DevOps AIAzure DevOps AI
Azure DevOps AI
 
Linda rising - the power of an agile mindset
Linda rising  - the power of an agile mindsetLinda rising  - the power of an agile mindset
Linda rising - the power of an agile mindset
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdf
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
Flexible, hybrid API-led software architectures with Kong
Flexible, hybrid API-led software architectures with KongFlexible, hybrid API-led software architectures with Kong
Flexible, hybrid API-led software architectures with Kong
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
Introduction To Confluence
Introduction To ConfluenceIntroduction To Confluence
Introduction To Confluence
 
Agile transformation Explanined
Agile transformation ExplaninedAgile transformation Explanined
Agile transformation Explanined
 

Similar to Progressive exposure using deployment rings and feature flags

DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
Integrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slidesIntegrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slidesatlgopi
 
Shift Left Mobile Application Testing
Shift Left Mobile Application TestingShift Left Mobile Application Testing
Shift Left Mobile Application TestingJosiah Renaudin
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA
 
Using QuickBooks as a Model for Updating Mature Software for Accessibility cs...
Using QuickBooks as a Model for Updating Mature Software for Accessibility cs...Using QuickBooks as a Model for Updating Mature Software for Accessibility cs...
Using QuickBooks as a Model for Updating Mature Software for Accessibility cs...Ted Drake
 
Full Cycle Traceability via a Product Portfolio Kanban
Full Cycle Traceability via a Product Portfolio KanbanFull Cycle Traceability via a Product Portfolio Kanban
Full Cycle Traceability via a Product Portfolio KanbanStephen Chin
 
Continuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons LearnedContinuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons LearnedAsh Maurya
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA
 
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesGetting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesAmazon Web Services
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HEREStefan Verhoeff
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringWeaveworks
 
QA in Digitalized World by Kari Kakkonen at KDS2015
QA in Digitalized World by Kari Kakkonen at KDS2015QA in Digitalized World by Kari Kakkonen at KDS2015
QA in Digitalized World by Kari Kakkonen at KDS2015Kari Kakkonen
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
Fundamental Concepts of DevOps
Fundamental Concepts of DevOpsFundamental Concepts of DevOps
Fundamental Concepts of DevOpsKiril Serebnik
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle ManagementAmazon Web Services
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]Dynatrace
 

Similar to Progressive exposure using deployment rings and feature flags (20)

DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Integrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slidesIntegrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slides
 
Shift Left Mobile Application Testing
Shift Left Mobile Application TestingShift Left Mobile Application Testing
Shift Left Mobile Application Testing
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
Using QuickBooks as a Model for Updating Mature Software for Accessibility cs...
Using QuickBooks as a Model for Updating Mature Software for Accessibility cs...Using QuickBooks as a Model for Updating Mature Software for Accessibility cs...
Using QuickBooks as a Model for Updating Mature Software for Accessibility cs...
 
Full Cycle Traceability via a Product Portfolio Kanban
Full Cycle Traceability via a Product Portfolio KanbanFull Cycle Traceability via a Product Portfolio Kanban
Full Cycle Traceability via a Product Portfolio Kanban
 
Continuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons LearnedContinuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons Learned
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesGetting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform Engineering
 
Starting and Scaling Devops
Starting and Scaling Devops Starting and Scaling Devops
Starting and Scaling Devops
 
Starting and Scaling DevOps
Starting and Scaling DevOpsStarting and Scaling DevOps
Starting and Scaling DevOps
 
QA in Digitalized World by Kari Kakkonen at KDS2015
QA in Digitalized World by Kari Kakkonen at KDS2015QA in Digitalized World by Kari Kakkonen at KDS2015
QA in Digitalized World by Kari Kakkonen at KDS2015
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Fundamental Concepts of DevOps
Fundamental Concepts of DevOpsFundamental Concepts of DevOps
Fundamental Concepts of DevOps
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 

Recently uploaded

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Progressive exposure using deployment rings and feature flags

Editor's Notes

  1. Welcome. Today we’ll talk about progressive exposure using deployment rings and feature flags. Is everyone in the right session?
  2. So, my name is Willy Schaub I’m a program manager with the Visual Studio Team Services and the ALM | DevOps Rangers teams. Contact me at willys@microsoft.com or give me a shout on twitter @wpschaub.
  3. In case you're wondering about my accent, I was born in Basel Switzerland, I grew up in sunny Johannesburg South-Africa, and am currently working in Vancouver Canada, the city with the liquid sun.
  4. Here are a few pictures showing my interests once I’m unplugged from digital world. I love to explore our oceans, I’m fascinated by aviation, and enjoy watching sunsets wherever I am.
  5. I work on a thing called Visual Studio Team Services, or VSTS, and with the ALM | DevOps Rangers, a part-time community VSTS is our collaboration solution for engineering teams, allowing you to take an idea, plan, develop, test, release, and monitor your solutions. ​<CLICK> Whether you are targeting the cloud, hybrid cloud, or an on-prem environment, VSTS is our Azure DevOps solution, for any language, any platform. CLOUD – HYBRID CLOUD – ON-PREM
  6. Here’s our very own definition of DevOps, which is … “the union of PEOPLE, PROCESS and PRODUCTS to enable the continuous delivery of value to our CUSTOMERS”. In this session we’ll focus on two strategies we use to continuously deliver value to our users. Ring deployments and feature flags.
  7. Rings …
  8. … as first discussed in Jez Humble’s book, make it possible to progressively deploy binary bits and have multiple production releases running in parallel. For example, when your developers complete a pull request with proposed changes to the master branch, <CLICK> (1) a continuous integration build performs the build, unit testing, and triggers an automatic release to the Canaries environment in production. When you're confident that the release is ready for user acceptance and exploratory testing in production … <CLICK> (2) you approve the release to the Early Adopters ring. <CLICK> Similarly, when you're confident that the release is ready for prime time, (3) you approve the release to the Users ring. The names and number of rings depends on your preferences, but it's important that all rings are using the same release and are all in your production environment.
  9. Using a ring-deployment strategy … You can gather feedback to validate your hypothesis Decommission old releases, and Distribute new releases when you are confident that everything is working properly … … without the risk of affecting all users in PRODUCTION. It’s about progressively exposure your release to more and more users.
  10. Feature Flags …
  11. … popularised by Martin Fowler, decouple release deployment and feature exposure, down to the individual user. A typical feature flag implementation is based on <CLICK> (1) a management service that defines the flag and its false, true, or multi-value. <CLICK> (2) a run-time query to figure out the value of the flag, and <CLICK> (3) an if-else programming construct.
  12. Using feature flags … You can hide incomplete, regional or unreleased features in production You can fine tune a release for all or selected users Emergency roll-back … feature does not work? Flip a flag and it’s gone.
  13. Let’s look more closely at how we use rings and feature flags and what we learned to date.
  14. For VSTS we use the ring-deployment model for our production environment, with multiple rings. The first ring is our canary ring. That's where we live, for example the VSTS team, the Early Adopters, and the ALM | DevOps Rangers. We’re going to be the first to experience pain if there’s an issue with the release … which is great. Then we release to and test the smallest data centre, then the largest data centre, the international data centres, and finally all the rest. TEST IN PROD – EVERYTHING IS IN PROD CANARY – SMALLEST – BIGGEST – LATENCY - MAINLAND
  15. We ship features every 3-weeks and bug-fixes daily, sometimes multiple times a day, in production. We use a custom feature flags solution to progressively expose, test, enable or disable features, for everyone, selected users, or as selected by users.
  16. The Ranger community also use the ring-deployment model for their production environment, with three rings. The first ring is our canary ring and includes all active Rangers. <CLICK> The second contains our early adopters who are willing to share the pain of evaluating preview bits and help us raise the quality bar. <CLICK> The third is the Users ring, which contains all the users who have access to the public marketplace. TEST IN PROD – EVERYTHING IS IN PROD
  17. When we explored the use of feature flags for our VSTS Extensions, we reviewed custom, open source, and service-based solutions. <CLICK> We decided to keep it simple and opted for LaunchDarkly. It’s comprehensive, it’s simple, and they support the open source community. <CLICK> We also abstracted the feature flag logic to query and set feature flags in Azure Functions to keep our extension code as simple as possible. <CLICK> Both our extension and the Azure Function solutions are open source. You can find, use, and contribute to them on GitHub.
  18. Here’s a quick comparison of how the ALM | DevOps Ranger community views rings and flags in the context of VSTS Extensions. Both support progressive exposure. For rings the primary cost is the maintenance of the production environment. For flags it’s the technical debt. We use rings to manage the release blast radius, and flags to fine tune the release. The blast radius for a ring includes all its users. For Feature flags we can target none, specific, or all users.
  19. Caution …
  20. … and be aware that progressive expose comes at a cost. By adding flags you’re adding technical debt to your code and increasing your code and test paths. It’s also important to understand the implications of flipping a feature flag. <CLICK> We had our Corporate Vice President, Brian Harry, on stage when we flipped a feature flag at a big marketing event. It didn’t go well. When we enabled the feature, everyone started using it, we experienced authentication failures, and the backend systems buckled under load. <CLICK> When we enabled feature flags in one of our most popular VSTS extensions, users experienced 503 errors, then severe performance issues as our Azure Functions failed under load. In both examples we did not anticipate the impact on our system. We investigated, mitigated, learned a lot, and shared the experience in two comprehensive blog posts that you should explore. It’s a common theme in DevOps. A journey of continuous learning and improvement, with a destination you never quite get to.
  21. Finally, here are a few short links for reference information, including the two mentioned blog posts.
  22. Thanks for listening! Any comments or questions?
  23. Thanks for listening! Any comments or questions?