SlideShare a Scribd company logo
1 of 69
Download to read offline
Micro Services – The New
Architecture Paradigm
Eberhard Wolff
Freelancer
Head Technology Advisory Board
adesso AG
http://ewolff.com
Eberhard Wolff - @ewolff
Leseprobe:
http://bit.ly/CD-Buch
Eberhard Wolff - @ewolff
GUI
Logic
DB
E Commerce
Shop
Change
Order
Process!
Eberhard Wolff - @ewolff
Thou shalt not
organize
teams by
technology!
Eberhard Wolff - @ewolff
Common libraries & technical foundation
Order Billing Search Catalog
E Commerce
Shop
Deployment monolith
Global code integration & coordination needed
Code changes to production takes loooong
Architecture can be non-monolithic but dependencies
might sneak in
How to introduce e.g. Elasticsearch for Search?
Eberhard Wolff - @ewolff
Micro Services: Definition
•  Small
•  Independent deployment units
•  i.e. processes
•  Any technology
•  Any infrastructure
Micro
Service
Server
Micro
Service
Server
Eberhard Wolff - @ewolff
Micro Services
•  Component Model
•  Component…
•  Separate process
•  Individual deployment unit
•  GUI+Logic
Eberhard Wolff - @ewolff
Micro Services vs. SOA
•  Micro Service:
1 service = 1 deployment unit
Service + GUI
•  SOA:
1 deloyment unit = n services
Service / GUI separate
Eberhard Wolff - @ewolff
Components Collaborate
Micro
Service
Micro
Service
Link
Data Replication
REST
Messaging
Eberhard Wolff - @ewolff
Common libraries & technical foundation
Order Billing Search Catalog
Global code integration & coordination needed
Code changes to production takes loooong
Architecture can be non-monolithic but dependencies
might sneak in
How to introduce e.g. Elasticsearch for Search?
E Commerce
Shop
Deployment monolith
Eberhard Wolff - @ewolff
Common libraries & technical foundation
Order Billing Search Catalog
Global code integration & coordination needed
Code changes to production takes loooong
Architecture can be non-monolithic but dependencies
might sneak in
How to introduce e.g. Elasticsearch for Search?
Order CatalogSearchBilling
Micro Services
Team can deploy without integration
Changes can be deployed independently & quickly
Technology stack per Micro Service
One or many Micro Services per Team
Eberhard Wolff - @ewolff
Order Billing Search Catalog
Order CatalogSearchBilling
Micro Services
Team can deploy without integration
Changes can be deployed independently & quickly
Strong & enforced modularization
Technology stack per Micro Service
One or many Micro Services per Team
Eberhard Wolff - @ewolff
Online Shop
Order
Catalog
Search
Billing
Customer
HTML /
HTTP
Eberhard Wolff - @ewolff
Online Shop
Elasticsearch
Spring Batch
Oracle
Spring MVC
MongoDB
Order
Catalog
Search
Billing
Eberhard Wolff - @ewolff
Deploy &
Operate?
Eberhard Wolff - @ewolff
Component Model
•  No restriction on language etc
•  Individual processes
•  + infrastructure (database etc)
•  JARs, WARs, EARs: No good fit
•  Monitoring
•  Logging
Eberhard Wolff - @ewolff
Possible Component Models
•  Virtual machine
•  Docker container
•  Installable software (RPM, deb)
•  + deployment / config scripts
Eberhard Wolff - @ewolff
Why Micro
Services?
Eberhard Wolff - @ewolff
How to scale
agile?
Implement
more feature
Eberhard Wolff - @ewolff
Conway‘s Law
Architecture
copies
communication structures
of the organization
Eberhard Wolff - @ewolff
Conway’s Law as a Limit
•  Won’t be able to create an
architecture different from your
organization
•  I.e. mobile, GUI & database team
•  Three technical artifacts
Eberhard Wolff - @ewolff
Conway’s Law as an Enabler
•  Desired architecture =
project structure
•  Team for each Micro Service
•  Team should be responsible for
meaningful features
•  Ideal: Independent features
Eberhard Wolff - @ewolff
One team can
build and
deploy features
independently!
Eberhard Wolff - @ewolff
Team must be
responsible for
a sensible set
of functionality
Eberhard Wolff - @ewolff
Conway’s Law & Size
•  Upper limit: What a (small) team
can handle
•  …and a meaningful set of features
•  Probably not too small
•  Smaller modules might be better
•  Lower limit: Depends on overhead /
technology
Eberhard Wolff - @ewolff
Legacy Apps
Eberhard Wolff - @ewolff
Eberhard Wolff - @ewolff
Eberhard Wolff - @ewolff
How can I
implement a
new feature???
Eberhard Wolff - @ewolffL
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
Eberhard Wolff - @ewolff
Sustainable
Development
Eberhard Wolff - @ewolff
Monoliths
•  Architecture rot
•  …not maintainable any more
•  …and can’t be rewritten / replaced
Eberhard Wolff - @ewolff
Micro Services
•  Distributed system of small units
•  Architecture violations harder
•  Small units
•  Easy to replace
Eberhard Wolff - @ewolff
Continuous
Delivery
Eberhard Wolff - @ewolff
Monolith
ECommerce
System
3rd party
systems
Database
Eberhard Wolff - @ewolff
Continuous Delivery:
Build Pipeline
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
ECommerce
System
Eberhard Wolff - @ewolff
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
Micro Services
ECommerce
System
3rd party
systems
Database
Order
Catalog
Billing
Search
Eberhard Wolff - @ewolff
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
Order
Billing
Customer
Eberhard Wolff - @ewolff
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
Quick Deployments
Time
Size & Risk
Manual
Deployment
Pipeline
Continuous
Delivery
Pipeline
Monolith
Micro Services
Eberhard Wolff - @ewolff
Why Micro Services?
•  Strong modularization
•  Small deployment units
•  Faster & easier deployment
•  Sustainable development speed
•  Continuous Delivery
•  Less risk in deployment
•  Best technology for each service
Eberhard Wolff - @ewolff
Challenges
Eberhard Wolff - @ewolff
Distributed
System
Eberhard Wolff - @ewolff
1st Law of Distributed Objects
•  Don’t Distribute Your Objects!
•  Too much remote communication &
overhead
•  Lesson learned from CORBA etc
•  Micro Service should include a GUI
•  http://martinfowler.com/bliki/
FirstLaw.html
Eberhard Wolff - @ewolff
Request
Response
Processing
Latency Round Trip:
0,2-0,5 ms
= 600.000-1.500.000
instructions@3GHz
Eberhard Wolff - @ewolff
1st Law of Distributed Objects &
Micro Services
•  Small Micro Services mean a lot of
communication
•  Violate the 1st Law
•  Seems to work, though
•  http://martinfowler.com/articles/
distributed-objects-
microservices.html
Eberhard Wolff - @ewolff
Too small =

too much
communication
Eberhard Wolff - @ewolff
Code Reuse
•  Reuse across technology stacks hard
•  Code dependencies are evil!
•  Deployment dependency
•  No more independent deployment
•  Update hell
•  Avoid code reuse!
•  Or make it Open Source projects (Netflix)
•  Service reuse is fine
Eberhard Wolff - @ewolff
Global Refactorings?
•  Move code from service to service
•  Might be a port to a different
language
•  Separate in a new service?
•  More services = more complex
•  Very hard
Eberhard Wolff - @ewolff
Functional Architecture
•  Teams should be independent
•  i.e. one team = one functionality
•  Otherwise: Coordination hard
•  Functional architecture much more
important
Eberhard Wolff - @ewolff
Refactoring &
Code Reuse
Individual
Technology Stacks
Eberhard Wolff - @ewolff
Refactoring hard
Functional
architecture much
more important
Eberhard Wolff - @ewolff
Need to get
architecture
right first time
Architecture
evolves
Eberhard Wolff - @ewolff
Start BIG
•  Won’t have too much code at the
start anyway
•  Refactoring easier
•  Can build architecture as you go
•  Let the functional architecture
grow!
Eberhard Wolff - @ewolff
Handling Interfaces
•  Independent deployments =
backwards compatibility
•  Different versions of the same service
run at the same time
•  Only to allow updates
•  i.e. transient
•  Minor issue
Eberhard Wolff - @ewolff
Managing Dependencies
Between (>100) Services?
•  Monoliths can be easily analyzed
•  Micro Services?
•  With heterogeneous technology
stacks?
•  Need to come up with your own
solution
Eberhard Wolff - @ewolff
Global Architecture?
•  Manages dependencies
•  Which service/team does what?
•  Defines common communication
infrastructure
•  Optional: Common Ops
•  Very different from usual architecture
Eberhard Wolff - @ewolff
Network?
•  Micro Services = Distributed Systems
•  Services & network might fail
•  Need to deal with failure
•  Resilience: System must survive
failure of parts
•  Makes system highly available
Eberhard Wolff - @ewolff
Deployment?
•  One Deployment Pipeline per
services
•  Should be fully automated
•  Too many services for manual steps
•  Infrastructure investment needed
•  Common deployment?
Eberhard Wolff - @ewolff
Infrastructure?
•  >50 server per system
•  Resource consumption probably
high
•  Virtualization must be fully
automated
•  Docker might save ressources
Eberhard Wolff - @ewolff
Conclusion
Eberhard Wolff - @ewolff
Conclusion: Micro Services
•  Micro Services are a new way of
modularization
•  More technological freedom
•  Easier, faster and less risky
deployment
Eberhard Wolff - @ewolff
Use If…
•  Time to market is important
•  Legacy systems must be
modernized
•  Sustained development speed
•  Continuous Delivery should be
implemented
•  Large enough project
Eberhard Wolff - @ewolff
Don’t Use If…
•  Infrastructure complexity cannot be
handled
•  Architectural complexity cannot be
handled
Eberhard Wolff - @ewolff
Thank You!

More Related Content

What's hot

Software Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous DeliverySoftware Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous DeliveryEberhard Wolff
 
Java Architectures - a New Hope
Java Architectures - a New HopeJava Architectures - a New Hope
Java Architectures - a New HopeEberhard Wolff
 
Java Application Servers Are Dead!
Java Application Servers Are Dead!Java Application Servers Are Dead!
Java Application Servers Are Dead!Eberhard 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
 
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
 
Spring Boot
Spring BootSpring Boot
Spring Bootgedoplan
 
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
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017James Strong
 
Real World Cloud Application Security
Real World Cloud Application SecurityReal World Cloud Application Security
Real World Cloud Application SecurityJason Chan
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAmazon Web Services
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services ArchitectureRanjan Baisak
 
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
 
Anatomy of an APS 2 appication
Anatomy of an APS 2 appicationAnatomy of an APS 2 appication
Anatomy of an APS 2 appicationMarcello Teodori
 
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
 
I Don't Test Often ...
I Don't Test Often ...I Don't Test Often ...
I Don't Test Often ...Gareth Bowles
 
Security as Code: DOES15
Security as Code: DOES15Security as Code: DOES15
Security as Code: DOES15Ed Bellis
 
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
 
DevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoDevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoGavin Cornwell
 

What's hot (20)

Software Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous DeliverySoftware Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous Delivery
 
Java Architectures - a New Hope
Java Architectures - a New HopeJava Architectures - a New Hope
Java Architectures - a New Hope
 
Java Application Servers Are Dead!
Java Application Servers Are Dead!Java Application Servers Are Dead!
Java Application Servers Are Dead!
 
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
 
ELK Stack
ELK StackELK Stack
ELK Stack
 
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
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
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
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017
 
Spinnaker Microsrvices
Spinnaker MicrosrvicesSpinnaker Microsrvices
Spinnaker Microsrvices
 
Real World Cloud Application Security
Real World Cloud Application SecurityReal World Cloud Application Security
Real World Cloud Application Security
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
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
 
Anatomy of an APS 2 appication
Anatomy of an APS 2 appicationAnatomy of an APS 2 appication
Anatomy of an APS 2 appication
 
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
 
I Don't Test Often ...
I Don't Test Often ...I Don't Test Often ...
I Don't Test Often ...
 
Security as Code: DOES15
Security as Code: DOES15Security as Code: DOES15
Security as Code: DOES15
 
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
 
DevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoDevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with Alfresco
 

Viewers also liked

Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service ArchitectureEduards Sizovs
 
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService ArchitectureFred George
 
Mule esb soap web services
Mule esb soap web servicesMule esb soap web services
Mule esb soap web servicesNaresh Naidu
 
Microservices based application development with Docker (French)
Microservices based application development with Docker (French)Microservices based application development with Docker (French)
Microservices based application development with Docker (French)Cédric Villa
 
마이크로 서비스 아키텍쳐 소개 및 구현 방법
마이크로 서비스 아키텍쳐 소개 및 구현 방법마이크로 서비스 아키텍쳐 소개 및 구현 방법
마이크로 서비스 아키텍쳐 소개 및 구현 방법Young Soo Lee
 
Developing Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris RichardsonDeveloping Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris RichardsonJAXLondon2014
 
Improving Running Components at Twitter
Improving Running Components at TwitterImproving Running Components at Twitter
Improving Running Components at TwitterEvan Weaver
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration PatternsMarek Sokół
 
Micro services architecture and service fabric
Micro services architecture and service fabricMicro services architecture and service fabric
Micro services architecture and service fabricLuis Valencia
 
ATAGTR2017 Test Approach for Re-engineering Legacy Applications based on Micr...
ATAGTR2017 Test Approach for Re-engineering Legacy Applications based on Micr...ATAGTR2017 Test Approach for Re-engineering Legacy Applications based on Micr...
ATAGTR2017 Test Approach for Re-engineering Legacy Applications based on Micr...Agile Testing Alliance
 
Microservices architecture pitfalls
Microservices architecture pitfallsMicroservices architecture pitfalls
Microservices architecture pitfallsallegro.tech
 
Java micro-services
Java micro-servicesJava micro-services
Java micro-servicesJames Lewis
 
Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture DevConFu
 
Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...Sander Hoogendoorn
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support AgileEberhard Wolff
 
A Microservices Reference Architecture
A Microservices Reference ArchitectureA Microservices Reference Architecture
A Microservices Reference ArchitectureYamen Sader
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices ArchitectureIzzet Mustafaiev
 
Microservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software DevelopmentMicroservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software DevelopmentEberhard Wolff
 

Viewers also liked (20)

Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService Architecture
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Mule esb soap web services
Mule esb soap web servicesMule esb soap web services
Mule esb soap web services
 
Microservices based application development with Docker (French)
Microservices based application development with Docker (French)Microservices based application development with Docker (French)
Microservices based application development with Docker (French)
 
마이크로 서비스 아키텍쳐 소개 및 구현 방법
마이크로 서비스 아키텍쳐 소개 및 구현 방법마이크로 서비스 아키텍쳐 소개 및 구현 방법
마이크로 서비스 아키텍쳐 소개 및 구현 방법
 
Developing Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris RichardsonDeveloping Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris Richardson
 
Improving Running Components at Twitter
Improving Running Components at TwitterImproving Running Components at Twitter
Improving Running Components at Twitter
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration Patterns
 
ESB What it is?
ESB What it is?ESB What it is?
ESB What it is?
 
Micro services architecture and service fabric
Micro services architecture and service fabricMicro services architecture and service fabric
Micro services architecture and service fabric
 
ATAGTR2017 Test Approach for Re-engineering Legacy Applications based on Micr...
ATAGTR2017 Test Approach for Re-engineering Legacy Applications based on Micr...ATAGTR2017 Test Approach for Re-engineering Legacy Applications based on Micr...
ATAGTR2017 Test Approach for Re-engineering Legacy Applications based on Micr...
 
Microservices architecture pitfalls
Microservices architecture pitfallsMicroservices architecture pitfalls
Microservices architecture pitfalls
 
Java micro-services
Java micro-servicesJava micro-services
Java micro-services
 
Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture
 
Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
 
A Microservices Reference Architecture
A Microservices Reference ArchitectureA Microservices Reference Architecture
A Microservices Reference Architecture
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Microservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software DevelopmentMicroservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software Development
 

Similar to Micro Service – The New Architecture Paradigm

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
 
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
 
Continuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the EnterpriseContinuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the EnterpriseEberhard 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
 
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
 
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
 
WebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEAWebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEAmfrancis
 
Deep Dive into the Microsoft OpenStack CI Infrastructure (Alessandro Pilotti)
Deep Dive into the Microsoft OpenStack CI Infrastructure (Alessandro Pilotti)Deep Dive into the Microsoft OpenStack CI Infrastructure (Alessandro Pilotti)
Deep Dive into the Microsoft OpenStack CI Infrastructure (Alessandro Pilotti)ITCamp
 
AppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxJosh Grossman
 
AppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxTuynNguyn819213
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
 
NoSQL and Architectures
NoSQL and ArchitecturesNoSQL and Architectures
NoSQL and ArchitecturesEberhard Wolff
 
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
 
Elixir Programming Language 101
Elixir Programming Language 101Elixir Programming Language 101
Elixir Programming Language 101Around25
 
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
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceAntonio García-Domínguez
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsJeremy Brown
 
Will ServerLess kill containers and Operations
Will ServerLess kill containers and OperationsWill ServerLess kill containers and Operations
Will ServerLess kill containers and OperationsStephane Woillez
 

Similar to Micro Service – The New Architecture Paradigm (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
 
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
 
Continuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the EnterpriseContinuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the Enterprise
 
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...
 
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?
 
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
 
Versioning for Developers
Versioning for DevelopersVersioning for Developers
Versioning for Developers
 
WebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEAWebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEA
 
Deep Dive into the Microsoft OpenStack CI Infrastructure (Alessandro Pilotti)
Deep Dive into the Microsoft OpenStack CI Infrastructure (Alessandro Pilotti)Deep Dive into the Microsoft OpenStack CI Infrastructure (Alessandro Pilotti)
Deep Dive into the Microsoft OpenStack CI Infrastructure (Alessandro Pilotti)
 
AppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptx
 
AppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptx
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
 
NoSQL and Architectures
NoSQL and ArchitecturesNoSQL and Architectures
NoSQL and Architectures
 
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
 
Elixir Programming Language 101
Elixir Programming Language 101Elixir Programming Language 101
Elixir Programming Language 101
 
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 архітектура та її застосування в автоматизац...
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devops
 
Will ServerLess kill containers and Operations
Will ServerLess kill containers and OperationsWill ServerLess kill containers and Operations
Will ServerLess kill containers and Operations
 

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 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
 
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?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 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
 
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
 

Recently uploaded

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Recently uploaded (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 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
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

Micro Service – The New Architecture Paradigm

  • 1. Micro Services – The New Architecture Paradigm Eberhard Wolff Freelancer Head Technology Advisory Board adesso AG http://ewolff.com
  • 2. Eberhard Wolff - @ewolff Leseprobe: http://bit.ly/CD-Buch
  • 3. Eberhard Wolff - @ewolff GUI Logic DB E Commerce Shop Change Order Process!
  • 4. Eberhard Wolff - @ewolff Thou shalt not organize teams by technology!
  • 5. Eberhard Wolff - @ewolff Common libraries & technical foundation Order Billing Search Catalog E Commerce Shop Deployment monolith Global code integration & coordination needed Code changes to production takes loooong Architecture can be non-monolithic but dependencies might sneak in How to introduce e.g. Elasticsearch for Search?
  • 6. Eberhard Wolff - @ewolff Micro Services: Definition •  Small •  Independent deployment units •  i.e. processes •  Any technology •  Any infrastructure Micro Service Server Micro Service Server
  • 7. Eberhard Wolff - @ewolff Micro Services •  Component Model •  Component… •  Separate process •  Individual deployment unit •  GUI+Logic
  • 8. Eberhard Wolff - @ewolff Micro Services vs. SOA •  Micro Service: 1 service = 1 deployment unit Service + GUI •  SOA: 1 deloyment unit = n services Service / GUI separate
  • 9. Eberhard Wolff - @ewolff Components Collaborate Micro Service Micro Service Link Data Replication REST Messaging
  • 10. Eberhard Wolff - @ewolff Common libraries & technical foundation Order Billing Search Catalog Global code integration & coordination needed Code changes to production takes loooong Architecture can be non-monolithic but dependencies might sneak in How to introduce e.g. Elasticsearch for Search? E Commerce Shop Deployment monolith
  • 11. Eberhard Wolff - @ewolff Common libraries & technical foundation Order Billing Search Catalog Global code integration & coordination needed Code changes to production takes loooong Architecture can be non-monolithic but dependencies might sneak in How to introduce e.g. Elasticsearch for Search? Order CatalogSearchBilling Micro Services Team can deploy without integration Changes can be deployed independently & quickly Technology stack per Micro Service One or many Micro Services per Team
  • 12. Eberhard Wolff - @ewolff Order Billing Search Catalog Order CatalogSearchBilling Micro Services Team can deploy without integration Changes can be deployed independently & quickly Strong & enforced modularization Technology stack per Micro Service One or many Micro Services per Team
  • 13. Eberhard Wolff - @ewolff Online Shop Order Catalog Search Billing Customer HTML / HTTP
  • 14. Eberhard Wolff - @ewolff Online Shop Elasticsearch Spring Batch Oracle Spring MVC MongoDB Order Catalog Search Billing
  • 15. Eberhard Wolff - @ewolff Deploy & Operate?
  • 16. Eberhard Wolff - @ewolff Component Model •  No restriction on language etc •  Individual processes •  + infrastructure (database etc) •  JARs, WARs, EARs: No good fit •  Monitoring •  Logging
  • 17. Eberhard Wolff - @ewolff Possible Component Models •  Virtual machine •  Docker container •  Installable software (RPM, deb) •  + deployment / config scripts
  • 18. Eberhard Wolff - @ewolff Why Micro Services?
  • 19. Eberhard Wolff - @ewolff How to scale agile? Implement more feature
  • 20. Eberhard Wolff - @ewolff Conway‘s Law Architecture copies communication structures of the organization
  • 21. Eberhard Wolff - @ewolff Conway’s Law as a Limit •  Won’t be able to create an architecture different from your organization •  I.e. mobile, GUI & database team •  Three technical artifacts
  • 22. Eberhard Wolff - @ewolff Conway’s Law as an Enabler •  Desired architecture = project structure •  Team for each Micro Service •  Team should be responsible for meaningful features •  Ideal: Independent features
  • 23. Eberhard Wolff - @ewolff One team can build and deploy features independently!
  • 24. Eberhard Wolff - @ewolff Team must be responsible for a sensible set of functionality
  • 25. Eberhard Wolff - @ewolff Conway’s Law & Size •  Upper limit: What a (small) team can handle •  …and a meaningful set of features •  Probably not too small •  Smaller modules might be better •  Lower limit: Depends on overhead / technology
  • 26. Eberhard Wolff - @ewolff Legacy Apps
  • 27. Eberhard Wolff - @ewolff
  • 28. Eberhard Wolff - @ewolff
  • 29. Eberhard Wolff - @ewolff How can I implement a new feature???
  • 30. Eberhard Wolff - @ewolffL
  • 31. Eberhard Wolff - @ewolff HTTP New Stuff Links No legacy code Any technology J Small code base
  • 32. Little programs are delightful to write in isolation, but the process of maintaining large-scale software is always miserable. Jaron Lanier
  • 34. Eberhard Wolff - @ewolff Sustainable Development
  • 35. Eberhard Wolff - @ewolff Monoliths •  Architecture rot •  …not maintainable any more •  …and can’t be rewritten / replaced
  • 36. Eberhard Wolff - @ewolff Micro Services •  Distributed system of small units •  Architecture violations harder •  Small units •  Easy to replace
  • 37. Eberhard Wolff - @ewolff Continuous Delivery
  • 38. Eberhard Wolff - @ewolff Monolith ECommerce System 3rd party systems Database
  • 39. Eberhard Wolff - @ewolff Continuous Delivery: Build Pipeline Commit Stage Automated Acceptance Testing Automated Capacity Testing Manual Explorative Testing Release ECommerce System
  • 40. Eberhard Wolff - @ewolff Build Pipeline: Problems •  Complex infrastructure •  Huge database •  3rd party integration •  Slow feedback •  Test everything for each commit •  Huge deployment unit •  Deployment slow
  • 41. Eberhard Wolff - @ewolff Micro Services ECommerce System 3rd party systems Database Order Catalog Billing Search
  • 42. Eberhard Wolff - @ewolff Commit Stage Automated Acceptance Testing Automated Capacity Testing Manual Explorative Testing Release Commit Stage Automated Acceptance Testing Automated Capacity Testing Manual Explorative Testing Release Commit Stage Automated Acceptance Testing Automated Capacity Testing Manual Explorative Testing Release Order Billing Customer
  • 43. Eberhard Wolff - @ewolff 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
  • 44. Eberhard Wolff - @ewolff Quick Deployments Time Size & Risk Manual Deployment Pipeline Continuous Delivery Pipeline Monolith Micro Services
  • 45. Eberhard Wolff - @ewolff Why Micro Services? •  Strong modularization •  Small deployment units •  Faster & easier deployment •  Sustainable development speed •  Continuous Delivery •  Less risk in deployment •  Best technology for each service
  • 46. Eberhard Wolff - @ewolff Challenges
  • 47. Eberhard Wolff - @ewolff Distributed System
  • 48. Eberhard Wolff - @ewolff 1st Law of Distributed Objects •  Don’t Distribute Your Objects! •  Too much remote communication & overhead •  Lesson learned from CORBA etc •  Micro Service should include a GUI •  http://martinfowler.com/bliki/ FirstLaw.html
  • 49. Eberhard Wolff - @ewolff Request Response Processing Latency Round Trip: 0,2-0,5 ms = 600.000-1.500.000 instructions@3GHz
  • 50. Eberhard Wolff - @ewolff 1st Law of Distributed Objects & Micro Services •  Small Micro Services mean a lot of communication •  Violate the 1st Law •  Seems to work, though •  http://martinfowler.com/articles/ distributed-objects- microservices.html
  • 51. Eberhard Wolff - @ewolff Too small =
 too much communication
  • 52. Eberhard Wolff - @ewolff Code Reuse •  Reuse across technology stacks hard •  Code dependencies are evil! •  Deployment dependency •  No more independent deployment •  Update hell •  Avoid code reuse! •  Or make it Open Source projects (Netflix) •  Service reuse is fine
  • 53. Eberhard Wolff - @ewolff Global Refactorings? •  Move code from service to service •  Might be a port to a different language •  Separate in a new service? •  More services = more complex •  Very hard
  • 54. Eberhard Wolff - @ewolff Functional Architecture •  Teams should be independent •  i.e. one team = one functionality •  Otherwise: Coordination hard •  Functional architecture much more important
  • 55. Eberhard Wolff - @ewolff Refactoring & Code Reuse Individual Technology Stacks
  • 56. Eberhard Wolff - @ewolff Refactoring hard Functional architecture much more important
  • 57. Eberhard Wolff - @ewolff Need to get architecture right first time Architecture evolves
  • 58. Eberhard Wolff - @ewolff Start BIG •  Won’t have too much code at the start anyway •  Refactoring easier •  Can build architecture as you go •  Let the functional architecture grow!
  • 59. Eberhard Wolff - @ewolff Handling Interfaces •  Independent deployments = backwards compatibility •  Different versions of the same service run at the same time •  Only to allow updates •  i.e. transient •  Minor issue
  • 60. Eberhard Wolff - @ewolff Managing Dependencies Between (>100) Services? •  Monoliths can be easily analyzed •  Micro Services? •  With heterogeneous technology stacks? •  Need to come up with your own solution
  • 61. Eberhard Wolff - @ewolff Global Architecture? •  Manages dependencies •  Which service/team does what? •  Defines common communication infrastructure •  Optional: Common Ops •  Very different from usual architecture
  • 62. Eberhard Wolff - @ewolff Network? •  Micro Services = Distributed Systems •  Services & network might fail •  Need to deal with failure •  Resilience: System must survive failure of parts •  Makes system highly available
  • 63. Eberhard Wolff - @ewolff Deployment? •  One Deployment Pipeline per services •  Should be fully automated •  Too many services for manual steps •  Infrastructure investment needed •  Common deployment?
  • 64. Eberhard Wolff - @ewolff Infrastructure? •  >50 server per system •  Resource consumption probably high •  Virtualization must be fully automated •  Docker might save ressources
  • 65. Eberhard Wolff - @ewolff Conclusion
  • 66. Eberhard Wolff - @ewolff Conclusion: Micro Services •  Micro Services are a new way of modularization •  More technological freedom •  Easier, faster and less risky deployment
  • 67. Eberhard Wolff - @ewolff Use If… •  Time to market is important •  Legacy systems must be modernized •  Sustained development speed •  Continuous Delivery should be implemented •  Large enough project
  • 68. Eberhard Wolff - @ewolff Don’t Use If… •  Infrastructure complexity cannot be handled •  Architectural complexity cannot be handled
  • 69. Eberhard Wolff - @ewolff Thank You!