Microservices - Best Practices und Patterns

Microservices - Best Practices und Patterns

Microservices - Best Practices und Patterns

(Quelle: Unsplash)
Artikel erschienen in IT Magazine 2019/11
Seite 1
9. November 2019 -  Von Sascha Möllering

Microservices bringen in der Softwareentwicklung viele Vorteile, aber auch einige Herausforderungen mit sich. So muss beispielsweise eine Orchestrierungsschicht Teil der Anwendung werden. Richtig implementiert, hilft der Designansatz aber bei der Skalierung von Anwendungen und verringert die Zeit zwischen Releases.
Microservices erfreuen sich bei vielen Entwicklern nach wie vor grosser Beliebtheit. Das liegt auch daran, dass die Vorteile schwerer wiegen als deren nachgesagte Komplexität. Microservices-Architekturen sind schliesslich kein völlig neuer Ansatz für das Software-Engineering, sondern eine Kombination aus verschiedenen erfolgreichen und bewährten Konzepten. Dieser Ansatz soll einerseits Innovationen fördern, und andererseits die Wartbarkeit und Skalierbarkeit von Softwareanwendungen verbessern. Unternehmen, die Software und Dienstleistungen bereitstellen, könnten ausserdem von zusätzlichen Skaleneffekten profitieren, indem sie diesen agilen Ansatz verfolgen, der verschiedenen Teams auch erlaubt, unabhängig voneinander zu arbeiten. Dieser Architekturansatz für Software birgt noch weitere Vorteile, es gibt jedoch ein paar Dinge, die man dabei nicht ausser Acht lassen sollte.

Wesentliche Eigenschaften und Merkmale von Microservices sind in untenstehender Abbildung zu finden. Ein fundamentaler Punkt bei Microservices ist, dass eine Architektur bestehend aus diesen Services polyglott sein kann, es können also unterschiedliche Sprachen und Frameworks genutzt werden, die für die spezifische Domäne am besten geeignet sind. Jeder Service sollte – von aussen betrachtet – eine Black Box sein: die eigentliche Implementierung der Businessfunktionalitäten ist für den Aufrufer irrelevant, einzig die wohldokumentierte Schnittstelle zählt. Darüber hinaus sollte jeder Service auch nur eine Funktionalität implementieren. Falls sich mehr als eine Domäne in einem Service befindet, sollte das Domänenmodell überprüft und der Service eventuell aufgeteilt werden. Services sind unabhängig voneinander, es können also auch neue Versionen unabhängig ausgerollt werden. Es existiert auch kein zentraler Service in einer solchen Architektur für die Steuerung der übrigen, die Orchestrierung findet auf einer anderen Eben statt. Ein wichtiger Dev­Ops-Aspekt bei Microservices besteht darin, dass das Team, das einen Service baut, auch für den produktiven Betrieb verantwortlich ist.

Conway’s Law und der kontrollierte Kontrollverlust

Eine häufig gestellte Frage ist: Was muss ich machen, damit ich eine Microservices-­Architektur im Unternehmen erfolgreich einführen kann? Conways Gesetz gibt dazu erste Anhaltspunkte. Diese Regel ist nach dem Programmierer Melvin Conway benannt, der die Idee 1967 einführte. Das Gesetz basiert auf der Überlegung, dass mehrere Autoren häufig miteinander kommunizieren müssen, damit ein Softwaremodul funktioniert. Daher spiegeln die Schnittstellen von Software eines Systems auch die kommunikativen Grenzlinien der Organisation wider, die sie hervorgebracht haben. Nehmen wir an, wir haben eine Situation, in der die Struktur der Organisation und der Software voneinander abweichen. Typischerweise ist das der Fall, wenn ein verteiltes Team an einer monolithischen Quelltextbasis arbeitet. Die Alternative – in Form von Microservices – besteht in einer modularen Quelltextbasis, an der mit verteilten, kleinen Teams gearbeitet werden kann. Jedes Team ist somit verantwortlich für einen kleinen Baustein des Gesamtsystems, was auch den produktiven Betrieb eines Service betrifft.
 
Seite 1 von 3
Nächste Seite

Neuen Kommentar erfassen

Kommentare werden vor der Freischaltung durch die Redaktion geprüft.
Anti-Spam-Frage Wie hiess im Märchen die Schwester von Hänsel?
Antwort
Name
E-Mail
NEWSLETTER ABONNIEREN
Abonnieren Sie unseren täglichen Newsletter mit den wichtigsten ICT-Meldungen
SWISS IT MAGAZINE - AUSGABE 2019/11
Schwerpunkt: Digital Signage
• Digitale Werbung in ansprechenden Formaten
• Location Based Mobile Advertising
• 14 essenzielle Features einer Digital Signage Software
• Digitale Wegleitung beim Bund
• Anbieter für mehr Abwechslung im Schaufenster
Zum Inhaltsverzeichnis
SPONSOREN & PARTNER