SlideShare a Scribd company logo
1 of 26
Download to read offline
COPYRIGHT – 1 BILLION TECH | CONFIDENTIAL
APPLICATIONDEPLOYMENTSTRATEGIES
TECH TALK
[05TH
AUGUST 2021]
 The need
 Deployment strategies / patterns
 Best Practices
AGENDA
FROM ON-PREMISE
Source: J2EE Design Patterns (Book)
TO CLOUD
Source: https://www.weave.works/blog/kubernetes-deployment-strategies
 A proper deployment and testing strategy is paramount to any production deployment:
●
How to minimize the application downtime
●
How to manage and resolve incidents with minimal impact on users
●
How to address failed deployments in a reliable effective way (rollback)
●
How to minimize people and process errors to achieve predictable, repeatable
deployments (automated processes)
THE NEED
 Multiple deployment strategies / patterns identified
●
Recreate deployment pattern
●
Rolling update deployment pattern
●
Blue-Green deployment pattern
●
Canary test deployment pattern
●
A/B test pattern
●
Shadow test pattern
DEPLOYMENT STRATEGIES / PATTERNS
 Version 1 is terminated and Version 2 is rolled out.
RECREATE DEPLOYMENT PATTERN
 Pros:
●
Simplicity. No need to manage more than one application version at a given time.
●
Can avoid backward compatibility challenges
 Cons:
●
Involves a downtime during the update process.
●
Not suitable for mission critical applications
RECREATE DEPLOYMENT PATTERN
 Version 2 is gradually rolled out and replaces Version 1.
ROLLING UPDATE DEPLOYMENT PATTERN
 Pros:
●
No downtime – incrementally updates the deployment targets based on the “window
size (number of instances that you roll out)”
●
Reduced deployment risk – Easy to setup
●
Handling stateful application is comparatively easy.
 Cons:
●
Slow rollback - If something goes wrong in the new replicas, redeployment is needed
for those new replicas
●
Backward compatibility - Because new code and old code live side by side, users
might be routed to either one of the versions arbitrarily. The new application version
can read and handle data that the old version stores
ROLLING UPDATE DEPLOYMENT PATTERN
 Version 2 is release alongside Version 1. The traffic is switched to Version 2 after it is
fully tested.
 Performs two identical deployments, where “blue” represents the “current”
application and the “green” represents the “new” application version, which is created
and tested. After the deployment succeeds, you can either keep the “blue”
environment or decommission it.
BLUE GREEN DEPLOYMENT PATTERN
BLUE GREEN DEPLOYMENT PATTERN
 Pros:
●
Zero downtime
●
Instant rollback – You can rollback at any moment by adjusting the Load Balancer to
by direct traffic back to the “blue” environment.
●
Environment separation can reduce the deployment risk.
 Cons:
●
Cost and operational overhead by having a duplicate environment
●
Need to test Version 2 properly before the cut over
●
Handling stateful applications can be hard - If you plan to decomposition the current
version, it is required to allow appropriate connection (session) draining on existing
transactions and sessions. This allows requests processed by the current deployment
to be completed or terminated gracefully.
BLUE-GREEN DEPLOYMENT PATTERN
CONNECTION/ SESSION DRAINING
 Version 2 is released to subset of users followed by a full roll-out.
 Usually the traffic is split based on the weight. For example 70% of the requests will go
to Version 1 and 30% of the traffic will go to Version 2. Gradually you can increase the
Version 2 traffic until it is completed rolled out.
CANARYTEST DEPLOYMENT PATTERN
CANARY DEPLOYMENT PATTERN
CANARY DEPLOYMENT PATTERN
Source: https:/
/martinfowler.com
 Pros:
●
Versions can be released for a subset of users. Can be a very effective feature when it
comes to feature releases.
●
Fast rollback
●
Zero downtime
●
Good strategy to detect problems in the new release
 Cons:
●
Slow rollout
●
Backward compatibility and sticky sessions
CANARY DEPLOYMENT PATTERN
 Version 2 is released under “specific
conditions” to a subset of users.
 You route a subset of users based on
routing rules
 It is a good technique for making
business decisions based on statistics
rather the deployment strategy.
 Routing rules often include factors such
as
●
Query parameters, browser version, user
agent, geo location, language and
operating system
A/B TEST PATTERN
 Pros:
●
Can run several versions in parallel for many conditions/ rules
 Cons:
●
Requires an intelligent Load Balancer (Application Load Balancer) for intelligent
routing
●
Troubleshooting could be hard
A/B TEST PATTERN
 Version 2 received real world traffic
without impacting user requests.
 You deploy and run a new version
alongside the current version, but in
such a way that the new version is
hidden from the users
 Shadow testing is fairly complex to set
up. Also, like blue/green deployments,
shadow deployments carry cost and
operational implications because the
setup requires running and managing
two environments in parallel.
SHADOW TEST PATTERN
 Pros:
●
Can do production testing of the target application with the production traffic.
●
No rollout until the stability and performance of the application meets the
requirement
 Cons:
●
Expensive as it requires double the resources
●
Complex to setup
●
Requires quite a few mocking service to test some critical use cases (such as
payment features, which can otherwise will lead to double payments)
SHADOW TEST PATTERN
THE COMPARISON
Source: https:/
/www.opsmx.com/blog/advanced-deployment-strategies-devops-methodology/
BEST PRACTICES
 Backward compatibility - Ensure that the database is compatible with all active
versions. You may use “Parallel Change Pattern” to implement this.
 Following a proper CI/CD pipeline
 Configuration management
 Implementing a rollback strategy
 Post deployment monitoring
REFERENCES
 Introduction to Deployment Strategies - https:/
/harness.io/blog/continuous-
verification/blue-green-canary-deployment-strategies/
 Application Deployment and Testing Strategies -
https:/
/cloud.google.com/architecture/application-deployment-and-testing-strate
gies
 https:/
/martinfowler.com/tags/continuous%20delivery.html
 Six Strategies for Application Deployment -
https:/
/thenewstack.io/deployment-strategies/
 Four Deployment Strategies for Microservices Deployment -
https:/
/www.infoworld.com/article/3565750/4-deployment-strategies-for-resilient
-microservices.html
Let's work
together
EMAIL
contact@1billiontech.com
MOBILE
+94 117 112191
FACEBOOK
1billiontechnology

More Related Content

What's hot

muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"Daniel Bryant
 
Should That Be a Microservice ?
Should That Be a Microservice ?Should That Be a Microservice ?
Should That Be a Microservice ?Rohit Kelapure
 
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...apidays
 
Why choose VMware vCloud Suite Standard over vSOM
Why choose VMware vCloud Suite Standard over vSOMWhy choose VMware vCloud Suite Standard over vSOM
Why choose VMware vCloud Suite Standard over vSOMAnil Gupta (AJ) - vExpert
 
Architecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First TimeArchitecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First TimeSerhiy (Serge) Haziyev
 
Reactive applications tools of the trade huff po
Reactive applications   tools of the trade huff poReactive applications   tools of the trade huff po
Reactive applications tools of the trade huff poshinolajla
 
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...Developing a Service-oriented Architecture (SOA)- based Product Management Pl...
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...Amine KOUIS
 
Democratizing the Cloud with Open Source Cloud Development
Democratizing the Cloud with Open Source Cloud DevelopmentDemocratizing the Cloud with Open Source Cloud Development
Democratizing the Cloud with Open Source Cloud DevelopmentIntel Corporation
 
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16AppDynamics
 
External should that be a microservice
External should that be a microserviceExternal should that be a microservice
External should that be a microserviceRohit Kelapure
 
Software architecture patterns
Software architecture patternsSoftware architecture patterns
Software architecture patternsMd. Sadhan Sarker
 
SpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutesSpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutesRohit Kelapure
 
Delivering Performant, Reliable, and Scalable Apps with Anypoint Platform
Delivering Performant, Reliable, and Scalable Apps with Anypoint PlatformDelivering Performant, Reliable, and Scalable Apps with Anypoint Platform
Delivering Performant, Reliable, and Scalable Apps with Anypoint PlatformMuleSoft
 
2013 10-wso2 con-tut-t3-1330-asanka-chintana
2013 10-wso2 con-tut-t3-1330-asanka-chintana2013 10-wso2 con-tut-t3-1330-asanka-chintana
2013 10-wso2 con-tut-t3-1330-asanka-chintanaAsanka Abeysinghe
 
API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice?  API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice? Rohit Kelapure
 
Microservices and Deployment Methodologies
Microservices and Deployment MethodologiesMicroservices and Deployment Methodologies
Microservices and Deployment MethodologiesYash Gupta
 
App Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudApp Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudJudy Breedlove
 

What's hot (20)

muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
 
Process Driven Customer Interaction
Process Driven Customer InteractionProcess Driven Customer Interaction
Process Driven Customer Interaction
 
Should That Be a Microservice ?
Should That Be a Microservice ?Should That Be a Microservice ?
Should That Be a Microservice ?
 
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...
 
Why choose VMware vCloud Suite Standard over vSOM
Why choose VMware vCloud Suite Standard over vSOMWhy choose VMware vCloud Suite Standard over vSOM
Why choose VMware vCloud Suite Standard over vSOM
 
Architecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First TimeArchitecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First Time
 
Reactive applications tools of the trade huff po
Reactive applications   tools of the trade huff poReactive applications   tools of the trade huff po
Reactive applications tools of the trade huff po
 
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...Developing a Service-oriented Architecture (SOA)- based Product Management Pl...
Developing a Service-oriented Architecture (SOA)- based Product Management Pl...
 
Democratizing the Cloud with Open Source Cloud Development
Democratizing the Cloud with Open Source Cloud DevelopmentDemocratizing the Cloud with Open Source Cloud Development
Democratizing the Cloud with Open Source Cloud Development
 
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
 
External should that be a microservice
External should that be a microserviceExternal should that be a microservice
External should that be a microservice
 
Star team ppt
Star team pptStar team ppt
Star team ppt
 
Software architecture patterns
Software architecture patternsSoftware architecture patterns
Software architecture patterns
 
SpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutesSpringOne Platform 2018 Recap in 5 minutes
SpringOne Platform 2018 Recap in 5 minutes
 
Delivering Performant, Reliable, and Scalable Apps with Anypoint Platform
Delivering Performant, Reliable, and Scalable Apps with Anypoint PlatformDelivering Performant, Reliable, and Scalable Apps with Anypoint Platform
Delivering Performant, Reliable, and Scalable Apps with Anypoint Platform
 
2013 10-wso2 con-tut-t3-1330-asanka-chintana
2013 10-wso2 con-tut-t3-1330-asanka-chintana2013 10-wso2 con-tut-t3-1330-asanka-chintana
2013 10-wso2 con-tut-t3-1330-asanka-chintana
 
API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice?  API First or Events First: Is it a Binary Choice?
API First or Events First: Is it a Binary Choice?
 
Cloud Maturity Model: The Road to Adoption
Cloud Maturity Model: The Road to AdoptionCloud Maturity Model: The Road to Adoption
Cloud Maturity Model: The Road to Adoption
 
Microservices and Deployment Methodologies
Microservices and Deployment MethodologiesMicroservices and Deployment Methodologies
Microservices and Deployment Methodologies
 
App Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudApp Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloud
 

Similar to Application Deployement Strategies

Deployment Strategy PowerPoint Presentation Slides
Deployment Strategy PowerPoint Presentation SlidesDeployment Strategy PowerPoint Presentation Slides
Deployment Strategy PowerPoint Presentation SlidesSlideTeam
 
Deployment Strategies Powerpoint Presentation Slides
Deployment Strategies Powerpoint Presentation SlidesDeployment Strategies Powerpoint Presentation Slides
Deployment Strategies Powerpoint Presentation SlidesSlideTeam
 
Executing Deployment & Release Strategies
Executing Deployment & Release StrategiesExecuting Deployment & Release Strategies
Executing Deployment & Release StrategiesOpenSense Labs
 
Everything about Blue-Green Deployment Strategy!
Everything about Blue-Green Deployment Strategy!Everything about Blue-Green Deployment Strategy!
Everything about Blue-Green Deployment Strategy!OpsTree solutions
 
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...ijgca
 
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...ijgca
 
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...ijgca
 
Advanced Deployment Strategies with Kubernetes and Istio
Advanced Deployment Strategies with Kubernetes and IstioAdvanced Deployment Strategies with Kubernetes and Istio
Advanced Deployment Strategies with Kubernetes and IstioCloudOps2005
 
Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfallMuthu Natarajan
 
Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfOmethSanchitha
 
software construction modules,language,tools,design
software construction modules,language,tools,designsoftware construction modules,language,tools,design
software construction modules,language,tools,designnemali akhilesh
 
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
 
Effektives Consulting - Performance Engineering
Effektives Consulting - Performance EngineeringEffektives Consulting - Performance Engineering
Effektives Consulting - Performance Engineeringhitdhits
 
Software Development Taxonomy
Software Development TaxonomySoftware Development Taxonomy
Software Development TaxonomyAli Gholami
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering) MuhammadTalha436
 
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
 
Deployment Strategies
Deployment StrategiesDeployment Strategies
Deployment StrategiesPiotr Perzyna
 

Similar to Application Deployement Strategies (20)

Deployment Strategy PowerPoint Presentation Slides
Deployment Strategy PowerPoint Presentation SlidesDeployment Strategy PowerPoint Presentation Slides
Deployment Strategy PowerPoint Presentation Slides
 
Deployment Strategies Powerpoint Presentation Slides
Deployment Strategies Powerpoint Presentation SlidesDeployment Strategies Powerpoint Presentation Slides
Deployment Strategies Powerpoint Presentation Slides
 
Dark launch
Dark launchDark launch
Dark launch
 
Executing Deployment & Release Strategies
Executing Deployment & Release StrategiesExecuting Deployment & Release Strategies
Executing Deployment & Release Strategies
 
Everything about Blue-Green Deployment Strategy!
Everything about Blue-Green Deployment Strategy!Everything about Blue-Green Deployment Strategy!
Everything about Blue-Green Deployment Strategy!
 
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
 
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
 
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
SERVICE LEVEL AGREEMENT BASED FAULT TOLERANT WORKLOAD SCHEDULING IN CLOUD COM...
 
Advanced Deployment Strategies with Kubernetes and Istio
Advanced Deployment Strategies with Kubernetes and IstioAdvanced Deployment Strategies with Kubernetes and Istio
Advanced Deployment Strategies with Kubernetes and Istio
 
Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfall
 
SDLC
SDLCSDLC
SDLC
 
Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdf
 
software construction modules,language,tools,design
software construction modules,language,tools,designsoftware construction modules,language,tools,design
software construction modules,language,tools,design
 
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
 
Effektives Consulting - Performance Engineering
Effektives Consulting - Performance EngineeringEffektives Consulting - Performance Engineering
Effektives Consulting - Performance Engineering
 
A SIMPLIFIED VIEW OF DEVOPS DEPLOYMENT STRATEGIES.pdf
A SIMPLIFIED VIEW OF DEVOPS DEPLOYMENT STRATEGIES.pdfA SIMPLIFIED VIEW OF DEVOPS DEPLOYMENT STRATEGIES.pdf
A SIMPLIFIED VIEW OF DEVOPS DEPLOYMENT STRATEGIES.pdf
 
Software Development Taxonomy
Software Development TaxonomySoftware Development Taxonomy
Software Development Taxonomy
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)
 
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
 
Deployment Strategies
Deployment StrategiesDeployment Strategies
Deployment Strategies
 

More from Crishantha Nanayakkara

Sri Lanka Government Enterprise Architecture
Sri Lanka Government Enterprise ArchitectureSri Lanka Government Enterprise Architecture
Sri Lanka Government Enterprise ArchitectureCrishantha Nanayakkara
 
Enterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesEnterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesCrishantha Nanayakkara
 
1BT_Tech_Talk_AWS_Cross_Account_Access
1BT_Tech_Talk_AWS_Cross_Account_Access1BT_Tech_Talk_AWS_Cross_Account_Access
1BT_Tech_Talk_AWS_Cross_Account_AccessCrishantha Nanayakkara
 
Towards Cloud Enabled Data Intensive Digital Transformation
Towards Cloud Enabled Data Intensive Digital TransformationTowards Cloud Enabled Data Intensive Digital Transformation
Towards Cloud Enabled Data Intensive Digital TransformationCrishantha Nanayakkara
 
Domain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal ArchitectureDomain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal ArchitectureCrishantha Nanayakkara
 
Enterprise architecture in the current e-Government context in Sri Lanka
Enterprise architecture in the current e-Government context in Sri LankaEnterprise architecture in the current e-Government context in Sri Lanka
Enterprise architecture in the current e-Government context in Sri LankaCrishantha Nanayakkara
 
Lanka Gate Core Components - Government CIO Workshop Dec 2013
Lanka Gate Core Components - Government CIO Workshop Dec 2013Lanka Gate Core Components - Government CIO Workshop Dec 2013
Lanka Gate Core Components - Government CIO Workshop Dec 2013Crishantha Nanayakkara
 

More from Crishantha Nanayakkara (20)

Sri Lanka Government Enterprise Architecture
Sri Lanka Government Enterprise ArchitectureSri Lanka Government Enterprise Architecture
Sri Lanka Government Enterprise Architecture
 
Azure for AWS Developers
Azure for AWS DevelopersAzure for AWS Developers
Azure for AWS Developers
 
Enterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesEnterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices Architectures
 
AWS Systems Manager
AWS Systems ManagerAWS Systems Manager
AWS Systems Manager
 
AWS Big Data Landscape
AWS Big Data LandscapeAWS Big Data Landscape
AWS Big Data Landscape
 
1BT_Designing_Microservices
1BT_Designing_Microservices1BT_Designing_Microservices
1BT_Designing_Microservices
 
1BT_Tech_Talk_AWS_Cross_Account_Access
1BT_Tech_Talk_AWS_Cross_Account_Access1BT_Tech_Talk_AWS_Cross_Account_Access
1BT_Tech_Talk_AWS_Cross_Account_Access
 
AWS Security Hub
AWS Security HubAWS Security Hub
AWS Security Hub
 
Resiilient Architectures on AWS
Resiilient Architectures on AWSResiilient Architectures on AWS
Resiilient Architectures on AWS
 
Reactive Microservices
Reactive MicroservicesReactive Microservices
Reactive Microservices
 
Expectaions in IT industry
Expectaions in IT industryExpectaions in IT industry
Expectaions in IT industry
 
Towards Cloud Enabled Data Intensive Digital Transformation
Towards Cloud Enabled Data Intensive Digital TransformationTowards Cloud Enabled Data Intensive Digital Transformation
Towards Cloud Enabled Data Intensive Digital Transformation
 
Container Architecture
Container ArchitectureContainer Architecture
Container Architecture
 
Domain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal ArchitectureDomain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal Architecture
 
Microservices
MicroservicesMicroservices
Microservices
 
Enterprise architecture in the current e-Government context in Sri Lanka
Enterprise architecture in the current e-Government context in Sri LankaEnterprise architecture in the current e-Government context in Sri Lanka
Enterprise architecture in the current e-Government context in Sri Lanka
 
Modern Trends in IT
Modern Trends in ITModern Trends in IT
Modern Trends in IT
 
ICTA Meetup 12 - Message Brokers
ICTA Meetup 12 - Message BrokersICTA Meetup 12 - Message Brokers
ICTA Meetup 12 - Message Brokers
 
ICTA Meetup 11 - Big Data
ICTA Meetup 11 - Big DataICTA Meetup 11 - Big Data
ICTA Meetup 11 - Big Data
 
Lanka Gate Core Components - Government CIO Workshop Dec 2013
Lanka Gate Core Components - Government CIO Workshop Dec 2013Lanka Gate Core Components - Government CIO Workshop Dec 2013
Lanka Gate Core Components - Government CIO Workshop Dec 2013
 

Recently uploaded

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 

Recently uploaded (20)

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 

Application Deployement Strategies

  • 1. COPYRIGHT – 1 BILLION TECH | CONFIDENTIAL APPLICATIONDEPLOYMENTSTRATEGIES TECH TALK [05TH AUGUST 2021]
  • 2.  The need  Deployment strategies / patterns  Best Practices AGENDA
  • 3. FROM ON-PREMISE Source: J2EE Design Patterns (Book)
  • 5.  A proper deployment and testing strategy is paramount to any production deployment: ● How to minimize the application downtime ● How to manage and resolve incidents with minimal impact on users ● How to address failed deployments in a reliable effective way (rollback) ● How to minimize people and process errors to achieve predictable, repeatable deployments (automated processes) THE NEED
  • 6.  Multiple deployment strategies / patterns identified ● Recreate deployment pattern ● Rolling update deployment pattern ● Blue-Green deployment pattern ● Canary test deployment pattern ● A/B test pattern ● Shadow test pattern DEPLOYMENT STRATEGIES / PATTERNS
  • 7.  Version 1 is terminated and Version 2 is rolled out. RECREATE DEPLOYMENT PATTERN
  • 8.  Pros: ● Simplicity. No need to manage more than one application version at a given time. ● Can avoid backward compatibility challenges  Cons: ● Involves a downtime during the update process. ● Not suitable for mission critical applications RECREATE DEPLOYMENT PATTERN
  • 9.  Version 2 is gradually rolled out and replaces Version 1. ROLLING UPDATE DEPLOYMENT PATTERN
  • 10.  Pros: ● No downtime – incrementally updates the deployment targets based on the “window size (number of instances that you roll out)” ● Reduced deployment risk – Easy to setup ● Handling stateful application is comparatively easy.  Cons: ● Slow rollback - If something goes wrong in the new replicas, redeployment is needed for those new replicas ● Backward compatibility - Because new code and old code live side by side, users might be routed to either one of the versions arbitrarily. The new application version can read and handle data that the old version stores ROLLING UPDATE DEPLOYMENT PATTERN
  • 11.  Version 2 is release alongside Version 1. The traffic is switched to Version 2 after it is fully tested.  Performs two identical deployments, where “blue” represents the “current” application and the “green” represents the “new” application version, which is created and tested. After the deployment succeeds, you can either keep the “blue” environment or decommission it. BLUE GREEN DEPLOYMENT PATTERN
  • 13.  Pros: ● Zero downtime ● Instant rollback – You can rollback at any moment by adjusting the Load Balancer to by direct traffic back to the “blue” environment. ● Environment separation can reduce the deployment risk.  Cons: ● Cost and operational overhead by having a duplicate environment ● Need to test Version 2 properly before the cut over ● Handling stateful applications can be hard - If you plan to decomposition the current version, it is required to allow appropriate connection (session) draining on existing transactions and sessions. This allows requests processed by the current deployment to be completed or terminated gracefully. BLUE-GREEN DEPLOYMENT PATTERN
  • 15.  Version 2 is released to subset of users followed by a full roll-out.  Usually the traffic is split based on the weight. For example 70% of the requests will go to Version 1 and 30% of the traffic will go to Version 2. Gradually you can increase the Version 2 traffic until it is completed rolled out. CANARYTEST DEPLOYMENT PATTERN
  • 17. CANARY DEPLOYMENT PATTERN Source: https:/ /martinfowler.com
  • 18.  Pros: ● Versions can be released for a subset of users. Can be a very effective feature when it comes to feature releases. ● Fast rollback ● Zero downtime ● Good strategy to detect problems in the new release  Cons: ● Slow rollout ● Backward compatibility and sticky sessions CANARY DEPLOYMENT PATTERN
  • 19.  Version 2 is released under “specific conditions” to a subset of users.  You route a subset of users based on routing rules  It is a good technique for making business decisions based on statistics rather the deployment strategy.  Routing rules often include factors such as ● Query parameters, browser version, user agent, geo location, language and operating system A/B TEST PATTERN
  • 20.  Pros: ● Can run several versions in parallel for many conditions/ rules  Cons: ● Requires an intelligent Load Balancer (Application Load Balancer) for intelligent routing ● Troubleshooting could be hard A/B TEST PATTERN
  • 21.  Version 2 received real world traffic without impacting user requests.  You deploy and run a new version alongside the current version, but in such a way that the new version is hidden from the users  Shadow testing is fairly complex to set up. Also, like blue/green deployments, shadow deployments carry cost and operational implications because the setup requires running and managing two environments in parallel. SHADOW TEST PATTERN
  • 22.  Pros: ● Can do production testing of the target application with the production traffic. ● No rollout until the stability and performance of the application meets the requirement  Cons: ● Expensive as it requires double the resources ● Complex to setup ● Requires quite a few mocking service to test some critical use cases (such as payment features, which can otherwise will lead to double payments) SHADOW TEST PATTERN
  • 24. BEST PRACTICES  Backward compatibility - Ensure that the database is compatible with all active versions. You may use “Parallel Change Pattern” to implement this.  Following a proper CI/CD pipeline  Configuration management  Implementing a rollback strategy  Post deployment monitoring
  • 25. REFERENCES  Introduction to Deployment Strategies - https:/ /harness.io/blog/continuous- verification/blue-green-canary-deployment-strategies/  Application Deployment and Testing Strategies - https:/ /cloud.google.com/architecture/application-deployment-and-testing-strate gies  https:/ /martinfowler.com/tags/continuous%20delivery.html  Six Strategies for Application Deployment - https:/ /thenewstack.io/deployment-strategies/  Four Deployment Strategies for Microservices Deployment - https:/ /www.infoworld.com/article/3565750/4-deployment-strategies-for-resilient -microservices.html