SlideShare a Scribd company logo
1 of 20
Download to read offline
Dark Launch
Best Practices
Giragadurai Vallirajan
@Girag
Agenda
● What is Dark Launching?
● Why we need it?
● Gitflow Workflow
● Best Practices
○ Deployment
○ Source Code Management - Branching Strategies
○ Architectural artifacts
● QA
What is Dark Launching?
A Dark launch is a one of practice where newly developer features and fixes are
deployed into production in the less user visible way. Major goals of dark
launch are to enable testing in production and minimise and contain the risk of
outages. Those features launched are tested with a lesser percentage of
user/traffic and then made available for wider audiences over the time. This
method was practiced and popularised by major companies like Facebook and
Google.
Why we need it?
Launching in dark addresses many teasing in production scenarios, however,
not limited to list, because there is no other environment like the production to
test features extensively.
1. Where the production traffic patterns not always reproduce in the
development environment.
2. Where real customer’s usage pattern needed.
3. Where features mostly backends or Infrastructural changes (Non-UI).
4. An easy way to load or stress test the feature.
Gitflow Workflow
GitFlow workflow is the best choice to implement the listed dark launches. has
strict branching strategies to manage large, complex project releases. GitFlow
workflow was first posted by Vincent Driessen at nvie. Its well suited for
projects that have scheduled release cycle and agile in nature. However, for
implementation it doesn’t need any additional fancy commands to learn.
Sample GitFlow Workflow
Best Practices
It covers most used Dark Launches, best practices of
● Blue Green Deployment
● A/B Testing
● Canary Deployment
And scope is,
● Application Deployment
● Source code management
● Data and dependency management
Blue Green Deployment
In this model, both versions of application deployed in two identical
infrastructure and tagged blue (v1) and green (v2) with switches on reverse
proxy. The new version of the application to be tested and qualified with smoke
test and other tests for production grade. Then environment ready to make
changes either v1 or v2 by diverting reverse proxy traffic. On the release day
switch the traffic to v2 and you are ready to go.
Deployment and Branching
A/B Testing
In this model, both versions of Application will be deployed and Pa% of people
will let to use Version A components and Pb% of people traffic directed to
Version B. The positive responses helps to choose the better feature for
production. This testing is meant for feature comparison on the application for
various reasons like ease of usability, clear noticeability, interesting design, etc
and its mostly targets UX selection.
Deployment and Branching
Canary Deployment
Normally, a weeks before the actual launch, certain features are deployed
silently and a subset of users traffic would be redirected to it. Its behaviour will
be analysed and it may expose, how the traffic absorbed by the new feature, is
there any performance, infrastructural capacity impacts and network
bottlenecks and etc. The faster feedback you get, the faster you can fail the
deployment, or proceed cautiously.
Deployment and Branching
Best Practices - Architecture
So far deployment and branching strategies were covered, however there are
various pain points while dark launching large scale and complex systems. In
this section, some of such pain points discussed with suggestive best
practices.
Pain Points #1...
Managing state and continuity of long-running process, it's one of hard pain
point and many batch data analytics will faces it. Dark launching such system
can be handled in two ways, easy way is holding new release until draining
running job, another way when release can’t hold, then have to store current
state of job, checkpoint of stages and data versioning to start the job with new
code where it left.
Pain Points #2...
Managing unsynchronised in-memory data consistency, it can be handled by
storing in-memory data in distributed data store like locally managed redis,
memcached with high performance or cloud-hosted AWS DynamoDB with high
availability.
Pain Points #3...
Manage necessary data(base) migration, capacity and infrastructural
changes, it has to be managed with well-planned migration and recovery
strategies. In case of database schema changes, previous version of data to be
migrated in to new schema and point updated code points the new table. In
case of increased capacity or infrastructural changes, start new version of code
with higher capacity infrastructure and resize later.
Pain Points #4...
Manage Non-sharable dependent services, time sharing based testing is one
of choice to solve such a problem.
Pain Points #5...
At times double the capacity of infrastructure needed especially for BlueGreen
deployment and AB Testing, well it’s more of business decision to consider
that they can afford without impacting calculated profit ratio.
Q&A

More Related Content

What's hot

Reti e internet
Reti e internetReti e internet
Reti e internetyrcorr
 
LASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. OauthLASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. OauthMike Schwartz
 
Ethereum Blockchain explained
Ethereum Blockchain explainedEthereum Blockchain explained
Ethereum Blockchain explainedEthWorks
 
Comparing ospf vs isis
Comparing ospf vs isisComparing ospf vs isis
Comparing ospf vs isisrushi7567
 
1.1. treinamentos instalação fluig
1.1. treinamentos instalação fluig1.1. treinamentos instalação fluig
1.1. treinamentos instalação fluigpinheirorocha
 
Module: Welcome to Web 3.0
Module: Welcome to Web 3.0Module: Welcome to Web 3.0
Module: Welcome to Web 3.0Ioannis Psaras
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensJonathan LeBlanc
 

What's hot (7)

Reti e internet
Reti e internetReti e internet
Reti e internet
 
LASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. OauthLASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. Oauth
 
Ethereum Blockchain explained
Ethereum Blockchain explainedEthereum Blockchain explained
Ethereum Blockchain explained
 
Comparing ospf vs isis
Comparing ospf vs isisComparing ospf vs isis
Comparing ospf vs isis
 
1.1. treinamentos instalação fluig
1.1. treinamentos instalação fluig1.1. treinamentos instalação fluig
1.1. treinamentos instalação fluig
 
Module: Welcome to Web 3.0
Module: Welcome to Web 3.0Module: Welcome to Web 3.0
Module: Welcome to Web 3.0
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web Tokens
 

Similar to Dark launch

Executing Deployment & Release Strategies
Executing Deployment & Release StrategiesExecuting Deployment & Release Strategies
Executing Deployment & Release StrategiesOpenSense Labs
 
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Knoldus Inc.
 
Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]Dynatrace
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 
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 FailureIBM UrbanCode Products
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupYashrajNayak4
 
Advanced deployment scenarios (netcoreconf)
Advanced deployment scenarios (netcoreconf)Advanced deployment scenarios (netcoreconf)
Advanced deployment scenarios (netcoreconf)Sergio Navarro Pino
 
System analsis and design
System analsis and designSystem analsis and design
System analsis and designRizwan Kabir
 
Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)Young Suk Ahn Park
 
Deployment Strategy PowerPoint Presentation Slides
Deployment Strategy PowerPoint Presentation SlidesDeployment Strategy PowerPoint Presentation Slides
Deployment Strategy PowerPoint Presentation SlidesSlideTeam
 
IT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxIT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxvrickens
 
Velostrata cloud migration --Whitepaper
Velostrata cloud migration --WhitepaperVelostrata cloud migration --Whitepaper
Velostrata cloud migration --WhitepaperAbhishek Sood
 
Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021NeerajKumar1965
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments.pdf
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments.pdfThe Ultimate Guide to Performance Testing in Low-Code, No-Code Environments.pdf
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments.pdfkalichargn70th171
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...kalichargn70th171
 
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...Jitendra Bafna
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps TourChef
 

Similar to Dark launch (20)

Executing Deployment & Release Strategies
Executing Deployment & Release StrategiesExecuting Deployment & Release Strategies
Executing Deployment & Release Strategies
 
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
 
Application Deployement Strategies
Application Deployement StrategiesApplication Deployement Strategies
Application Deployement Strategies
 
Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
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
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
 
Advanced deployment scenarios (netcoreconf)
Advanced deployment scenarios (netcoreconf)Advanced deployment scenarios (netcoreconf)
Advanced deployment scenarios (netcoreconf)
 
System analsis and design
System analsis and designSystem analsis and design
System analsis and design
 
Advanced deployment scenarios
Advanced deployment scenariosAdvanced deployment scenarios
Advanced deployment scenarios
 
Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)
 
Case study(i)
Case study(i)Case study(i)
Case study(i)
 
Deployment Strategy PowerPoint Presentation Slides
Deployment Strategy PowerPoint Presentation SlidesDeployment Strategy PowerPoint Presentation Slides
Deployment Strategy PowerPoint Presentation Slides
 
IT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxIT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docx
 
Velostrata cloud migration --Whitepaper
Velostrata cloud migration --WhitepaperVelostrata cloud migration --Whitepaper
Velostrata cloud migration --Whitepaper
 
Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments.pdf
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments.pdfThe Ultimate Guide to Performance Testing in Low-Code, No-Code Environments.pdf
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments.pdf
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
 
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps Tour
 

More from Giragadurai Vallirajan

More from Giragadurai Vallirajan (6)

Testing in Production (TiP)
Testing in Production (TiP)Testing in Production (TiP)
Testing in Production (TiP)
 
DevOps Toolchain v1.0
DevOps Toolchain v1.0DevOps Toolchain v1.0
DevOps Toolchain v1.0
 
New Features of Kubernetes v1.2.0 beta
New Features of Kubernetes v1.2.0 betaNew Features of Kubernetes v1.2.0 beta
New Features of Kubernetes v1.2.0 beta
 
DevOps Best Practices
DevOps Best PracticesDevOps Best Practices
DevOps Best Practices
 
Modern Software Architecture - Cloud Scale Computing
Modern Software Architecture - Cloud Scale ComputingModern Software Architecture - Cloud Scale Computing
Modern Software Architecture - Cloud Scale Computing
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 

Recently uploaded

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
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
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
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
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Dark launch

  • 2. Agenda ● What is Dark Launching? ● Why we need it? ● Gitflow Workflow ● Best Practices ○ Deployment ○ Source Code Management - Branching Strategies ○ Architectural artifacts ● QA
  • 3. What is Dark Launching? A Dark launch is a one of practice where newly developer features and fixes are deployed into production in the less user visible way. Major goals of dark launch are to enable testing in production and minimise and contain the risk of outages. Those features launched are tested with a lesser percentage of user/traffic and then made available for wider audiences over the time. This method was practiced and popularised by major companies like Facebook and Google.
  • 4. Why we need it? Launching in dark addresses many teasing in production scenarios, however, not limited to list, because there is no other environment like the production to test features extensively. 1. Where the production traffic patterns not always reproduce in the development environment. 2. Where real customer’s usage pattern needed. 3. Where features mostly backends or Infrastructural changes (Non-UI). 4. An easy way to load or stress test the feature.
  • 5. Gitflow Workflow GitFlow workflow is the best choice to implement the listed dark launches. has strict branching strategies to manage large, complex project releases. GitFlow workflow was first posted by Vincent Driessen at nvie. Its well suited for projects that have scheduled release cycle and agile in nature. However, for implementation it doesn’t need any additional fancy commands to learn.
  • 7. Best Practices It covers most used Dark Launches, best practices of ● Blue Green Deployment ● A/B Testing ● Canary Deployment And scope is, ● Application Deployment ● Source code management ● Data and dependency management
  • 8. Blue Green Deployment In this model, both versions of application deployed in two identical infrastructure and tagged blue (v1) and green (v2) with switches on reverse proxy. The new version of the application to be tested and qualified with smoke test and other tests for production grade. Then environment ready to make changes either v1 or v2 by diverting reverse proxy traffic. On the release day switch the traffic to v2 and you are ready to go.
  • 10. A/B Testing In this model, both versions of Application will be deployed and Pa% of people will let to use Version A components and Pb% of people traffic directed to Version B. The positive responses helps to choose the better feature for production. This testing is meant for feature comparison on the application for various reasons like ease of usability, clear noticeability, interesting design, etc and its mostly targets UX selection.
  • 12. Canary Deployment Normally, a weeks before the actual launch, certain features are deployed silently and a subset of users traffic would be redirected to it. Its behaviour will be analysed and it may expose, how the traffic absorbed by the new feature, is there any performance, infrastructural capacity impacts and network bottlenecks and etc. The faster feedback you get, the faster you can fail the deployment, or proceed cautiously.
  • 14. Best Practices - Architecture So far deployment and branching strategies were covered, however there are various pain points while dark launching large scale and complex systems. In this section, some of such pain points discussed with suggestive best practices.
  • 15. Pain Points #1... Managing state and continuity of long-running process, it's one of hard pain point and many batch data analytics will faces it. Dark launching such system can be handled in two ways, easy way is holding new release until draining running job, another way when release can’t hold, then have to store current state of job, checkpoint of stages and data versioning to start the job with new code where it left.
  • 16. Pain Points #2... Managing unsynchronised in-memory data consistency, it can be handled by storing in-memory data in distributed data store like locally managed redis, memcached with high performance or cloud-hosted AWS DynamoDB with high availability.
  • 17. Pain Points #3... Manage necessary data(base) migration, capacity and infrastructural changes, it has to be managed with well-planned migration and recovery strategies. In case of database schema changes, previous version of data to be migrated in to new schema and point updated code points the new table. In case of increased capacity or infrastructural changes, start new version of code with higher capacity infrastructure and resize later.
  • 18. Pain Points #4... Manage Non-sharable dependent services, time sharing based testing is one of choice to solve such a problem.
  • 19. Pain Points #5... At times double the capacity of infrastructure needed especially for BlueGreen deployment and AB Testing, well it’s more of business decision to consider that they can afford without impacting calculated profit ratio.
  • 20. Q&A