http://microservices-praxisbuch.de/
rezepte.html
FREE!!!!
Print version at innoQ boot!
Slide 6
Slide 6 text
http://microservices-praxisbuch.de/
Soon…
Slide 7
Slide 7 text
What are
Microservices?
Slide 8
Slide 8 text
Independent
Systems
Architecture:
ISA
Creator: INNOQ | http://isa-principles.org
Slide 9
Slide 9 text
Creator: INNOQ | http://isa-principles.org
> Best practices
>
for microservices
>
for Self-contained Systems (SCS)
http://scs-architecture.org
Introduction
Why
ISA
?
!
! !
Creator: INNOQ | http://isa-principles.org
>
Modules: Old idea
>
Modularization for a
system
1 | Modules
Slide 12
Slide 12 text
Creator: INNOQ | http://isa-principles.org
> Reuse
“Module” ideas:
>
High cohesion, low coupling,
>
Separation of concerns,
>
Single Responsibility …
1 | Modules
Slide 13
Slide 13 text
Creator: INNOQ | http://isa-principles.org
>
Modules provide
interfaces
>
Access
only
through interface
1 | Modules
Slide 14
Slide 14 text
Creator: INNOQ | http://isa-principles.org
>
Information hiding
>
Microservice must not use other microservices’
internals (e.g. database schemas).
1 | Modules
Creator: INNOQ | http://isa-principles.org
>
Microservices can only be
deployed independently …
>
... if pipelines are independent
6 | Independent Continuous Delivery Pipeline
8 | Standards: Interface only
Creator: INNOQ | http://isa-principles.org
Slide 30
Slide 30 text
Creator: INNOQ | http://isa-principles.org
>
Standardize e.g. configuration
… or log interface
>
Do not standardize the library!
8 | Standards: Interface only
Consistency
Order
Invoice
Delivery
What about
order #42?
✅
✅
❌
Slide 63
Slide 63 text
Consistency
Order
Invoice
Delivery
Order #42
is cancelled!
✅
✅
⁉
Goods might be delivered
if order arrives
after cancellation.
Slide 64
Slide 64 text
This is quite common
without
microservices.
Slide 65
Slide 65 text
Customer Order Catalog
Domino Effect
Slide 66
Slide 66 text
Customer Order Catalog
Domino Effect
Slide 67
Slide 67 text
Customer Order Catalog
Domino Effect
Slide 68
Slide 68 text
Customer Order Catalog
Domino Effect
Slide 69
Slide 69 text
Build resilient
microservices!
Slide 70
Slide 70 text
Refactoring
> Move code to a new service: Easy
> Move code from service to service
> Might be a port to a different language
> Hard
Slide 71
Slide 71 text
Global Refactoring
> Really hard: Global restructuring
> i.e. moving everything to a different place.
> …but that is always hard…
> ...and the result of a major screw-up.
> Do you want to optimize for this?
Slide 72
Slide 72 text
Many New Technologies
> Microservices framework
> Service discovery
> Routing / API Gateway
> Continuous Delivery pipeline
> Docker
> Docker scheduler (Kubernetes)
> ....
Slide 73
Slide 73 text
Challenges
Consistency Fail safeness
Large scale
refactoring
New
Technologies
Slide 74
Slide 74 text
Microservices are an
all or nothing
approach.
Slide 75
Slide 75 text
Microservices are an
all or nothing
approach.
Too Monolithic!
Slide 76
Slide 76 text
Which benefits are
important?
Which challenges
acceptable?
Slide 77
Slide 77 text
Moving beyond
Microservices:
Rightsize the
Architecture!
Slide 78
Slide 78 text
Alternative
Approaches
Slide 79
Slide 79 text
Centralized DB
Slide 80
Slide 80 text
Billing
Order
Process
CRM
Order
Order Order
True Microservices
Slide 81
Slide 81 text
Shared Database
Order Schema
Billing
Order
Process
CRM
Challenges
Consistency
++
Fail safeness
-
Large scale
refactoring
-
New
Technologies
+
-
Slide 86
Slide 86 text
Centralized Database
is a bad idea.
Slide 87
Slide 87 text
Consistency requires
lots of compromises.
Slide 88
Slide 88 text
Layered
Slide 89
Slide 89 text
Layered
iOS Android Web
Order Product Delivery
Invoice
Customer
Process Layer
Slide 90
Slide 90 text
Layered: Issues
> Changing a business process cause many
changes
> …in frontends and many backends
> Lots of communication between teams and
components
Challenges
Consistency
-
Performance
++
Fail safeness
-
Large scale
refactoring
++
New
Technologies
++
Slide 115
Slide 115 text
Clean architecture
with a lot less
technical challenges!
Slide 116
Slide 116 text
Conclusion
Slide 117
Slide 117 text
Conclusion
> Microservices: set of architecture decision
> Independent System Architecture
> Architecture is about trade-offs
> Architecture is different for each project
> Go beyond microservices by picking the
best decisions!
> …and gain most benefits
Slide 118
Slide 118 text
Usually bad tradeoffs
> Centralized database
> Layered model
Slide 119
Slide 119 text
Usually good tradeoffs
> SCS, Bounded Context, Microlith
> Bounded Context in a deployment monolith
> Strongly separated modules in a
deployment monolith
Slide 120
Slide 120 text
EMail [email protected] to get:
Slides
+ Microservices Primer
+ Microservices Rezepte
+ Sample Microservices Book
+ Sample of Continuous Delivery Book
Powered by Amazon Lambda & Microservices