Building a Microservice is no hard task these days. With current frameworks it is fairly easy to create a self contained application that exposes Services via a RESTful interface. The Challenge for Microservices lies within the overall landscape: how to they interact with each other? How about service lookup? What about resilience? This session adresses the usual building blocks that are needed for Microservice landscapes and gives an overview of suitable open source frameworks in the market.
6. „In short, the microservice
architectural style is an approach to
developing a single application as a
suite of small services, each running in
its own process and communicating
with lightweight mechanisms, often an
HTTP resource API.“
Martin Fowler:
http://martinfowler.com/articles/microservices.html
30. 4 Collaboration
Sind Microservices das
Wiederauferstehen der
Spaghetti Integration?
AuthorService
EMail Service
Roles Service
OutBound
Service
Print Service
Post Service
31. Hard wiring von Service-Endpoints
funktioniert nicht in einer hoch
automatisierten Cloud-Landschaft
AuthorService
EMail Service
Roles Service
OutBound
Service
Print Service
Post Service
32. Will man alle Microservices auf einer
Maschine deployen?
AuthorService
EMail Service
Roles Service
OutBound
Service
Print Service
Post Service
33. oder zieht man einen Host pro
Microservice vor?
AuthorService
EMail Service
Roles Service
OutBound
Service
Print Service
Post Service
42. 5 Resilience
Die Fähigkeit eines Systems mit
unerwarteten Ereignissen
umzugehen
• ohne dass es der User merkt
• mit graceful service degradation
TAKEN FROM UWE FRIEDRICHSEN
43. >
Microservice Systeme sind
komplex und zu einem hohen
Grad verteilt
> Fehler passieren und sind nicht
vorhersehbar
> Roll Forward ist wichtiger wie
Roll Back
48. AuthorService
EMail Service Roles Service
THREAD POOL
Wird langsamer und langsamer
Thread Pool ist voll
Keine Requests zu
anderen
Downstream Systemen
sind mehr möglich
53. 6 Monitoring
Es ist wichtig, frühzeitig eine
ganzheitliche Sicht auf das System
zu bekommen
54. > Es ist nicht ausreichend, jede
Node einzeln zu monitoren
>
Es muss gewährleistet sein, dass
alle Logs / Statistiken von alles
Nodes konsolidiert werden
können
>
Requests müssen an einer Stelle
über das ganze System hinweg
analysiert werden können