Micro Services

07.03.2016 – Erich Oswald

Was genau sind eigentlich Micro Services?  Nur ein neuer Name für die «service-orientierte Architektur» (kurz SOA), die vor einigen Jahren in aller Munde war, um die es seither aber wieder ruhiger geworden ist? Oder doch das Allheilmittel, um moderne Applikationen flexibel und skalierbar zu entwickeln und zu betreiben? Es ist nicht immer einfach, die Grenze zwischen purem Hype und echter Innovation zu erkennen.

 

Ergon setzt bewusst nicht auf jeden neuen technischen Trend. Zentral ist vielmehr, dass wir den Nutzen einer Software für unsere Kunden verstehen und eine für ihre Situation massgeschneiderte Lösung entwickeln.  Hierzu behalten wir natürlich die aktuellen Trends und Möglichkeiten genau im Auge und evaluieren sie für den Einsatz im Projekt.

 

Wir halten Micro Services denn auch für eine interessante Lösungsstrategie. Trotzdem sind wir weit davon entfernt, sie als Standardansatz für jedes neue Projekt zu empfehlen. Es macht keinen Sinn, sich zusätzliche Komplexität aufzuhalsen, wenn die spezifischen Vorzüge von Micro Services den Mehraufwand nicht wettmachen.

 

Wer im Internet nach schlechten Erfahrungen mit Micro Services sucht, wird schnell fündig. Offensichtlich wird gerne unterschätzt, dass erfolgreiche Lösungen auf Basis von Micro Services diverse technische Praktiken zwingend voraussetzen: Entwicklung in kleinen, unabhängigen Teams, konsequente Modularisierung, wohldefinierte Schnittstellen und einen ausgereiften Prozess für kontinuierliche Auslieferung (Continuous Delivery) und Administration einer grossen Menge von Services. Ergon pflegt viele dieser Praktiken seit Jahren. So besteht zum Beispiel der elektronische Zugassistent (ELAZ) aus diversen kleinen Applikationen, die sich miteinander synchronisieren. Ein anderes Beispiel ist die TrueWealth-Lösung, bei der wir neue Releases auf Knopfdruck in einer Cloud-Umgebung installieren. Mit dieser in vielen Projekten aufgebauten Kompetenz kann Ergon Ihnen auch im Zeitalter der Micro Services guten Rat geben.