SlideShare una empresa de Scribd logo
1 de 37
How to achieve Continuous
Delivery
Best practices on how to architect for faster and better delivery in the
Enterprise
Continous Delivery Definition
“Continuous Delivery is the ability to get changes into production safely
and quickly in a sustainable way”
Why Continous Delivery
• Increased Availibility & Manageabiity
• Smaller = More releases = downtime = stress = Productive time
• Change fast = Remediate fast = No Rollback = Simplify Process = Investment
• Automation = Quality = Incidents
• Constant Flow = Work Force utilization
• Detect Bugs Sooner = cost of bug fixes
• Improved Testability
• Decouple = Test in isolation = environments = Feedback
• Improved intrinsic product quality
• Time to market = PO experimentation = Improvement
• Improved satisfaction (Customer & Work force)
• Constant delivery & decouple Release = confidence & transparence
2700 Respondents
Methodology
• Divide population in Low, medium and High performers
• Throughput Measures
• Deployment frequency. How frequently the organization deploys code.
• Deployment lead time. Time required for changes to go from “code committed” to code
successfully running in production.
• Stability Measures
• Mean time to recover (MTTR). Time required to restore service when a service incident
occurs (e.g., unplanned outage, service impairment, etc.).
ROI
Key concept: “the value stream”
• “from concept to cash”
The Deployment Pipeline
• As fast as possible
• As simple as possible
Bottlenecks linked with Big Systems
• Dependencies
• Complexity = slow development & many regressions
• Difficult to be productive = many wait time & re-work
• Large code base = Many branches = Merging hell
• Can’t deploy in isolation = Big Bang Releases = Deployment hell
• Manual Tests
• Large Database = No (managed) test data = No E2E automated tests
Microservice Architecture
• Application is
composed out of
many services
• Isolated
• Specific business
capability
• Specific domain
• Deployed
independently
Characteristics of a Microservice Architecture
• Componentization via Services
• Organized around Business Capabilities
• Products not Projects
• Smart endpoints and dumb pipes
• Decentralized Governance
• Decentralized Data Management
• Infrastructure Automation
• Design for failure
• Evolutionary Design
https://martinfowler.com/articles/microservices.html
Conways law
“Any organization that designs a
system (defined broadly) will produce
a design whose structure is a copy of
the organization's communication
structure.”
Characteristics of a Microservice Organization
• Componentization owned by Teams
• Organized around Business Capabilities
• Product not Project teams
• Smart teams and dumb communication
• Decentralized Governance => teams are autonomous
• Decentralized Data Management => database is owned by the teams
• Teams can count on Infrastructure Automation
• Design for failure
• Evolutionary mindset => continous improvement
Relationship with DDD Bounded Context
• Break a large domain into smaller
domains
• Polysemy
• Divided in multi canonical models
• Unrelated & Related Concepts
• Context Map
• 1 Bounded Context >= 1
Microservice
• Add physical boundaries => No Sharing
• Process
• Database
The link with Containers
Virtual Machine Container
The Link with Containers
• Benefits
• Decoupling from environment
• Consistent environment (staging)
• Run everywhere => vendor decoupling
• Runtime Options
• Better ressource utilization &
cohabitation
• Finer-grained execution environments
• Better Manageability
• Deployment
• Os, patching
• Monitoring
• Docker Compose
• Clustering
• Orchestrator
• Registries
• Layered & indempotent
The link with containers
Microservice & Containers
Different kinds of autonomy
• Runtime autonomy: the system should survive during a certain
amount of time to a failure of one of it’s parts.
• Testing autonomy: be able to test the parts in isolation.
• Autonomy of change: be able to do modification without impacting
other parts of the system.
• Platform autonomy: System should be able to run on platforms with
different kind of hosting infrastructure.
How to achieve autonomy?
• Componentization (Application
Architecture)
• Focus on functional decomposition (not on
technical layers)
• Design for localized changes
• Design so that use case change is localized inside 1
component
• Conway's Law
• Design so that feature change is localized inside 1
team
How to achieve autonomy?
• Data sovereignty
• Each Microservice must own his data
• Conceptual model will differ between
microservices.
• Process sovereignty
• Each process should be autonomous
• No synchronous communication between
applications
• No querying of other applications
(synchronous or asynchronous)
Event Notification
Products
Sales
How to send commands to other
applications?
Metering
New Measurements
Allocation
UpdateAllocations
Use of event notification
Publish New Measurements
Consume
New Measurements
EventHanler
Allocation
Calculator
Allocate
How to query data from other components?
How to guarantee consistency?
How to show data from other components?
How to deploy changes?
• Always guarantee backward compatibility (At least for version n-1)
• Additive changes
• Database
• API (Synchronous & Asynchronous)
• Version the API’s
• Only deploy from Main branch
• Use feature flags
What will we gain?
“Continuous Delivery is the ability to get changes into production safely
and quickly in a sustainable way”
But also:
• Increased Tenant Scalability
• Improved Testability
• Increased Availibility & Manageabiity
• Improved intrinsic product quality
• Improved satisfaction (Customer & Work force)
- Ability to adopt a modern Infrastructure Architecture (Cloud)
What do we give up?
• Overall Immediate Consistency
• Easily debug the command chain
between two services
• One big database that can be used
as a backdoor
How to move forward
Better teams make
better products

Más contenido relacionado

La actualidad más candente

System center 2012 configurations manager
System center 2012 configurations managerSystem center 2012 configurations manager
System center 2012 configurations managerBelarmino Tomicha
 
What's New in System Center 2012
What's New in System Center 2012 What's New in System Center 2012
What's New in System Center 2012 Perficient, Inc.
 
VMworld 2013: The Software Defined Datacenter Meets End User Computing
VMworld 2013: The Software Defined Datacenter Meets End User Computing VMworld 2013: The Software Defined Datacenter Meets End User Computing
VMworld 2013: The Software Defined Datacenter Meets End User Computing VMworld
 
Making The Desktop Dynamic
Making The Desktop DynamicMaking The Desktop Dynamic
Making The Desktop DynamicJeff Fisher
 
AutomateandsimAutomate and Simplify Your IT Management Operations
AutomateandsimAutomate and Simplify Your IT Management OperationsAutomateandsimAutomate and Simplify Your IT Management Operations
AutomateandsimAutomate and Simplify Your IT Management OperationsDell World
 
A Better Solution Limited Corporate Presentation
A Better Solution Limited Corporate PresentationA Better Solution Limited Corporate Presentation
A Better Solution Limited Corporate PresentationRobert Atkins
 
Yes Virginia, Automatic Monitoring DOES Exist
Yes Virginia, Automatic Monitoring DOES ExistYes Virginia, Automatic Monitoring DOES Exist
Yes Virginia, Automatic Monitoring DOES ExistDevOps.com
 
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...Introduction To Server Virtualisation Planning And Implementing A Virtualisat...
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...Alan McSweeney
 
Maximizing Your Rundeck Migration
Maximizing Your Rundeck Migration Maximizing Your Rundeck Migration
Maximizing Your Rundeck Migration Rundeck
 
#MFSummit2016 Operate: Introduction to software collaboration and networking
#MFSummit2016 Operate: Introduction to software collaboration and networking#MFSummit2016 Operate: Introduction to software collaboration and networking
#MFSummit2016 Operate: Introduction to software collaboration and networkingMicro Focus
 
Monitoring and Reporting for IBM i Compliance and Security
Monitoring and Reporting for IBM i Compliance and SecurityMonitoring and Reporting for IBM i Compliance and Security
Monitoring and Reporting for IBM i Compliance and SecurityPrecisely
 
Het Roelof van Echten College werkt dankzij AppSense DataNow apparaat- en loc...
Het Roelof van Echten College werkt dankzij AppSense DataNow apparaat- en loc...Het Roelof van Echten College werkt dankzij AppSense DataNow apparaat- en loc...
Het Roelof van Echten College werkt dankzij AppSense DataNow apparaat- en loc...ICT-Partners
 
#MFSummit2016 Operate: Towards a unified endpoint management strategy
#MFSummit2016 Operate: Towards a unified endpoint management strategy#MFSummit2016 Operate: Towards a unified endpoint management strategy
#MFSummit2016 Operate: Towards a unified endpoint management strategyMicro Focus
 
File system auditing who accessed what files and where
File system auditing who accessed what files and whereFile system auditing who accessed what files and where
File system auditing who accessed what files and whereNetwrix Corporation
 
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudApplication Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudSkytap Cloud
 
Introducing the Latest in High Availability from Syncsort
Introducing the Latest in High Availability from SyncsortIntroducing the Latest in High Availability from Syncsort
Introducing the Latest in High Availability from SyncsortPrecisely
 
Mission IT operations for a good night's sleep
Mission IT operations for a good night's sleepMission IT operations for a good night's sleep
Mission IT operations for a good night's sleepwwwally
 

La actualidad más candente (20)

System center 2012 configurations manager
System center 2012 configurations managerSystem center 2012 configurations manager
System center 2012 configurations manager
 
What's New in System Center 2012
What's New in System Center 2012 What's New in System Center 2012
What's New in System Center 2012
 
VMworld 2013: The Software Defined Datacenter Meets End User Computing
VMworld 2013: The Software Defined Datacenter Meets End User Computing VMworld 2013: The Software Defined Datacenter Meets End User Computing
VMworld 2013: The Software Defined Datacenter Meets End User Computing
 
VMware Customer references - Cloud
VMware Customer references - CloudVMware Customer references - Cloud
VMware Customer references - Cloud
 
Cloud Analytics and VDI
Cloud Analytics and VDICloud Analytics and VDI
Cloud Analytics and VDI
 
Making The Desktop Dynamic
Making The Desktop DynamicMaking The Desktop Dynamic
Making The Desktop Dynamic
 
AutomateandsimAutomate and Simplify Your IT Management Operations
AutomateandsimAutomate and Simplify Your IT Management OperationsAutomateandsimAutomate and Simplify Your IT Management Operations
AutomateandsimAutomate and Simplify Your IT Management Operations
 
A Better Solution Limited Corporate Presentation
A Better Solution Limited Corporate PresentationA Better Solution Limited Corporate Presentation
A Better Solution Limited Corporate Presentation
 
Deployment Strategies
Deployment StrategiesDeployment Strategies
Deployment Strategies
 
Yes Virginia, Automatic Monitoring DOES Exist
Yes Virginia, Automatic Monitoring DOES ExistYes Virginia, Automatic Monitoring DOES Exist
Yes Virginia, Automatic Monitoring DOES Exist
 
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...Introduction To Server Virtualisation Planning And Implementing A Virtualisat...
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...
 
Maximizing Your Rundeck Migration
Maximizing Your Rundeck Migration Maximizing Your Rundeck Migration
Maximizing Your Rundeck Migration
 
#MFSummit2016 Operate: Introduction to software collaboration and networking
#MFSummit2016 Operate: Introduction to software collaboration and networking#MFSummit2016 Operate: Introduction to software collaboration and networking
#MFSummit2016 Operate: Introduction to software collaboration and networking
 
Monitoring and Reporting for IBM i Compliance and Security
Monitoring and Reporting for IBM i Compliance and SecurityMonitoring and Reporting for IBM i Compliance and Security
Monitoring and Reporting for IBM i Compliance and Security
 
Het Roelof van Echten College werkt dankzij AppSense DataNow apparaat- en loc...
Het Roelof van Echten College werkt dankzij AppSense DataNow apparaat- en loc...Het Roelof van Echten College werkt dankzij AppSense DataNow apparaat- en loc...
Het Roelof van Echten College werkt dankzij AppSense DataNow apparaat- en loc...
 
#MFSummit2016 Operate: Towards a unified endpoint management strategy
#MFSummit2016 Operate: Towards a unified endpoint management strategy#MFSummit2016 Operate: Towards a unified endpoint management strategy
#MFSummit2016 Operate: Towards a unified endpoint management strategy
 
File system auditing who accessed what files and where
File system auditing who accessed what files and whereFile system auditing who accessed what files and where
File system auditing who accessed what files and where
 
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudApplication Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
 
Introducing the Latest in High Availability from Syncsort
Introducing the Latest in High Availability from SyncsortIntroducing the Latest in High Availability from Syncsort
Introducing the Latest in High Availability from Syncsort
 
Mission IT operations for a good night's sleep
Mission IT operations for a good night's sleepMission IT operations for a good night's sleep
Mission IT operations for a good night's sleep
 

Similar a How to achieve Continous Delivery

Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0Vinod Wilson
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...AFAS Software
 
Service fabric overview
Service fabric overviewService fabric overview
Service fabric overviewHimanshu Desai
 
Comparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutionsComparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutionsMike Ensor
 
Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabricAbhishek Sur
 
Improving DevOps through Cloud Automation and Management - Real-World Rocket ...
Improving DevOps through Cloud Automation and Management - Real-World Rocket ...Improving DevOps through Cloud Automation and Management - Real-World Rocket ...
Improving DevOps through Cloud Automation and Management - Real-World Rocket ...Ostrato
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
Grokking microservices in 5 minutes
Grokking microservices in 5 minutesGrokking microservices in 5 minutes
Grokking microservices in 5 minutesAndrew Siemer
 
How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP TestingRTTS
 
Monitoring Containerized Micro-Services In Azure
Monitoring Containerized Micro-Services In AzureMonitoring Containerized Micro-Services In Azure
Monitoring Containerized Micro-Services In AzureAlex Bulankou
 
Systemology presentation- System Center & the modern datacenter
Systemology presentation- System Center & the modern datacenterSystemology presentation- System Center & the modern datacenter
Systemology presentation- System Center & the modern datacenterjmustac
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 
ADDO Open Source Observability Tools
ADDO Open Source Observability Tools ADDO Open Source Observability Tools
ADDO Open Source Observability Tools Mickey Boxell
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architectureGang Tao
 
Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous deliveryMarcel de Vries
 
DataOps , cbuswaw April '23
DataOps , cbuswaw April '23DataOps , cbuswaw April '23
DataOps , cbuswaw April '23Jason Packer
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
 

Similar a How to achieve Continous Delivery (20)

Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
 
Service fabric overview
Service fabric overviewService fabric overview
Service fabric overview
 
Comparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutionsComparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutions
 
Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabric
 
Improving DevOps through Cloud Automation and Management - Real-World Rocket ...
Improving DevOps through Cloud Automation and Management - Real-World Rocket ...Improving DevOps through Cloud Automation and Management - Real-World Rocket ...
Improving DevOps through Cloud Automation and Management - Real-World Rocket ...
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Grokking microservices in 5 minutes
Grokking microservices in 5 minutesGrokking microservices in 5 minutes
Grokking microservices in 5 minutes
 
How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP Testing
 
Monitoring Containerized Micro-Services In Azure
Monitoring Containerized Micro-Services In AzureMonitoring Containerized Micro-Services In Azure
Monitoring Containerized Micro-Services In Azure
 
Systemology presentation- System Center & the modern datacenter
Systemology presentation- System Center & the modern datacenterSystemology presentation- System Center & the modern datacenter
Systemology presentation- System Center & the modern datacenter
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
ADDO Open Source Observability Tools
ADDO Open Source Observability Tools ADDO Open Source Observability Tools
ADDO Open Source Observability Tools
 
Fa10 mcs-005
Fa10 mcs-005Fa10 mcs-005
Fa10 mcs-005
 
Deploying at will - SEI
 Deploying at will - SEI Deploying at will - SEI
Deploying at will - SEI
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous delivery
 
DataOps , cbuswaw April '23
DataOps , cbuswaw April '23DataOps , cbuswaw April '23
DataOps , cbuswaw April '23
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 

Último

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In 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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Último (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In 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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

How to achieve Continous Delivery

  • 1. How to achieve Continuous Delivery Best practices on how to architect for faster and better delivery in the Enterprise
  • 2. Continous Delivery Definition “Continuous Delivery is the ability to get changes into production safely and quickly in a sustainable way”
  • 3.
  • 4.
  • 5. Why Continous Delivery • Increased Availibility & Manageabiity • Smaller = More releases = downtime = stress = Productive time • Change fast = Remediate fast = No Rollback = Simplify Process = Investment • Automation = Quality = Incidents • Constant Flow = Work Force utilization • Detect Bugs Sooner = cost of bug fixes • Improved Testability • Decouple = Test in isolation = environments = Feedback • Improved intrinsic product quality • Time to market = PO experimentation = Improvement • Improved satisfaction (Customer & Work force) • Constant delivery & decouple Release = confidence & transparence
  • 7. Methodology • Divide population in Low, medium and High performers • Throughput Measures • Deployment frequency. How frequently the organization deploys code. • Deployment lead time. Time required for changes to go from “code committed” to code successfully running in production. • Stability Measures • Mean time to recover (MTTR). Time required to restore service when a service incident occurs (e.g., unplanned outage, service impairment, etc.).
  • 8.
  • 9.
  • 10. ROI
  • 11.
  • 12. Key concept: “the value stream” • “from concept to cash”
  • 13.
  • 14. The Deployment Pipeline • As fast as possible • As simple as possible
  • 15. Bottlenecks linked with Big Systems • Dependencies • Complexity = slow development & many regressions • Difficult to be productive = many wait time & re-work • Large code base = Many branches = Merging hell • Can’t deploy in isolation = Big Bang Releases = Deployment hell • Manual Tests • Large Database = No (managed) test data = No E2E automated tests
  • 16. Microservice Architecture • Application is composed out of many services • Isolated • Specific business capability • Specific domain • Deployed independently
  • 17. Characteristics of a Microservice Architecture • Componentization via Services • Organized around Business Capabilities • Products not Projects • Smart endpoints and dumb pipes • Decentralized Governance • Decentralized Data Management • Infrastructure Automation • Design for failure • Evolutionary Design https://martinfowler.com/articles/microservices.html
  • 18. Conways law “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.”
  • 19. Characteristics of a Microservice Organization • Componentization owned by Teams • Organized around Business Capabilities • Product not Project teams • Smart teams and dumb communication • Decentralized Governance => teams are autonomous • Decentralized Data Management => database is owned by the teams • Teams can count on Infrastructure Automation • Design for failure • Evolutionary mindset => continous improvement
  • 20. Relationship with DDD Bounded Context • Break a large domain into smaller domains • Polysemy • Divided in multi canonical models • Unrelated & Related Concepts • Context Map • 1 Bounded Context >= 1 Microservice • Add physical boundaries => No Sharing • Process • Database
  • 21. The link with Containers Virtual Machine Container
  • 22. The Link with Containers • Benefits • Decoupling from environment • Consistent environment (staging) • Run everywhere => vendor decoupling • Runtime Options • Better ressource utilization & cohabitation • Finer-grained execution environments • Better Manageability • Deployment • Os, patching • Monitoring • Docker Compose • Clustering • Orchestrator • Registries • Layered & indempotent
  • 23. The link with containers Microservice & Containers
  • 24.
  • 25. Different kinds of autonomy • Runtime autonomy: the system should survive during a certain amount of time to a failure of one of it’s parts. • Testing autonomy: be able to test the parts in isolation. • Autonomy of change: be able to do modification without impacting other parts of the system. • Platform autonomy: System should be able to run on platforms with different kind of hosting infrastructure.
  • 26. How to achieve autonomy? • Componentization (Application Architecture) • Focus on functional decomposition (not on technical layers) • Design for localized changes • Design so that use case change is localized inside 1 component • Conway's Law • Design so that feature change is localized inside 1 team
  • 27. How to achieve autonomy? • Data sovereignty • Each Microservice must own his data • Conceptual model will differ between microservices. • Process sovereignty • Each process should be autonomous • No synchronous communication between applications • No querying of other applications (synchronous or asynchronous)
  • 29. How to send commands to other applications? Metering New Measurements Allocation UpdateAllocations Use of event notification Publish New Measurements Consume New Measurements EventHanler Allocation Calculator Allocate
  • 30. How to query data from other components?
  • 31. How to guarantee consistency?
  • 32. How to show data from other components?
  • 33. How to deploy changes? • Always guarantee backward compatibility (At least for version n-1) • Additive changes • Database • API (Synchronous & Asynchronous) • Version the API’s • Only deploy from Main branch • Use feature flags
  • 34. What will we gain? “Continuous Delivery is the ability to get changes into production safely and quickly in a sustainable way” But also: • Increased Tenant Scalability • Improved Testability • Increased Availibility & Manageabiity • Improved intrinsic product quality • Improved satisfaction (Customer & Work force) - Ability to adopt a modern Infrastructure Architecture (Cloud)
  • 35. What do we give up? • Overall Immediate Consistency • Easily debug the command chain between two services • One big database that can be used as a backdoor
  • 36. How to move forward