SlideShare a Scribd company logo
1 of 63
Download to read offline
Continuous Delivery & 
Micro Services 
A Symbiosis 
Eberhard Wolff 
Freelancer 
Head Technology Advisory 
Board adesso AG 
http://ewolff.com
Eberhard Wolff - @ewolff 
Leseprobe: 
http://bit.ly/CD-Buch
Micro Service 
Eberhard Wolff - @ewolff
Eberhard Wolff - @ewolff
Eberhard Wolff - @ewolff
How can I 
implement a 
new feature??? 
Eberhard Wolff - @ewolff
Eberhard Wolff - @ewolff L
ECommerce System 
Eberhard Wolff - @ewolff 
New Stuff 
Spring & 
OSGi
ECommerce System 
Eberhard Wolff - @ewolff 
New Stuff 
NSepwri nSgtu &ff 
OSGi
Eberhard Wolff - @ewolff 
HTTP 
New 
Stuff 
Links 
No legacy code 
Any technology 
J Small code base
Little programs are 
delightful to write in 
isolation, 
but the process of 
maintaining large-scale 
software is always 
miserable. 
Jaron Lanier
Friedenspreis 
des 
deutschen 
Buchhandels
Micro Services: Definition 
• Small 
• Independent deployment units 
• i.e. processes 
Eberhard Wolff - @ewolff 
• Any technology 
• Any infrastructure 
Micro 
Service 
Server 
Micro 
Service 
Server
Components Collaborate 
Eberhard Wolff - @ewolff 
Micro 
Service 
Micro 
Service 
Link 
REST 
Messaging 
Data Replication
Why Micro Services? 
• Strong modularization 
• i.e. no unwanted dependencies 
• Choose best technology for each service 
• Includes database etc 
• Teams can deploy new features 
• Completely independent 
• Micro Service must provide meaningful 
set of features 
Eberhard Wolff - @ewolff
Continuous 
Delivery 
Eberhard Wolff - @ewolff
Continuous Delivery: 
Build Pipeline 
Manual 
Explorative 
Testing 
Eberhard Wolff - @ewolff 
Automated 
Acceptance 
Testing 
Commit 
Stage 
Automated 
Capacity 
Testing 
Release
Continuous Delivery 
Eberhard Wolff - @ewolff 
• Automated provisioning 
• Fast Feedback 
• Tests, tests, tests… 
• Feedback from production 
• Monitoring 
• Logs analysis
Why Continuous Delivery? 
• Faster time to market 
• i.e. can deploy changes quickly into 
production 
• Less risk 
• Many tests 
• Automation mean reproducible results 
• Smaller deployments 
Eberhard Wolff - @ewolff
Why Continuous 
Delivery Needs 
Micro Services 
Eberhard Wolff - @ewolff
Eberhard Wolff - @ewolff 
Monolith 
ECommerce 
System 
3rd party 
systems 
Database
Continuous Delivery: 
Build Pipeline 
Manual 
Explorative 
Testing 
Eberhard Wolff - @ewolff 
Automated 
Acceptance 
Testing 
Commit 
Stage 
Automated 
Capacity 
Testing 
Release 
ECommerce 
System
Build Pipeline: Problems 
• Complex infrastructure 
• Huge database 
• 3rd party integration 
• Slow feedback 
• Test everything for each commit 
• Huge deployment unit 
• Deployment slow 
Eberhard Wolff - @ewolff
Eberhard Wolff - @ewolff 
Micro Services 
• Small independent deployment units 
• E.g. interface backwards compatibility 
• Otherwise Micro Services would need 
to be deployed together 
• Sensible set of features 
• Business features should be deployed 
independently
Eberhard Wolff - @ewolff 
Micro Services 
Order 
ECommerce 
System 
3rd party 
systems 
Item 
Customer 
Database
Manual 
Explorative 
Testing 
Manual 
Explorative 
Testing 
Manual 
Explorative 
Testing 
Eberhard Wolff - @ewolff 
Automated 
Acceptance 
Testing 
Automated 
Acceptance 
Testing 
Automated 
Acceptance 
Testing 
Commit 
Stage 
Automated 
Capacity 
Testing 
Release 
Commit 
Stage 
Automated 
Capacity 
Testing 
Release 
Commit 
Stage 
Automated 
Capacity 
Testing 
Release 
Order 
Item 
Customer
Build Pipeline for 
Micro Services 
• Independent deployment 
• Build pipeline per Micro Service 
• Smaller 
• Easier to set up 
• Less features (3rd party systems) 
• Faster Feedback: Less tests 
Eberhard Wolff - @ewolff
Eberhard Wolff - @ewolff 
Micro Services 
Order 
ECommerce 
System 
3rd party 
systems 
Item 
Customer 
Database
Micro Service & Databases 
• Micro Services don’t share data 
• i.e. database (schema) per server 
Eberhard Wolff - @ewolff 
• Easier schema migration 
• Easier deployment
Micro Services Design 
• System becomes a distributed system 
Eberhard Wolff - @ewolff 
• The network is not reliable 
• Micro Services fail 
• A failed Micro Services must not cause 
other to fail
Resilience 
Eberhard Wolff - @ewolff
Eberhard Wolff - @ewolff 
Resilience 
A system 
built out of unreliable 
components 
with resilience 
is more robust.
Would you reboot 
your database just 
like that? 
Eberhard Wolff - @ewolff
Amazon Reboot 
• Amazon Cloud rebooted several 
machines 
• Netflix: video streaming 
• Peak: 30% of internet traffic in the US 
• 2700 database server 
• 218 rebooted 
• 22 not successful 
• 0 downtime 
Eberhard Wolff - @ewolff
Risk Mitigation in 
Continuous Delivery 
• Blue / Green Deployment 
• Create complete cluster with new 
release 
• Test and only switch if OK 
• Canary Releasing 
• Release to a few nodes 
• Rollback if needed 
Eberhard Wolff - @ewolff
Micro Services: 
Further Risk Mitigation 
• Smaller deployment units 
• Deployment Failure influences less 
features 
• Easier rollback / fixing 
• Resilience: Other Micro Services 
still operational 
Eberhard Wolff - @ewolff
Why Micro Services 
Eberhard Wolff - @ewolff 
Need 
Continuous 
Delivery
Micro Service & Servers 
• Potentially different technology 
stack per service 
• Individual processes 
• Each component has its own server 
• …per stage in the pipeline 
Eberhard Wolff - @ewolff
Not one server 
Eberhard Wolff - @ewolff
Not 10 server 
Eberhard Wolff - @ewolff
But a lot more 
Eberhard Wolff - @ewolff
Micro Service: 
Not just a piece of 
Eberhard Wolff - @ewolff 
software
Eberhard Wolff - @ewolff 
Micro Service 
App + 
App Server + 
Database + 
More infrastructure 
Individual technology stack
Micro Services & Automation 
• Infrastructure much more complex 
• More servers 
• More services 
• Need to automate provisioning 
• (Virtual) Servers 
• Software 
• Complete software stacks 
Eberhard Wolff - @ewolff
Micro Services & Feedback: 
Eberhard Wolff - @ewolff 
Logs 
• Simple grep on a log file not enough 
• Too many servers 
• Correlation across servers 
• Centralized logging needed
Micro Services & Feedback: 
Eberhard Wolff - @ewolff 
Monitoring 
• Just top on a server is not enough 
• Too many servers 
• Not just your application… 
• …also database 
• …other infrastructure 
• Centralized monitoring needed
Eberhard Wolff - @ewolff 
Why??
Quick 
Deployment 
Eberhard Wolff - @ewolff 
Continuous 
Delivery 
Delivery 
Pipeline 
Independent 
Deployment 
Units 
Micro 
Services Smaller 
Deployment 
Units
Quick 
Deployment 
Eberhard Wolff - @ewolff 
Tests 
Continuous 
Delivery 
Logs 
Monitoring 
Fast 
Feedback
Conclusion 
Eberhard Wolff - @ewolff
Micro Services & 
Continuous 
Delivery: Goal is 
quick deployment. 
Eberhard Wolff - @ewolff
Time to Market 
Eberhard Wolff - @ewolff
Conclusion: Quick 
Eberhard Wolff - @ewolff 
Deployments 
Time 
Size & Risk 
Manual 
Deployment 
Pipeline 
Continuous 
Delivery 
Pipeline 
Monolith 
Micro Services
Eberhard Wolff - @ewolff 
Conclusion 
Micro 
Services 
Infrastructure much 
more complex 
Continuous 
Delivery 
Smaller deployment 
units
Micro Services and 
Continuous 
Delivery go 
together. 
Eberhard Wolff - @ewolff
You must do both: 
Continuous 
Delivery & 
Micro Services 
Eberhard Wolff - @ewolff
You must do both: 
Continuous 
Delivery & 
Micro Services 
Eberhard Wolff - @ewolff
Migration to 
Continuous 
Delivery or Micro 
Services much 
Eberhard Wolff - @ewolff 
harder
Migration to 
Continuous 
Delivery or Micro 
Services much 
Eberhard Wolff - @ewolff 
harder
Continuous 
Delivery for a 
Monolith might be 
unrealistic 
Eberhard Wolff - @ewolff
Alternative Approach 
ECommerce 
System 
Database 
Eberhard Wolff - @ewolff 
Micro 
Service 
Database 
Integration
Migration to Micro Service 
and Continuous Delivery 
• Micro Services can be added to a 
Monolith 
• Might use different technologies 
• Different way to handle legacy 
applications 
• Easier to create a Continuous 
Delivery Pipeline for Micro Service 
• But: Higher overall complexity 
Eberhard Wolff - @ewolff
Thank You! 
Eberhard Wolff - @ewolff

More Related Content

What's hot

Real World Cloud Application Security
Real World Cloud Application SecurityReal World Cloud Application Security
Real World Cloud Application Security
Jason Chan
 
Understanding the CloudStack Release Process
Understanding the CloudStack Release ProcessUnderstanding the CloudStack Release Process
Understanding the CloudStack Release Process
ke4qqq
 

What's hot (20)

Spring Boot
Spring BootSpring Boot
Spring Boot
 
Java Application Servers Are Dead!
Java Application Servers Are Dead!Java Application Servers Are Dead!
Java Application Servers Are Dead!
 
Java Architectures - a New Hope
Java Architectures - a New HopeJava Architectures - a New Hope
Java Architectures - a New Hope
 
ELK Stack
ELK StackELK Stack
ELK Stack
 
Developing Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring CloudDeveloping Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring Cloud
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
IaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explainedIaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explained
 
Java Application Servers Are Dead! - Short Version
Java Application Servers Are Dead! - Short VersionJava Application Servers Are Dead! - Short Version
Java Application Servers Are Dead! - Short Version
 
High Availability and Scalability: Too Expensive! Architectures for Future E...
High Availability and Scalability: Too Expensive! Architectures for Future E...High Availability and Scalability: Too Expensive! Architectures for Future E...
High Availability and Scalability: Too Expensive! Architectures for Future E...
 
Real World Cloud Application Security
Real World Cloud Application SecurityReal World Cloud Application Security
Real World Cloud Application Security
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloud
 
Siebel Monitoring Tools
Siebel Monitoring ToolsSiebel Monitoring Tools
Siebel Monitoring Tools
 
Splitting the Check on Compliance and Security
Splitting the Check on Compliance and SecuritySplitting the Check on Compliance and Security
Splitting the Check on Compliance and Security
 
Enterprise Beacon Object Hive - Siebel Version Control
Enterprise Beacon Object Hive - Siebel Version ControlEnterprise Beacon Object Hive - Siebel Version Control
Enterprise Beacon Object Hive - Siebel Version Control
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOne
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017
 
Understanding the CloudStack Release Process
Understanding the CloudStack Release ProcessUnderstanding the CloudStack Release Process
Understanding the CloudStack Release Process
 
CI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page AppsCI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page Apps
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 

Viewers also liked

Viewers also liked (12)

Microservices architecture overview v3
Microservices architecture overview v3Microservices architecture overview v3
Microservices architecture overview v3
 
Microservices approach for Websphere commerce
Microservices approach for Websphere commerceMicroservices approach for Websphere commerce
Microservices approach for Websphere commerce
 
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
 
DevOps, Microservices and containers - a high level overview
DevOps, Microservices and containers - a high level overviewDevOps, Microservices and containers - a high level overview
DevOps, Microservices and containers - a high level overview
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for Microservices
 
Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...
Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...
Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejs
 
Introduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application ArchitectureIntroduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application Architecture
 
REST and Microservices
REST and MicroservicesREST and Microservices
REST and Microservices
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
 
Microservices: Notes From The Field
Microservices: Notes From The FieldMicroservices: Notes From The Field
Microservices: Notes From The Field
 
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overviewEnterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
 

Similar to Continuous Delivery and Micro Services - A Symbiosis

SFSCON23 - Andrea Alfonsi - Kubernetes for IoT
SFSCON23 - Andrea Alfonsi - Kubernetes for IoTSFSCON23 - Andrea Alfonsi - Kubernetes for IoT
SFSCON23 - Andrea Alfonsi - Kubernetes for IoT
South Tyrol Free Software Conference
 

Similar to Continuous Delivery and Micro Services - A Symbiosis (20)

Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
Continuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the EnterpriseContinuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the Enterprise
 
Moving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journeyMoving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journey
 
What's New in WCF 4.5
What's New in WCF 4.5What's New in WCF 4.5
What's New in WCF 4.5
 
HA SOA Application with GlusterFS
HA SOA Application with GlusterFSHA SOA Application with GlusterFS
HA SOA Application with GlusterFS
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour Dallas
 
Insights on Knative and how it changes the serverless landscape
Insights on Knative and how it changes the serverless landscapeInsights on Knative and how it changes the serverless landscape
Insights on Knative and how it changes the serverless landscape
 
Building a [micro]services platform on AWS
Building a [micro]services platform on AWSBuilding a [micro]services platform on AWS
Building a [micro]services platform on AWS
 
SFSCON23 - Andrea Alfonsi - Kubernetes for IoT
SFSCON23 - Andrea Alfonsi - Kubernetes for IoTSFSCON23 - Andrea Alfonsi - Kubernetes for IoT
SFSCON23 - Andrea Alfonsi - Kubernetes for IoT
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF Workshop
 
Oleksandr Khotemskyi - Serverless architecture and how to apply it in Automa...
Oleksandr Khotemskyi  - Serverless architecture and how to apply it in Automa...Oleksandr Khotemskyi  - Serverless architecture and how to apply it in Automa...
Oleksandr Khotemskyi - Serverless architecture and how to apply it in Automa...
 
Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...
Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...
Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...
 
NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?
 
2018 07-24 network security at the speed of dev ops - webinar
2018 07-24 network security at the speed of dev ops - webinar2018 07-24 network security at the speed of dev ops - webinar
2018 07-24 network security at the speed of dev ops - webinar
 
Will ServerLess kill containers and Operations
Will ServerLess kill containers and OperationsWill ServerLess kill containers and Operations
Will ServerLess kill containers and Operations
 
APIdays Paris 2018 - Will Serverless kill Containers and Operations? Stéphane...
APIdays Paris 2018 - Will Serverless kill Containers and Operations? Stéphane...APIdays Paris 2018 - Will Serverless kill Containers and Operations? Stéphane...
APIdays Paris 2018 - Will Serverless kill Containers and Operations? Stéphane...
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
Cloud native Continuous Delivery
Cloud native Continuous DeliveryCloud native Continuous Delivery
Cloud native Continuous Delivery
 
Developer day - AWS: Fast Environments = Fast Deployments
Developer day - AWS: Fast Environments = Fast DeploymentsDeveloper day - AWS: Fast Environments = Fast Deployments
Developer day - AWS: Fast Environments = Fast Deployments
 
What is the Siemens Open Library, and How it Decreased Development Time for E...
What is the Siemens Open Library, and How it Decreased Development Time for E...What is the Siemens Open Library, and How it Decreased Development Time for E...
What is the Siemens Open Library, and How it Decreased Development Time for E...
 

More from Eberhard Wolff

More from Eberhard Wolff (20)

Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and Alternatives
 
Beyond Microservices
Beyond MicroservicesBeyond Microservices
Beyond Microservices
 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous Delivery
 
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, AsyncFour Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, Async
 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with Java
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for Microservices
 
How to Split Your System into Microservices
How to Split Your System into MicroservicesHow to Split Your System into Microservices
How to Split Your System into Microservices
 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale Agile
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for Microservices
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=Maintainability
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for Innovation
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with Java
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale Agile
 
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three BuzzwordsMicroservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
 

Recently uploaded

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Recently uploaded (20)

WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 

Continuous Delivery and Micro Services - A Symbiosis

  • 1. Continuous Delivery & Micro Services A Symbiosis Eberhard Wolff Freelancer Head Technology Advisory Board adesso AG http://ewolff.com
  • 2. Eberhard Wolff - @ewolff Leseprobe: http://bit.ly/CD-Buch
  • 3. Micro Service Eberhard Wolff - @ewolff
  • 6. How can I implement a new feature??? Eberhard Wolff - @ewolff
  • 7. Eberhard Wolff - @ewolff L
  • 8. ECommerce System Eberhard Wolff - @ewolff New Stuff Spring & OSGi
  • 9. ECommerce System Eberhard Wolff - @ewolff New Stuff NSepwri nSgtu &ff OSGi
  • 10. Eberhard Wolff - @ewolff HTTP New Stuff Links No legacy code Any technology J Small code base
  • 11. Little programs are delightful to write in isolation, but the process of maintaining large-scale software is always miserable. Jaron Lanier
  • 13. Micro Services: Definition • Small • Independent deployment units • i.e. processes Eberhard Wolff - @ewolff • Any technology • Any infrastructure Micro Service Server Micro Service Server
  • 14. Components Collaborate Eberhard Wolff - @ewolff Micro Service Micro Service Link REST Messaging Data Replication
  • 15. Why Micro Services? • Strong modularization • i.e. no unwanted dependencies • Choose best technology for each service • Includes database etc • Teams can deploy new features • Completely independent • Micro Service must provide meaningful set of features Eberhard Wolff - @ewolff
  • 16. Continuous Delivery Eberhard Wolff - @ewolff
  • 17. Continuous Delivery: Build Pipeline Manual Explorative Testing Eberhard Wolff - @ewolff Automated Acceptance Testing Commit Stage Automated Capacity Testing Release
  • 18. Continuous Delivery Eberhard Wolff - @ewolff • Automated provisioning • Fast Feedback • Tests, tests, tests… • Feedback from production • Monitoring • Logs analysis
  • 19. Why Continuous Delivery? • Faster time to market • i.e. can deploy changes quickly into production • Less risk • Many tests • Automation mean reproducible results • Smaller deployments Eberhard Wolff - @ewolff
  • 20. Why Continuous Delivery Needs Micro Services Eberhard Wolff - @ewolff
  • 21. Eberhard Wolff - @ewolff Monolith ECommerce System 3rd party systems Database
  • 22. Continuous Delivery: Build Pipeline Manual Explorative Testing Eberhard Wolff - @ewolff Automated Acceptance Testing Commit Stage Automated Capacity Testing Release ECommerce System
  • 23. Build Pipeline: Problems • Complex infrastructure • Huge database • 3rd party integration • Slow feedback • Test everything for each commit • Huge deployment unit • Deployment slow Eberhard Wolff - @ewolff
  • 24. Eberhard Wolff - @ewolff Micro Services • Small independent deployment units • E.g. interface backwards compatibility • Otherwise Micro Services would need to be deployed together • Sensible set of features • Business features should be deployed independently
  • 25. Eberhard Wolff - @ewolff Micro Services Order ECommerce System 3rd party systems Item Customer Database
  • 26. Manual Explorative Testing Manual Explorative Testing Manual Explorative Testing Eberhard Wolff - @ewolff Automated Acceptance Testing Automated Acceptance Testing Automated Acceptance Testing Commit Stage Automated Capacity Testing Release Commit Stage Automated Capacity Testing Release Commit Stage Automated Capacity Testing Release Order Item Customer
  • 27. Build Pipeline for Micro Services • Independent deployment • Build pipeline per Micro Service • Smaller • Easier to set up • Less features (3rd party systems) • Faster Feedback: Less tests Eberhard Wolff - @ewolff
  • 28. Eberhard Wolff - @ewolff Micro Services Order ECommerce System 3rd party systems Item Customer Database
  • 29. Micro Service & Databases • Micro Services don’t share data • i.e. database (schema) per server Eberhard Wolff - @ewolff • Easier schema migration • Easier deployment
  • 30. Micro Services Design • System becomes a distributed system Eberhard Wolff - @ewolff • The network is not reliable • Micro Services fail • A failed Micro Services must not cause other to fail
  • 32. Eberhard Wolff - @ewolff Resilience A system built out of unreliable components with resilience is more robust.
  • 33. Would you reboot your database just like that? Eberhard Wolff - @ewolff
  • 34. Amazon Reboot • Amazon Cloud rebooted several machines • Netflix: video streaming • Peak: 30% of internet traffic in the US • 2700 database server • 218 rebooted • 22 not successful • 0 downtime Eberhard Wolff - @ewolff
  • 35. Risk Mitigation in Continuous Delivery • Blue / Green Deployment • Create complete cluster with new release • Test and only switch if OK • Canary Releasing • Release to a few nodes • Rollback if needed Eberhard Wolff - @ewolff
  • 36. Micro Services: Further Risk Mitigation • Smaller deployment units • Deployment Failure influences less features • Easier rollback / fixing • Resilience: Other Micro Services still operational Eberhard Wolff - @ewolff
  • 37. Why Micro Services Eberhard Wolff - @ewolff Need Continuous Delivery
  • 38. Micro Service & Servers • Potentially different technology stack per service • Individual processes • Each component has its own server • …per stage in the pipeline Eberhard Wolff - @ewolff
  • 39. Not one server Eberhard Wolff - @ewolff
  • 40. Not 10 server Eberhard Wolff - @ewolff
  • 41. But a lot more Eberhard Wolff - @ewolff
  • 42. Micro Service: Not just a piece of Eberhard Wolff - @ewolff software
  • 43. Eberhard Wolff - @ewolff Micro Service App + App Server + Database + More infrastructure Individual technology stack
  • 44. Micro Services & Automation • Infrastructure much more complex • More servers • More services • Need to automate provisioning • (Virtual) Servers • Software • Complete software stacks Eberhard Wolff - @ewolff
  • 45. Micro Services & Feedback: Eberhard Wolff - @ewolff Logs • Simple grep on a log file not enough • Too many servers • Correlation across servers • Centralized logging needed
  • 46. Micro Services & Feedback: Eberhard Wolff - @ewolff Monitoring • Just top on a server is not enough • Too many servers • Not just your application… • …also database • …other infrastructure • Centralized monitoring needed
  • 47. Eberhard Wolff - @ewolff Why??
  • 48. Quick Deployment Eberhard Wolff - @ewolff Continuous Delivery Delivery Pipeline Independent Deployment Units Micro Services Smaller Deployment Units
  • 49. Quick Deployment Eberhard Wolff - @ewolff Tests Continuous Delivery Logs Monitoring Fast Feedback
  • 51. Micro Services & Continuous Delivery: Goal is quick deployment. Eberhard Wolff - @ewolff
  • 52. Time to Market Eberhard Wolff - @ewolff
  • 53. Conclusion: Quick Eberhard Wolff - @ewolff Deployments Time Size & Risk Manual Deployment Pipeline Continuous Delivery Pipeline Monolith Micro Services
  • 54. Eberhard Wolff - @ewolff Conclusion Micro Services Infrastructure much more complex Continuous Delivery Smaller deployment units
  • 55. Micro Services and Continuous Delivery go together. Eberhard Wolff - @ewolff
  • 56. You must do both: Continuous Delivery & Micro Services Eberhard Wolff - @ewolff
  • 57. You must do both: Continuous Delivery & Micro Services Eberhard Wolff - @ewolff
  • 58. Migration to Continuous Delivery or Micro Services much Eberhard Wolff - @ewolff harder
  • 59. Migration to Continuous Delivery or Micro Services much Eberhard Wolff - @ewolff harder
  • 60. Continuous Delivery for a Monolith might be unrealistic Eberhard Wolff - @ewolff
  • 61. Alternative Approach ECommerce System Database Eberhard Wolff - @ewolff Micro Service Database Integration
  • 62. Migration to Micro Service and Continuous Delivery • Micro Services can be added to a Monolith • Might use different technologies • Different way to handle legacy applications • Easier to create a Continuous Delivery Pipeline for Micro Service • But: Higher overall complexity Eberhard Wolff - @ewolff
  • 63. Thank You! Eberhard Wolff - @ewolff