SlideShare a Scribd company logo
Getting up to speed: Application Deployment
Patterns in the Cloud
Given by Derek C. Ashmore
NOVA Cloud and Software Engineering Group
June 24, 2020
©2020 Derek C. Ashmore, All Rights Reserved 1
Who am I?
• Professional Geek
since 1987
• Java/J2EE/Java EE
since 1999
• AWS since 2010
• Azure since 2017
• Specialties
• Application
Transformation
• Infrastructure
Automation
• Yes – I still code!
©2020 Derek C. Ashmore, All Rights Reserved 2
Discussion Resources
• This slide deck
– https://www.slideshare.net/derekashmore/presentations
• Deployment Pattern Article Series
– http://www.derekashmore.com/2020/05/design-patterns-for-cloud-management.html
• Slide deck has hyper-links!
– Don’t bother writing down URLs
©2020 Derek C. Ashmore, All Rights Reserved 3
Agenda
General
Overview
Application
Deployment
Patterns
Summary /
Q&A
©2020 Derek C. Ashmore, All Rights Reserved 4
A Brief History of Time
• I’ve been writing CI/CD Pipelines for over a decade.
• Before the Cloud
– Application builds and packaging
• Automating application build/packaging became standard
• Deployments sometimes automated / sometimes not
– OPS handled deployments – often manually
– Releases required bureaucracy and constrained by schedules
• After the cloud
– OPS decentralized – DevOps teams formed
– Everything is (or can be) code now
– Application developers increasingly responsible for application infrastructure too
• Instances / Virtual Machines
• Content Delivery Network (CDN) deployments
• Serverless function development/deployment
• Database design/management too
– CI/CD Pipelines augmented to handle application infrastructure too
Deja Vu
• Cloud deployment pipelines look the same after a while
– Like build automation before it
• Coding patterns have developed for application infrastructure
and releases
– Just like application code for any programming language
Cloud Pattern Categories
• Build Patterns
– Creating deployable artifacts from source code
• Docker Images
• Java → Wars/Ears
• Python packages
• Application Release Patterns
– Making deployable artifacts available to end users
• Infrastructure Patterns
– Creating/maintaining infrastructure used/needed by applications
What is a Pattern?
• Elements of a Software Pattern
– Problem Statement
• Sometimes called “Intent”
– Example(s) of the problem
– Applicability Statement
• When to use this pattern
– Structure
• Algorithm used by the pattern
– Consequences
• Advantages / Disadvantages
• Limitations
Agenda
General
Overview
Application
Deployment
Patterns
Summary /
Q&A
©2020 Derek C. Ashmore, All Rights Reserved 9
Application Deployment Pipeline Patterns
• Application Deployment Pipeline Patterns
– Make build pipeline output available to end users
• Docker images, Java Wars/Ears, Python Packages, etc.
– Many require cloud (any vendor)
– Can be implemented using any CI/CD deployment software
• Jenkins, Bamboo, Azure DevOps, AWS Code* products
– Just like GoF patterns that can be implemented in any programming language
• The Pattern List
– Spray and Pray (All at Once)
– Rolling Updates
– Blue/Green
– Canary
Spray and Pray (All at Once)
• Problem Statement
• An application release needs to be made
available to users
• An Example
• An internal web application used for company
profitability analysis
Rolling Updates
• Problem Statement
• An application release needs to
be made available to users
without downtime to users
• An Example
• multiple (highly available) node
deployment -- any technical
stack
• Mobile application for Fast Food
franchiser
• AWS Elastic Beanstalk
Blue / Green
• Problem Statement
• An application release needs to be
made available to users without
downtime to users and minimizing
rollback time
• An Example
• Mobile consumer banking
application suite
• Large bank with US presence
• High Availability a must
• Customer outages must be
eliminated at all costs
• Ability to quickly rollback at
the first sign of trouble
Canary
• Problem Statement
• An application release is "tested"
in production by releasing it at
first to a smaller percentage of
users
• An Example
• Mobile consumer banking
application suite
Pattern Requirements
Pattern Consequences
Further Reading
• This slide deck
– https://www.slideshare.net/derekashmore/presentations
• Deployment Pattern Article Series
– http://www.derekashmore.com/2020/05/design-patterns-for-cloud-management.html
• Written Material for Deployment Patterns
– https://learningactors.com/intro-to-deployment-strategies-blue-green-canary-and-more/
©2020 Derek C. Ashmore, All Rights Reserved 17
Questions?
• Derek Ashmore:
– Blog: www.derekashmore.com
– LinkedIn: www.linkedin.com/in/derekashmore
• Connect Invites from attendees welcome
– Twitter: https://twitter.com/Derek_Ashmore
– GitHub: https://github.com/Derek-Ashmore
– Book: http://dvtpress.com/
©2020 Derek C. Ashmore, All Rights Reserved 18

More Related Content

What's hot

High Performance Continuous Delivery - Versioning and Release Management Aligned
High Performance Continuous Delivery - Versioning and Release Management AlignedHigh Performance Continuous Delivery - Versioning and Release Management Aligned
High Performance Continuous Delivery - Versioning and Release Management Aligned
Perforce
 
Building Cloud-Native Applications with OpenStack
Building Cloud-Native Applications with OpenStack Building Cloud-Native Applications with OpenStack
Building Cloud-Native Applications with OpenStack
Platform9
 
SolidFire + Platform9: Simply Faster OpenStack
SolidFire + Platform9: Simply Faster OpenStackSolidFire + Platform9: Simply Faster OpenStack
SolidFire + Platform9: Simply Faster OpenStack
Platform9
 
SiriusCon 2017 - Sirius Tutorial Demo
SiriusCon 2017 - Sirius Tutorial DemoSiriusCon 2017 - Sirius Tutorial Demo
SiriusCon 2017 - Sirius Tutorial Demo
Obeo
 
Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion Architecture
BoldRadius Solutions
 
Webinar: OpenStack Benefits for KVM
Webinar: OpenStack Benefits for KVMWebinar: OpenStack Benefits for KVM
Webinar: OpenStack Benefits for KVM
Platform9
 
VMware Private Clouds: Charting a path to success
VMware Private Clouds: Charting a path to successVMware Private Clouds: Charting a path to success
VMware Private Clouds: Charting a path to success
Platform9
 
Introduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeopleIntroduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeople
SpringPeople
 
Improving Mobile UX with Apache DeviceMap - Werner Keil - Codemotion Rome 2015
Improving Mobile UX with Apache DeviceMap - Werner Keil - Codemotion Rome 2015Improving Mobile UX with Apache DeviceMap - Werner Keil - Codemotion Rome 2015
Improving Mobile UX with Apache DeviceMap - Werner Keil - Codemotion Rome 2015
Codemotion
 
Democamp Munich 2013: Are you still manually coding UIs?
Democamp Munich 2013: Are you still manually coding UIs?Democamp Munich 2013: Are you still manually coding UIs?
Democamp Munich 2013: Are you still manually coding UIs?
Maximilian Kögel
 

What's hot (10)

High Performance Continuous Delivery - Versioning and Release Management Aligned
High Performance Continuous Delivery - Versioning and Release Management AlignedHigh Performance Continuous Delivery - Versioning and Release Management Aligned
High Performance Continuous Delivery - Versioning and Release Management Aligned
 
Building Cloud-Native Applications with OpenStack
Building Cloud-Native Applications with OpenStack Building Cloud-Native Applications with OpenStack
Building Cloud-Native Applications with OpenStack
 
SolidFire + Platform9: Simply Faster OpenStack
SolidFire + Platform9: Simply Faster OpenStackSolidFire + Platform9: Simply Faster OpenStack
SolidFire + Platform9: Simply Faster OpenStack
 
SiriusCon 2017 - Sirius Tutorial Demo
SiriusCon 2017 - Sirius Tutorial DemoSiriusCon 2017 - Sirius Tutorial Demo
SiriusCon 2017 - Sirius Tutorial Demo
 
Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion Architecture
 
Webinar: OpenStack Benefits for KVM
Webinar: OpenStack Benefits for KVMWebinar: OpenStack Benefits for KVM
Webinar: OpenStack Benefits for KVM
 
VMware Private Clouds: Charting a path to success
VMware Private Clouds: Charting a path to successVMware Private Clouds: Charting a path to success
VMware Private Clouds: Charting a path to success
 
Introduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeopleIntroduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeople
 
Improving Mobile UX with Apache DeviceMap - Werner Keil - Codemotion Rome 2015
Improving Mobile UX with Apache DeviceMap - Werner Keil - Codemotion Rome 2015Improving Mobile UX with Apache DeviceMap - Werner Keil - Codemotion Rome 2015
Improving Mobile UX with Apache DeviceMap - Werner Keil - Codemotion Rome 2015
 
Democamp Munich 2013: Are you still manually coding UIs?
Democamp Munich 2013: Are you still manually coding UIs?Democamp Munich 2013: Are you still manually coding UIs?
Democamp Munich 2013: Are you still manually coding UIs?
 

Similar to Application Deployment Patterns in the Cloud - NOVA Cloud and Software Engineering

ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
Brad Williams
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
Karthik Gaekwad
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
Oracle Developers
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
Karthik Gaekwad
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Vadym Kazulkin
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday Docker
Sakari Hoisko
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
Alex Vranceanu
 
Application Virtualization, University of New Hampshire
Application Virtualization, University of New HampshireApplication Virtualization, University of New Hampshire
Application Virtualization, University of New Hampshire
Tony Austwick
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
IBM UrbanCode Products
 
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
jaxconf
 
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Vadym Kazulkin
 
Domain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsDomain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic Patterns
Mark Windholtz
 
Cloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and BenefitsCloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and Benefits
Guillaume Berche
 
Highly available nodejs
Highly available nodejsHighly available nodejs
Highly available nodejs
pfremm
 
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewEnabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Cisco DevNet
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
Ritwik Das
 
AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator Fr...
AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator Fr...AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator Fr...
AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator Fr...
AWS Chicago
 
AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator ...
AWS Community Day 2022   Derek Ashmore_Application Modernization Accelerator ...AWS Community Day 2022   Derek Ashmore_Application Modernization Accelerator ...
AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator ...
AWS Chicago
 
Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014
Sanjeev Sharma
 

Similar to Application Deployment Patterns in the Cloud - NOVA Cloud and Software Engineering (20)

ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday Docker
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
Application Virtualization, University of New Hampshire
Application Virtualization, University of New HampshireApplication Virtualization, University of New Hampshire
Application Virtualization, University of New Hampshire
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
 
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
 
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
 
Domain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsDomain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic Patterns
 
Cloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and BenefitsCloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and Benefits
 
Highly available nodejs
Highly available nodejsHighly available nodejs
Highly available nodejs
 
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewEnabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
 
AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator Fr...
AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator Fr...AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator Fr...
AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator Fr...
 
AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator ...
AWS Community Day 2022   Derek Ashmore_Application Modernization Accelerator ...AWS Community Day 2022   Derek Ashmore_Application Modernization Accelerator ...
AWS Community Day 2022 Derek Ashmore_Application Modernization Accelerator ...
 
Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014
 

Recently uploaded

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

Application Deployment Patterns in the Cloud - NOVA Cloud and Software Engineering

  • 1. Getting up to speed: Application Deployment Patterns in the Cloud Given by Derek C. Ashmore NOVA Cloud and Software Engineering Group June 24, 2020 ©2020 Derek C. Ashmore, All Rights Reserved 1
  • 2. Who am I? • Professional Geek since 1987 • Java/J2EE/Java EE since 1999 • AWS since 2010 • Azure since 2017 • Specialties • Application Transformation • Infrastructure Automation • Yes – I still code! ©2020 Derek C. Ashmore, All Rights Reserved 2
  • 3. Discussion Resources • This slide deck – https://www.slideshare.net/derekashmore/presentations • Deployment Pattern Article Series – http://www.derekashmore.com/2020/05/design-patterns-for-cloud-management.html • Slide deck has hyper-links! – Don’t bother writing down URLs ©2020 Derek C. Ashmore, All Rights Reserved 3
  • 5. A Brief History of Time • I’ve been writing CI/CD Pipelines for over a decade. • Before the Cloud – Application builds and packaging • Automating application build/packaging became standard • Deployments sometimes automated / sometimes not – OPS handled deployments – often manually – Releases required bureaucracy and constrained by schedules • After the cloud – OPS decentralized – DevOps teams formed – Everything is (or can be) code now – Application developers increasingly responsible for application infrastructure too • Instances / Virtual Machines • Content Delivery Network (CDN) deployments • Serverless function development/deployment • Database design/management too – CI/CD Pipelines augmented to handle application infrastructure too
  • 6. Deja Vu • Cloud deployment pipelines look the same after a while – Like build automation before it • Coding patterns have developed for application infrastructure and releases – Just like application code for any programming language
  • 7. Cloud Pattern Categories • Build Patterns – Creating deployable artifacts from source code • Docker Images • Java → Wars/Ears • Python packages • Application Release Patterns – Making deployable artifacts available to end users • Infrastructure Patterns – Creating/maintaining infrastructure used/needed by applications
  • 8. What is a Pattern? • Elements of a Software Pattern – Problem Statement • Sometimes called “Intent” – Example(s) of the problem – Applicability Statement • When to use this pattern – Structure • Algorithm used by the pattern – Consequences • Advantages / Disadvantages • Limitations
  • 10. Application Deployment Pipeline Patterns • Application Deployment Pipeline Patterns – Make build pipeline output available to end users • Docker images, Java Wars/Ears, Python Packages, etc. – Many require cloud (any vendor) – Can be implemented using any CI/CD deployment software • Jenkins, Bamboo, Azure DevOps, AWS Code* products – Just like GoF patterns that can be implemented in any programming language • The Pattern List – Spray and Pray (All at Once) – Rolling Updates – Blue/Green – Canary
  • 11. Spray and Pray (All at Once) • Problem Statement • An application release needs to be made available to users • An Example • An internal web application used for company profitability analysis
  • 12. Rolling Updates • Problem Statement • An application release needs to be made available to users without downtime to users • An Example • multiple (highly available) node deployment -- any technical stack • Mobile application for Fast Food franchiser • AWS Elastic Beanstalk
  • 13. Blue / Green • Problem Statement • An application release needs to be made available to users without downtime to users and minimizing rollback time • An Example • Mobile consumer banking application suite • Large bank with US presence • High Availability a must • Customer outages must be eliminated at all costs • Ability to quickly rollback at the first sign of trouble
  • 14. Canary • Problem Statement • An application release is "tested" in production by releasing it at first to a smaller percentage of users • An Example • Mobile consumer banking application suite
  • 17. Further Reading • This slide deck – https://www.slideshare.net/derekashmore/presentations • Deployment Pattern Article Series – http://www.derekashmore.com/2020/05/design-patterns-for-cloud-management.html • Written Material for Deployment Patterns – https://learningactors.com/intro-to-deployment-strategies-blue-green-canary-and-more/ ©2020 Derek C. Ashmore, All Rights Reserved 17
  • 18. Questions? • Derek Ashmore: – Blog: www.derekashmore.com – LinkedIn: www.linkedin.com/in/derekashmore • Connect Invites from attendees welcome – Twitter: https://twitter.com/Derek_Ashmore – GitHub: https://github.com/Derek-Ashmore – Book: http://dvtpress.com/ ©2020 Derek C. Ashmore, All Rights Reserved 18