SlideShare a Scribd company logo
1 of 7
Download to read offline
Canary
Deployments
Canary Deployments
Canary deployment is a pattern that allows us to rollout
code , features , changes to an initial subset
of users
/servers
before we take it to 100% .
v1 00
roll out to Canary
if all good ,
roll out to 100% Of servers
v10 1
if something is
wrong ,
rollback
Canary deployment thus acts as an Early Warning Indicator
so that we could avoid a massive outage
The flow would be :
1. deploy the new version to one server
2. monitor the vitals : CPU ,
RAM ,
error rates
3. test the
changes explicitly on
Canary
4.
if all good,
rollout to remain
g
servers
5 .
if something is
wrong,
rollback
Why the name
"
Canary deployment
"
?
In 1920s
during coal
mining .
the
miners used to
carry caged Canaries into
the coal mines .
%)
if there was a high level of toxic
gas ,
the Canary would die , alerting the miners to evacuate .
In our
Canary deployment the
few servers
/ users cue rollout
to our Canaries
for us that
-
provides early warnings if something goes wrong
How
Canary deployments are implemented ?
We create a small parallel infrastructure and put a
proxy like load Balancer or API gateway in
front
5J.
7
< s r
¥ < > a
1
95%
proxy
Pros of doing a
Canary deployment
-
allows us to test the
changes in production with real users
0
> The fleet can be
¥
< s r
logically separate
,
< > <
or
physically
1
separate
load Balancer
API gateway
-
rollbacks are much
faster
Because the new version
of code is
deployed on
only a few
machines ,
rolling back our
changes requires us to rollback
only those few machines .
0%
0
¥
< s r
:< s
r
>
'
100%
- minimal blast radius
if the new version of code has
"
bugs
"
with
Canary deployment it would affect a
very limited set of requests
-
Zero downtime deployments
incremental rollout : 1% ,
5%
,
10%
,
20% ,
50% ,
100T .
-
we could
deploy even when are are unsure about the new release
-
We can use
Canary setup to do AIB Testing
eg : search v1 and search v2
monitor CTR side by side
Note: Selection
of servers / users can be more sophisticated
-
geographical -
sticky + random selection
-
user cohorts -
internal employees
-
random selection selection criteria is usecase
specific
-
beta users
Cons
of doing a
Canary deployment
-
engineers will be habituated to test in production
Testing should never happen in production,
but if we have
a
Canary deployment we are
encouraging engineers
to test
in the production environment ,
and slowly we may find
most testing happening in
production
-
architect
ng a
Canary deployment is complex
Extra infra components : LB ,
API
gateway , separate scaling
policy .
instance/container launch config ele .
-
parallel monitoring setup
observability is
super-
important in
Canary setup
side by side comparison of vitals -
CPU .
RAM , response times.
exceptions ,
etc.
100
gym
CPU
Utilization
no 0
You absolutely need
Canary
↓
When you see -
wrote
your service
You would not do a 010L
Auth Java.
Smith
from one service to
another .
Auth Golang This has to be done
incrementally
Proxy
100
'
1-
of traffic will be moved to new Aum Service written in
golang
only after you
have 100% confidence about
the correctness of implementation

More Related Content

Similar to An in-depth introduction to Canary Deployments PDF.pdf

New Ways To Production - Stress-Free Evolution Of Your Cloud Applications
New Ways To Production - Stress-Free Evolution Of Your Cloud ApplicationsNew Ways To Production - Stress-Free Evolution Of Your Cloud Applications
New Ways To Production - Stress-Free Evolution Of Your Cloud ApplicationsMichael Hofmann
 
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns ThoughtWorks Studios
 
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment PatternsHow do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment PatternsThoughtworks
 
Hands-On Lab: Take CA Release Automation for a Test Drive
Hands-On Lab: Take CA Release Automation for a Test DriveHands-On Lab: Take CA Release Automation for a Test Drive
Hands-On Lab: Take CA Release Automation for a Test DriveCA Technologies
 
Canary Deployments for Kubernetes (KubeCon 2018 North America)
Canary Deployments for Kubernetes (KubeCon 2018 North America)Canary Deployments for Kubernetes (KubeCon 2018 North America)
Canary Deployments for Kubernetes (KubeCon 2018 North America)Nail Islamov
 
Viavi_TeraVM Core Emulator.pptx
Viavi_TeraVM Core Emulator.pptxViavi_TeraVM Core Emulator.pptx
Viavi_TeraVM Core Emulator.pptxmani723
 
Kubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF WebinarKubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF WebinarEtienne Tremel
 
Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016Thomas Shaw
 
Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10Vishnu Kannan
 
KFServing - Serverless Model Inferencing
KFServing - Serverless Model InferencingKFServing - Serverless Model Inferencing
KFServing - Serverless Model InferencingAnimesh Singh
 
Canary Releases on Kubernetes w/ Spinnaker, Istio, and Prometheus
Canary Releases on Kubernetes w/ Spinnaker, Istio, and PrometheusCanary Releases on Kubernetes w/ Spinnaker, Istio, and Prometheus
Canary Releases on Kubernetes w/ Spinnaker, Istio, and PrometheusKublr
 
Past, Present and Future of Apache Ambari
Past, Present and Future of Apache AmbariPast, Present and Future of Apache Ambari
Past, Present and Future of Apache AmbariArtem Ervits
 
Reliability Testing in OPNFV
Reliability Testing in OPNFVReliability Testing in OPNFV
Reliability Testing in OPNFVOPNFV
 
NetflixOSS Meetup S6E2 - Spinnaker, Kayenta
NetflixOSS Meetup S6E2 - Spinnaker, KayentaNetflixOSS Meetup S6E2 - Spinnaker, Kayenta
NetflixOSS Meetup S6E2 - Spinnaker, Kayentaaspyker
 
Trunk based development and Canary deployment
Trunk based development and Canary deploymentTrunk based development and Canary deployment
Trunk based development and Canary deploymentHai Lu
 
Vsc 71-se-presentation-training
Vsc 71-se-presentation-trainingVsc 71-se-presentation-training
Vsc 71-se-presentation-trainingnarit_ton
 
CA Unified Infrastructure Management Network Performance Management Capabili...
 CA Unified Infrastructure Management Network Performance Management Capabili... CA Unified Infrastructure Management Network Performance Management Capabili...
CA Unified Infrastructure Management Network Performance Management Capabili...CA Technologies
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)VMware Tanzu
 

Similar to An in-depth introduction to Canary Deployments PDF.pdf (20)

New Ways To Production - Stress-Free Evolution Of Your Cloud Applications
New Ways To Production - Stress-Free Evolution Of Your Cloud ApplicationsNew Ways To Production - Stress-Free Evolution Of Your Cloud Applications
New Ways To Production - Stress-Free Evolution Of Your Cloud Applications
 
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
 
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment PatternsHow do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
 
Hands-On Lab: Take CA Release Automation for a Test Drive
Hands-On Lab: Take CA Release Automation for a Test DriveHands-On Lab: Take CA Release Automation for a Test Drive
Hands-On Lab: Take CA Release Automation for a Test Drive
 
Advanced deployment scenarios
Advanced deployment scenariosAdvanced deployment scenarios
Advanced deployment scenarios
 
Canary Deployments for Kubernetes (KubeCon 2018 North America)
Canary Deployments for Kubernetes (KubeCon 2018 North America)Canary Deployments for Kubernetes (KubeCon 2018 North America)
Canary Deployments for Kubernetes (KubeCon 2018 North America)
 
Viavi_TeraVM Core Emulator.pptx
Viavi_TeraVM Core Emulator.pptxViavi_TeraVM Core Emulator.pptx
Viavi_TeraVM Core Emulator.pptx
 
Kubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF WebinarKubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF Webinar
 
Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016
 
Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10
 
KFServing - Serverless Model Inferencing
KFServing - Serverless Model InferencingKFServing - Serverless Model Inferencing
KFServing - Serverless Model Inferencing
 
Canary Releases on Kubernetes w/ Spinnaker, Istio, and Prometheus
Canary Releases on Kubernetes w/ Spinnaker, Istio, and PrometheusCanary Releases on Kubernetes w/ Spinnaker, Istio, and Prometheus
Canary Releases on Kubernetes w/ Spinnaker, Istio, and Prometheus
 
Past, Present and Future of Apache Ambari
Past, Present and Future of Apache AmbariPast, Present and Future of Apache Ambari
Past, Present and Future of Apache Ambari
 
nullcon 2010 - The evil karmetasploit upgrade
nullcon 2010 - The evil karmetasploit upgradenullcon 2010 - The evil karmetasploit upgrade
nullcon 2010 - The evil karmetasploit upgrade
 
Reliability Testing in OPNFV
Reliability Testing in OPNFVReliability Testing in OPNFV
Reliability Testing in OPNFV
 
NetflixOSS Meetup S6E2 - Spinnaker, Kayenta
NetflixOSS Meetup S6E2 - Spinnaker, KayentaNetflixOSS Meetup S6E2 - Spinnaker, Kayenta
NetflixOSS Meetup S6E2 - Spinnaker, Kayenta
 
Trunk based development and Canary deployment
Trunk based development and Canary deploymentTrunk based development and Canary deployment
Trunk based development and Canary deployment
 
Vsc 71-se-presentation-training
Vsc 71-se-presentation-trainingVsc 71-se-presentation-training
Vsc 71-se-presentation-training
 
CA Unified Infrastructure Management Network Performance Management Capabili...
 CA Unified Infrastructure Management Network Performance Management Capabili... CA Unified Infrastructure Management Network Performance Management Capabili...
CA Unified Infrastructure Management Network Performance Management Capabili...
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)
 

More from Srinivas Kannan

Deploy on AWS from GIT Lab PDF2.pdf
Deploy on AWS from GIT Lab PDF2.pdfDeploy on AWS from GIT Lab PDF2.pdf
Deploy on AWS from GIT Lab PDF2.pdfSrinivas Kannan
 
copados-5-steps-to-devops-success-2022.pdf
copados-5-steps-to-devops-success-2022.pdfcopados-5-steps-to-devops-success-2022.pdf
copados-5-steps-to-devops-success-2022.pdfSrinivas Kannan
 
1b-kubernetes-introduction.pdf
1b-kubernetes-introduction.pdf1b-kubernetes-introduction.pdf
1b-kubernetes-introduction.pdfSrinivas Kannan
 
MasteringKubernetesSecondEdition_ColorImages.pdf
MasteringKubernetesSecondEdition_ColorImages.pdfMasteringKubernetesSecondEdition_ColorImages.pdf
MasteringKubernetesSecondEdition_ColorImages.pdfSrinivas Kannan
 
Pipeline_Patterns_R7.pdf
Pipeline_Patterns_R7.pdfPipeline_Patterns_R7.pdf
Pipeline_Patterns_R7.pdfSrinivas Kannan
 
10 best-practices-for-new-robotic-process-automation-rpa-developer-220f7ccdf33
10 best-practices-for-new-robotic-process-automation-rpa-developer-220f7ccdf3310 best-practices-for-new-robotic-process-automation-rpa-developer-220f7ccdf33
10 best-practices-for-new-robotic-process-automation-rpa-developer-220f7ccdf33Srinivas Kannan
 
Dynamic roadmap for successful implementation
Dynamic roadmap for successful implementationDynamic roadmap for successful implementation
Dynamic roadmap for successful implementationSrinivas Kannan
 

More from Srinivas Kannan (8)

Deploy on AWS from GIT Lab PDF2.pdf
Deploy on AWS from GIT Lab PDF2.pdfDeploy on AWS from GIT Lab PDF2.pdf
Deploy on AWS from GIT Lab PDF2.pdf
 
copados-5-steps-to-devops-success-2022.pdf
copados-5-steps-to-devops-success-2022.pdfcopados-5-steps-to-devops-success-2022.pdf
copados-5-steps-to-devops-success-2022.pdf
 
1b-kubernetes-introduction.pdf
1b-kubernetes-introduction.pdf1b-kubernetes-introduction.pdf
1b-kubernetes-introduction.pdf
 
MasteringKubernetesSecondEdition_ColorImages.pdf
MasteringKubernetesSecondEdition_ColorImages.pdfMasteringKubernetesSecondEdition_ColorImages.pdf
MasteringKubernetesSecondEdition_ColorImages.pdf
 
Pipeline_Patterns_R7.pdf
Pipeline_Patterns_R7.pdfPipeline_Patterns_R7.pdf
Pipeline_Patterns_R7.pdf
 
Pipeline+over view
Pipeline+over viewPipeline+over view
Pipeline+over view
 
10 best-practices-for-new-robotic-process-automation-rpa-developer-220f7ccdf33
10 best-practices-for-new-robotic-process-automation-rpa-developer-220f7ccdf3310 best-practices-for-new-robotic-process-automation-rpa-developer-220f7ccdf33
10 best-practices-for-new-robotic-process-automation-rpa-developer-220f7ccdf33
 
Dynamic roadmap for successful implementation
Dynamic roadmap for successful implementationDynamic roadmap for successful implementation
Dynamic roadmap for successful implementation
 

Recently uploaded

[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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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
 
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
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
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
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Recently uploaded (20)

[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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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...
 
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...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
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
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

An in-depth introduction to Canary Deployments PDF.pdf

  • 2. Canary Deployments Canary deployment is a pattern that allows us to rollout code , features , changes to an initial subset of users /servers before we take it to 100% . v1 00 roll out to Canary if all good , roll out to 100% Of servers v10 1 if something is wrong , rollback Canary deployment thus acts as an Early Warning Indicator so that we could avoid a massive outage The flow would be : 1. deploy the new version to one server 2. monitor the vitals : CPU , RAM , error rates 3. test the changes explicitly on Canary 4. if all good, rollout to remain g servers 5 . if something is wrong, rollback
  • 3. Why the name " Canary deployment " ? In 1920s during coal mining . the miners used to carry caged Canaries into the coal mines . %) if there was a high level of toxic gas , the Canary would die , alerting the miners to evacuate . In our Canary deployment the few servers / users cue rollout to our Canaries for us that - provides early warnings if something goes wrong How Canary deployments are implemented ? We create a small parallel infrastructure and put a proxy like load Balancer or API gateway in front 5J. 7 < s r ¥ < > a 1 95% proxy
  • 4. Pros of doing a Canary deployment - allows us to test the changes in production with real users 0 > The fleet can be ¥ < s r logically separate , < > < or physically 1 separate load Balancer API gateway - rollbacks are much faster Because the new version of code is deployed on only a few machines , rolling back our changes requires us to rollback only those few machines . 0% 0 ¥ < s r :< s r > ' 100%
  • 5. - minimal blast radius if the new version of code has " bugs " with Canary deployment it would affect a very limited set of requests - Zero downtime deployments incremental rollout : 1% , 5% , 10% , 20% , 50% , 100T . - we could deploy even when are are unsure about the new release - We can use Canary setup to do AIB Testing eg : search v1 and search v2 monitor CTR side by side Note: Selection of servers / users can be more sophisticated - geographical - sticky + random selection - user cohorts - internal employees - random selection selection criteria is usecase specific - beta users
  • 6. Cons of doing a Canary deployment - engineers will be habituated to test in production Testing should never happen in production, but if we have a Canary deployment we are encouraging engineers to test in the production environment , and slowly we may find most testing happening in production - architect ng a Canary deployment is complex Extra infra components : LB , API gateway , separate scaling policy . instance/container launch config ele . - parallel monitoring setup observability is super- important in Canary setup side by side comparison of vitals - CPU . RAM , response times. exceptions , etc. 100 gym CPU Utilization no 0
  • 7. You absolutely need Canary ↓ When you see - wrote your service You would not do a 010L Auth Java. Smith from one service to another . Auth Golang This has to be done incrementally Proxy 100 ' 1- of traffic will be moved to new Aum Service written in golang only after you have 100% confidence about the correctness of implementation