SlideShare une entreprise Scribd logo
1  sur  36
2020
Netcoreconf
Advanced deployment scenarios:
Rings and Canaries
Sergio Navarro Pino
Tech lead at AnalyticAlways
@snavarropino
#netcoreconf
Sponsors
hello!
Sergio Navarro Pino
Tech Lead at Analytic Always
@snavarropino
Agenda
1. Canary releases
 How to implement canary releases?
 Considerations
 Routing users to the canary
 Release gates
2. Deployment rings
3. Dark launchings
1.
Canary releases
Danilo Sato https://martinfowler.com/bliki/CanaryRelease.html
Motivation
Benefits
✘ Reduce the risk of introducing a new software versions
✘ Safe rollback strategy if issues are found
✘ The ability to do capacity testing of the new version in a production environment. Does my
new version require enhanced hardware capabilities?
✘ Collateral effect: you get zero downtime deployment !!
WHY?
✘ We cannot easily reproduce production traffic patterns
✘ We have no proper testing environment due to
○ Complex integration with third parties
○ Elevated hardware requirements
✘ We don’t have enough validation before going live
✘ You want to increase your confidence when a new release is deployed
2.
How?
Similar to blue/green deployment we start deploying the new
version to a subset of our infrastructure. no request are routed
there yet
1. deploy new version
We start sending some request to the new version
2. start routing users
If no issues are found related to new version, we gradually
increase the percentage of users routed to the new version
3. Monitorize
Once all users have been routed to the new version, we remove
the old one
4. remove old version
Place your screenshot here
Let’s meet our heroes
Application monitoring
✘ A list of awesome APM (Application Performance Monitoring) tools & products
(commercial and OSS)
https://github.com/antonarhipov/awesome-apm
Place your screenshot here
Azure Application Insights
“Canary deployment also gives you a
rapid way to rollback - if anything goes
wrong you may route all users to the old
version
key points to be taken in account
✘ We are running two versions in parallel
✘ Be sure your software supports it
https://es.slideshare.net/sergio_pino/despliega-como-los-grandes-zero-downtime-deployment
key points to be taken in account
✘ Deliver to users a consistent experience
✘ How we are going to monitorize?
✘ Do we always have a rollback path?
✘ Don’t replace Devops practices
How we route users?
✘ Random pattern
✘ Geographic pattern
✘ IP range pattern
✘ Based on user type (freemium vs premium). Feature toggles
✘ Based on some application logic. Feature toggles
Place your screenshot here
How to finish the deployment?
What about release gates?
Gates allow automatic collection of health signals
from external services, and then promote the
release when all the signals are successful at the
same time or stop the deployment on timeout
https://docs.microsoft.com/en-
us/azure/devops/pipelines/release/approvals/gates?view=azure-devops
✘ 10% canary users
✘ 25% canary users
✘ 100% canary users
Define several stages, and a gate to transition between them
Transition will only happen if
there are no alerts related to
Failed request, response time
and availability
How gates are evaluated?
Place your screenshot here
Azure DevOps Pipelines
Release Gates
4.
Deployment rings
Deployment rings were first discussed in Jez Humble's
book. They support the production-first DevOps
mindset and limit impact on end users, while gradually
deploying and validating changes in production.
Impact (also called blast radius), is evaluated through
observation, testing, analysis of telemetry, and user
feedback.
Is it so easy?
5.
Dark launching
The facebook case
During the two weeks prior to launch we began what we call a
"dark launch" of all the functionality on the backend. Essentially a
subset of user queries are routed to help us test, by making
"silent" queries to the code that, on launch night, will have to
absorb the traffic. This exposes pain points and areas of our
infrastructure that needs attention prior to the actual launch.
Increasing the demand on one subsystem may generate more
logs than anticipated and overwhelm analysis processes, or
unexpected network bottlenecks may appear.
https://www.facebook.com/note.php?note_id=96390263919
How the code looks?
Execute new code
but show the user
the result of old
code
Recap
Two
versions in
parallel
Testing in
production
Monitorize
your
changes
thanks!
Any questions?
You can find me at
@snavarropino
#netcoreconf
Sponsors
Más información:
info@netcoreconf.com
@Netcoreconf
Visítanos en:
netcoreconf.com

Contenu connexe

Tendances

Continuous integration
Continuous integrationContinuous integration
Continuous integration
amscanne
 

Tendances (20)

Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueMerge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
 
Continuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployContinuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeploy
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
 
Continuous Integration using TFS
Continuous Integration using TFSContinuous Integration using TFS
Continuous Integration using TFS
 
CICD by Teerapat
CICD by TeerapatCICD by Teerapat
CICD by Teerapat
 
Poster - DevOps Planning @ Microsoft
Poster - DevOps Planning @ MicrosoftPoster - DevOps Planning @ Microsoft
Poster - DevOps Planning @ Microsoft
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
 
Qa in CI/CD
Qa in CI/CDQa in CI/CD
Qa in CI/CD
 
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
 
Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingComparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End Testing
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java Project
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based development
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...
 
DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous Delivery
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Integration JUG Hannover
Continuous Integration JUG HannoverContinuous Integration JUG Hannover
Continuous Integration JUG Hannover
 

Similaire à Advanced deployment scenarios (netcoreconf)

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
 

Similaire à Advanced deployment scenarios (netcoreconf) (20)

Advanced deployment scenarios
Advanced deployment scenariosAdvanced deployment scenarios
Advanced deployment scenarios
 
Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016
 
Dark launch
Dark launchDark launch
Dark launch
 
Shift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureShift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production Failure
 
Harman deepak v - agile on steriod - dev ops led transformation
Harman  deepak v - agile on steriod - dev ops led transformationHarman  deepak v - agile on steriod - dev ops led transformation
Harman deepak v - agile on steriod - dev ops led transformation
 
DevOps: The New Face Of Application Development - Global Azure Bootcamp
DevOps: The New Face Of Application Development - Global Azure BootcampDevOps: The New Face Of Application Development - Global Azure Bootcamp
DevOps: The New Face Of Application Development - Global Azure Bootcamp
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
 
Web application penetration testing lab setup guide
Web application penetration testing lab setup guideWeb application penetration testing lab setup guide
Web application penetration testing lab setup guide
 
Simplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI APISimplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI API
 
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterTaking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
 
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]
 
Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay Application
 
Alexey Kupriyanenko "Release Early, Often, Stable"
Alexey Kupriyanenko "Release Early, Often, Stable"Alexey Kupriyanenko "Release Early, Often, Stable"
Alexey Kupriyanenko "Release Early, Often, Stable"
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Dave Karow, Split. Powering Progressive Delivery With Data
Dave Karow, Split. Powering Progressive Delivery With DataDave Karow, Split. Powering Progressive Delivery With Data
Dave Karow, Split. Powering Progressive Delivery With Data
 
Making Security Agile
Making Security AgileMaking Security Agile
Making Security Agile
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 

Dernier

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Dernier (20)

Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 

Advanced deployment scenarios (netcoreconf)

  • 1. 2020 Netcoreconf Advanced deployment scenarios: Rings and Canaries Sergio Navarro Pino Tech lead at AnalyticAlways @snavarropino
  • 3. hello! Sergio Navarro Pino Tech Lead at Analytic Always @snavarropino
  • 4. Agenda 1. Canary releases  How to implement canary releases?  Considerations  Routing users to the canary  Release gates 2. Deployment rings 3. Dark launchings
  • 5. 1. Canary releases Danilo Sato https://martinfowler.com/bliki/CanaryRelease.html
  • 7. Benefits ✘ Reduce the risk of introducing a new software versions ✘ Safe rollback strategy if issues are found ✘ The ability to do capacity testing of the new version in a production environment. Does my new version require enhanced hardware capabilities? ✘ Collateral effect: you get zero downtime deployment !!
  • 8. WHY? ✘ We cannot easily reproduce production traffic patterns ✘ We have no proper testing environment due to ○ Complex integration with third parties ○ Elevated hardware requirements ✘ We don’t have enough validation before going live ✘ You want to increase your confidence when a new release is deployed
  • 10. Similar to blue/green deployment we start deploying the new version to a subset of our infrastructure. no request are routed there yet 1. deploy new version
  • 11. We start sending some request to the new version 2. start routing users
  • 12. If no issues are found related to new version, we gradually increase the percentage of users routed to the new version 3. Monitorize
  • 13. Once all users have been routed to the new version, we remove the old one 4. remove old version
  • 14. Place your screenshot here Let’s meet our heroes
  • 15. Application monitoring ✘ A list of awesome APM (Application Performance Monitoring) tools & products (commercial and OSS) https://github.com/antonarhipov/awesome-apm
  • 16. Place your screenshot here Azure Application Insights
  • 17. “Canary deployment also gives you a rapid way to rollback - if anything goes wrong you may route all users to the old version
  • 18. key points to be taken in account ✘ We are running two versions in parallel ✘ Be sure your software supports it https://es.slideshare.net/sergio_pino/despliega-como-los-grandes-zero-downtime-deployment
  • 19. key points to be taken in account ✘ Deliver to users a consistent experience ✘ How we are going to monitorize? ✘ Do we always have a rollback path? ✘ Don’t replace Devops practices
  • 20. How we route users? ✘ Random pattern ✘ Geographic pattern ✘ IP range pattern ✘ Based on user type (freemium vs premium). Feature toggles ✘ Based on some application logic. Feature toggles
  • 21. Place your screenshot here How to finish the deployment?
  • 22. What about release gates? Gates allow automatic collection of health signals from external services, and then promote the release when all the signals are successful at the same time or stop the deployment on timeout https://docs.microsoft.com/en- us/azure/devops/pipelines/release/approvals/gates?view=azure-devops
  • 23. ✘ 10% canary users ✘ 25% canary users ✘ 100% canary users Define several stages, and a gate to transition between them Transition will only happen if there are no alerts related to Failed request, response time and availability
  • 24. How gates are evaluated?
  • 25. Place your screenshot here Azure DevOps Pipelines Release Gates
  • 27. Deployment rings were first discussed in Jez Humble's book. They support the production-first DevOps mindset and limit impact on end users, while gradually deploying and validating changes in production. Impact (also called blast radius), is evaluated through observation, testing, analysis of telemetry, and user feedback.
  • 28.
  • 29. Is it so easy?
  • 31. The facebook case During the two weeks prior to launch we began what we call a "dark launch" of all the functionality on the backend. Essentially a subset of user queries are routed to help us test, by making "silent" queries to the code that, on launch night, will have to absorb the traffic. This exposes pain points and areas of our infrastructure that needs attention prior to the actual launch. Increasing the demand on one subsystem may generate more logs than anticipated and overwhelm analysis processes, or unexpected network bottlenecks may appear. https://www.facebook.com/note.php?note_id=96390263919
  • 32. How the code looks? Execute new code but show the user the result of old code
  • 34. thanks! Any questions? You can find me at @snavarropino

Notes de l'éditeur

  1. Hablar de que quizas deberia llamarse “escenarios menos conocidos”
  2. Also know as canary deployment Sometimes it is referred to as a phased rollout or an incremental rollout
  3. Canaries were once regularly used in coal mining as an early warning system. Toxic gases such as carbon monoxide, methane or carbon dioxide in the mine would kill the bird before affecting the miners. Signs of distress from the bird indicated to the miners that conditions were unsafe. The use of miners' canaries in British mines was phased out in 1987. - Wikipedia
  4. Enseñamos la aplicación Desplegamos una nueva versión canary… esta versión tiene problemas: falla la petición al detalle de un superheroe, y el listado tarda mucho. Lo muestro navegando y con curl
  5. Hay muchas opciones, opensource y de pago. Ese repo es una buena recopilación. Datadog, stackify…
  6. Teniendo en cuenta los errores generados en la anterior demo (falla la petición al detalle de un superheroe, y el listado tarda mucho) Mostrar como vemos los errores en las peticiones Mostrar como aumenta el response time
  7. Hacemos rollback: dejamos de enrutar al canario y vemos que en unos segundos todo vuelve a la normalidad.
  8. Ojo que estamos ejecutando dos versions del software en paralelo. Si hemos migrado el esquema de bbdd podemos tener un problema, aunque siempre podríamos tirar de un backup. Aquí viajamos a la charla de Zero downtime deployment y el cambio de esquema…
  9. Experiencia consistente: Ojo no estemos cambiando de pantalla al usuario cada vez q recarga (random pattern). Usemos al menos afinidad de sesión Monitorización: Insights? Azure monitor? Otros? Puede que no haya rollback directo y fácil No cometamos el error de reemplazar buenas prácticas porque tenemos canarios
  10. Si nos metemos mucho en el tema de los tipos de usuario nos acercamos a despliegue en anillos. Parece razonable no experimentar con los que pagan y si con los que van gratis (premium vs freemium) Pero si hablamos de features nuevas? Quizás sea al reves. Aquí los grises important Importante tener en cuenta que no siempre podremos usar todos los tipos de enrutado. En app service por ejemplo estamos limitados a random pattern En istio podríamos usar una cabecera… Con Azure application gateway patrones geofráficos
  11. Mostramos un pipeline que además del despliegue del canario tiene un stage que despliega a producción la nueva version (la misma q el canario) y despues enruta todos los usuarios allí Requiere una aprobación manual
  12. https://www.azuredevopslabs.com/labs/vstsextend/releasegates/
  13. https://www.azuredevopslabs.com/labs/vstsextend/releasegates/
  14. Enseñaré como está montada la release y que alertas de azure monitor tengo. Las gates tardan demasiado
  15. https://www.facebook.com/note.php?note_id=96390263919
  16. Mostrar pipeline de ejemplo
  17. Es tan fácil? Depende de lo que os propongáis… adoptar un despliegue en anillos puede ser muy complejo o muy sencillo, dependiendo de donde queramos llegar Por ejemplo: Canarios: usuarios de mi empresa, los consultores . Controlo por IP de salida de mis oficinas (si viajas VPN). Van una copia de la infra en la que todos los feature flags están siempre on Partners: son empresas que son más que clientes. Mediante feature flags les habilito las cosas antes Resto
  18. Slides interesantes: https://es.slideshare.net/grahaindia/dark-launch
  19. https://www.facebook.com/note.php?note_id=96390263919
  20. Testing en prod: ojo no la liemos. No dejemos de usar buenas prácticas. Podríamos “liarla” La forma mas fácil de liarla es no tener en cuenta que tengo dos versiones en paralelo… lo que “rompería” a los no canarios. Justo lo que no queremos Monitoriza, obtén feedback rápido, y actúa en consecuencia