5. Automatisierung und Monitoring
Messagingkanäle
Microservice-Verwaltung, Konfiguration, Discovery, Routing
Innere Architektur
Microservice A
Loadbalancing
Microservice B
Loadbalancing
Container
Microservice C
Loadbalancing
Container
Microservice D
Loadbalancing
Container
API-Gateway
Laufzeit
Container
Virtualisierung
Cloud
Messaging
Verwaltung
Ops
GS | Liferay GmbH
Container
6. Der Microservice
Operativer Mehraufwand:
• Statt einer geclusterten Anwendung
viele Mikroanwendungen, die geclustert,
instrumentiert und betrieben werden müssen
• Statt eines App-Servers
viele Mikroanwendungen, die verschiedene
Infrastrukturen erfordern
GS | Liferay GmbH
8. “
”
[…] all you are doing is shifting complexity
from inside a component to the connections
between components […] it moves it to a place
that's less explicit and harder to control
Martin Fowler (2014)
http://martinfowler.com/articles/microservices.html
Der Microservice
GS | Liferay GmbH
10. Die Plattform
OSGi ist Kerntechnologie von Liferay DXP
• Chance zur schrittweisen Modularisierung
• Definierte Best Practices können hilfreich sein
• Transparenz der Plattform nutzen
• Support
• Profitieren von den gewonnen Erkenntnissen
GS | Liferay GmbH
11. Die Plattform
“
”
[…] you shouldn't start with a microservices
architecture. Instead begin with a monolith,
keep it modular, and split it into microservices
once the monolith becomes a problem.
Martin Fowler (2014)
http://martinfowler.com/articles/microservices.html
GS | Liferay GmbH
12. “
”
What I am promoting is the idea of
μServices, the concepts of an OSGi
service as a design primitive.
Peter Kriens (2010)
http://blog.osgi.org/2010/03/services.html
OSGi Services
flickr.com/alexhealing
GS | Liferay GmbH
14. OSGi Services
Microservice nach Fowler
http://martinfowler.com/articles/microservices.html
OSGi
Services
single application as a suite of small services
running in its own process
communicating with lightweight mechanisms
built around business capabilities
independently deployable
minimum of centralized management
may be written in different programming languages
use different data storage technologies
✔
✔
✔
✔
✔
✔
✔
✘
flickr.com/alexhealing
GS | Liferay GmbH
15. OSGi Services
Separate Prozesse haben Vorteile:
• vollständige Isolation
• leichte Skalierbarkeit
OSGi Remote Services!
Zwei OSGi-Spezifikationen:
• Remote Services: Transport
• Remote Service Admin: Topologie, Service-Discovery
flickr.com/alexhealing
GS | Liferay GmbH
16. OSGi Services
Das beste aus beiden Welten?
• unabhängig deploybar, iterativ entwickelbar
• fehlertolerant – aber keine vollständige Isolation
• keine Netwerklatenzen, reduzierter Callstack
• mehr Freiheiten bei Technologiewahl
• weniger Anforderungen an den Betrieb
• bewährte Monitoring- und Deploymentstrategien
GS | Liferay GmbH