Microservices als technische Basis

Multi-Cloud-Architekturen sind die Realität

11.03.2016
Von 


René Büst ist Research Director in Gartners Managed Business and Technology Services Team mit Hauptfokus auf Infrastructure Services & Digital Operations. Er analysiert Entwicklungen im Bereich Cloud Computing (Anbieter von Managed Cloud-Services und Public Cloud sowie Cloud-Strategien wie IaaS, PaaS und Multicloud), digitale Infrastrukturen und Managed Services sowie den Einfluss der digitalen Transformation auf die IT. Seit Mitte der 90er Jahre konzentriert sich Herr Büst auf den strategischen Einsatz der IT in Unternehmen und setzt sich mit deren Einfluss auf unsere Gesellschaft sowie disruptiven Technologien auseinander.

Spinnaker hilft Netflix beim Multi-Cloud-Sourcing

Bereits im November 2015 hat Netflix die Continuous Delivery-Plattform "Spinnaker" veröffentlicht. Damit ist es dem Unternehmen möglich, neue Funktionen und Updates in sehr kurzen Release-Zyklen über mehrere Cloud-Infrastrukturanbieter auszurollen. Neben Amazon Web Services ist Netflix hierzu eine Partnerschaft mit der Google Cloud Platform, Microsoft Azure und der quelloffenen Platform-as-a-Service (PaaS-)Lösung Cloud Foundry eingegangen. Spinnaker beinhaltet Funktionen für das Deployment-Management sowie das Cluster-Management. Hiermit ist es Netflix aktuell möglich, Releases und ganze Clusterverbände simultan auf der AWS und Google Cloud mit ein und demselben Funktionsumfang bereitzustellen. Die Unterstützung für Microsoft Azure ist noch in Arbeit.

Das Spinnaker Deployment-Management definiert eine sogenannte Pipeline, die wiederum in eine Abfolge von 15 Stages untergliedert ist, die sich individuell anpassen und erweitern lassen. Ein Stage ist ein granular abgeschlossener Prozess, der eine Aufgabe während des Deployments übernimmt, beispielsweise das Erstellen eines Images, das Bereitstellen des Images oder das Zerstören einer Server-Gruppe.

Das Spinnaker Cluster-Management besteht aus den Bereichen Server-Group, Security-Group, Load Balancer und dem Cluster. Hierüber lässt sich der gesamte Cluster steuern. Je nach Anforderung einer Applikation lassen sich weitere Server zu einer Server-Gruppe hinzufügen oder auch anpassen.

Microservices sind die Basis von Multi-Cloud-Architekturen

Die Frage, warum Netflix sich anhand von Spinnaker dem Multi-Cloud-Sourcing widmen kann, ist mit einem Wort beantwortet: Microservice-Architektur. Anstatt einen Monolithen, also einen starren und unflexiblen "Applikationsklotz" zu entwickeln, setzt Netflix auf eine lose gekoppelte Landschaft einzelner Microservices, die miteinander integriert das massiv skalierbare und ausfallsichere Netflix On-Demand-Angebot ergeben.

Ein Microservice repräsentiert eine abgeschlossene Funktionalität und wird unabhängig entwickelt und betrieben. Es handelt sich dabei um eine kleine, eigenständige Softwarekomponente (Service), die eine Teilfunktion innerhalb einer großen, verteilten Softwareapplikation bereitstellt. Ein Microservice lässt sich somit unabhängig bereitstellen und skaliert autonom und selbständig. Auf Microservices basierende Applikationsarchitekturen sind modularisiert und lassen sich einfacher und schneller um neue Funktionen erweitern und im Laufe des Lebenszyklus warten. Die Vorteile einer Microservice-Architektur sind:

• Bessere Skalierbarkeit: Wird ein Teilservice einer Applikation zu einem bestimmten Zeitpunkt mehr in Anspruch genommen als die anderen, ist er in der Lage, eigenständig zu skalieren, ohne die restlichen Teile der Applikation negativ zu beeinflussen.

• Höhere Verfügbarkeit der gesamten Applikation: Fällt ein Teilservice aus, beeinflusst er damit nicht die gesamte Applikation sondern nur die Funktionalität, die er abbildet. Das kann bedeuten, dass ein Teilausfall keine direkte Außenwirkung hat, wenn es sich dabei um einen Backend-Service handelt.

• Bessere Agilität: Änderungen, Verbesserungen und Erweiterungen lassen sich unabhängig von der Funktionalität der gesamten Applikation vornehmen und ohne andere Teilservices zu beeinträchtigen.

• Continuous Delivery: Die Änderungen, Verbesserungen und Erweiterungen lassen sich regelmäßig vornehmen, ohne dass für die gesamte Applikation ein Update vorgenommen werden muss beziehungsweise ohne die gesamte Applikation in den Wartungsmodus zu schicken.

Ein weiterer Vorteil einer Microservice-Architektur: Ein Microservice lässt sich in mehr als einer Applikation einsetzen. Einmal entwickelt kann er später für eine Funktion in vielen weiteren Applikationsarchitekturen sorgen.

Multi-Cloud-Umgebungen treiben die Innovationsfähigkeit

Microservice-Architekturen wie die von Netflix sind die entscheidende Basis für den Aufbau von echten Multi-Cloud-Umgebungen auf Infrastruktur- und Plattformebene. Nur damit lassen sich Teilservices einer Gesamt-Applikation über mehrere Cloud-Anbieter hinweg verteilen, um so das Risiko eines Ausfalls oder Lock-ins zu minimieren. Weiterhin besteht damit die Möglichkeit, sämtliche Funktionen und Platform-Services, die von verschiedenen Anbietern bereitgestellt werden, in Gänze zu nutzen, um damit von innovativen und neuen Platform-Services zu profitieren. Sofern bei einem Anbieter beispielsweise ein Platform-Service nicht zur Verfügung steht oder dessen Funktionsumfang oder Performance nicht ausreichend ist, kann der Service von einem anderen Anbieter verwendet werden.

Das Beste Beispiel hierfür ist Spotify. Hätte der Streaming-Anbieter einen Analytics-Service bei AWS gefunden, der den eigenen Anforderungen entspricht, wäre Google BigQuery wahrscheinlich nie zum Zuge gekommen. Stattdessen bedient sich Spotify nun bei Google und baut damit eine Multi-Cloud-Umgebung auf Infrastrukturebene. (wh)