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

Java Application Servers Are Dead!
Java Application Servers Are Dead!Java Application Servers Are Dead!
Java Application Servers Are Dead!Eberhard Wolff
 
Java Architectures - a New Hope
Java Architectures - a New HopeJava Architectures - a New Hope
Java Architectures - a New HopeEberhard Wolff
 
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 CloudDustin Ruehle
 
Spring Boot
Spring BootSpring Boot
Spring Bootgedoplan
 
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 explainedJeroen Niesen
 
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 VersionEberhard Wolff
 
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...Eberhard Wolff
 
Real World Cloud Application Security
Real World Cloud Application SecurityReal World Cloud Application Security
Real World Cloud Application SecurityJason Chan
 
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 applicationsSunil Dalal
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloudVMware Tanzu
 
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 SecurityJason Chan
 
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 ControlMilind Waikul
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneciberkleid
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017James Strong
 
Understanding the CloudStack Release Process
Understanding the CloudStack Release ProcessUnderstanding the CloudStack Release Process
Understanding the CloudStack Release Processke4qqq
 
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 AppsMike North
 
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 PracticesShiva Narayanaswamy
 

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

Microservices architecture overview v3
Microservices architecture overview v3Microservices architecture overview v3
Microservices architecture overview v3Dmitry Skaredov
 
Microservices approach for Websphere commerce
Microservices approach for Websphere commerceMicroservices approach for Websphere commerce
Microservices approach for Websphere commerceHARIHARAN ANANTHARAMAN
 
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...Chris Richardson
 
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 overviewBarton George
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesMatt McLarty
 
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...Somasundram Balakrushnan
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejsBruno Pedro
 
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 ArchitectureDavid Currie
 
REST and Microservices
REST and MicroservicesREST and Microservices
REST and MicroservicesShaun Abram
 
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...Chris Richardson
 
Microservices: Notes From The Field
Microservices: Notes From The FieldMicroservices: Notes From The Field
Microservices: Notes From The FieldApcera
 
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 overviewWinton Winton
 

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

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 CloudEberhard Wolff
 
Continuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the EnterpriseContinuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the EnterpriseEberhard Wolff
 
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 journeyBoyan Dimitrov
 
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.5Ido Flatow
 
HA SOA Application with GlusterFS
HA SOA Application with GlusterFSHA SOA Application with GlusterFS
HA SOA Application with GlusterFSzeridon
 
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 DallasVMware Tanzu
 
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 landscapeJeremias Werner
 
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 AWSShaun Pearce
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF WorkshopIdo Flatow
 
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...Web Tech Fun
 
Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...
Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...
Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...Dakiry
 
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?Eberhard Wolff
 
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 - webinarAlgoSec
 
Will ServerLess kill containers and Operations
Will ServerLess kill containers and OperationsWill ServerLess kill containers and Operations
Will ServerLess kill containers and OperationsStephane Woillez
 
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...apidays
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service FabricDavide Benvegnù
 
Cloud native Continuous Delivery
Cloud native Continuous DeliveryCloud native Continuous Delivery
Cloud native Continuous DeliveryChristian Deger
 
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 DeploymentsMatthew Cwalinski
 
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...DMC, Inc.
 

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

Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and AlternativesEberhard Wolff
 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryEberhard Wolff
 
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, AsyncEberhard Wolff
 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with JavaEberhard Wolff
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!Eberhard Wolff
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for MicroservicesEberhard Wolff
 
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 MicroservicesEberhard Wolff
 
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 AgileEberhard Wolff
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?Eberhard Wolff
 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesEberhard Wolff
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityEberhard Wolff
 
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 MicroservicesEberhard Wolff
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology StackEberhard Wolff
 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for InnovationEberhard Wolff
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryEberhard Wolff
 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with JavaEberhard Wolff
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support AgileEberhard Wolff
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale AgileEberhard Wolff
 
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 BuzzwordsEberhard 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

Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 

Recently uploaded (20)

Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 

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