GS | Liferay GmbH
Der Monolith
Schwer beherrschbare Komplexität:
• Anpassungen aufwendig
• Entwicklung unattraktiv
• Wiederverwertbarkeit eingeschränkt
• Skalierbarkeit eindimensional
Bekannte Konzepte:
• Entwicklung, Testing
• Deployment
• Betrieb
GS | Liferay GmbH
Der Microservice
•
•
•
•
•
flickr.com/trondheimhavn
GS | Liferay GmbH
http://martinfowler.com/articles/microservices.html
Reduzierte Komplexität!Reduzierte Komplexität?
Der Microservice
flickr.com/trondheimhavn
GS | Liferay GmbH
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
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
Der Microservice
Neue Herausforderungen:
• Netzwerklatenzen
• Fehlertoleranz
• Serialisierung
• Verteilte Transaktionen
• Monitoring
GS | Liferay GmbH
“
”
[…] 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
Die Plattform
GS | Liferay GmbH
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
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
“
”
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
OSGi Services
https://www.osgi.org/developer/architecture/
flickr.com/alexhealing
GS | Liferay GmbH
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
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
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
Vielen Dank!daniel.reuther@liferay.com
https://github.com/danielreuther
GS | Liferay GmbH

Liferay als Plattform für Microservices

  • 1.
  • 2.
    Der Monolith Schwer beherrschbareKomplexität: • Anpassungen aufwendig • Entwicklung unattraktiv • Wiederverwertbarkeit eingeschränkt • Skalierbarkeit eindimensional Bekannte Konzepte: • Entwicklung, Testing • Deployment • Betrieb GS | Liferay GmbH
  • 3.
  • 4.
  • 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
  • 7.
    Der Microservice Neue Herausforderungen: •Netzwerklatenzen • Fehlertoleranz • Serialisierung • Verteilte Transaktionen • Monitoring GS | Liferay GmbH
  • 8.
    “ ” […] all youare 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
  • 9.
    Die Plattform GS |Liferay GmbH
  • 10.
    Die Plattform OSGi istKerntechnologie 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 “ ” […] youshouldn'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 ampromoting 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
  • 13.
  • 14.
    OSGi Services Microservice nachFowler 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 Prozessehaben 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 besteaus 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
  • 17.