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.
Immer mehr Unternehmen setzen auf Multi-Cloud-Szenarien, um die Vorteile des Cloud-Modells voll auszuschöpfen. Die technische Basis dafür bilden Microservices.

Das Thema Multi-Cloud-Sourcing nimmt auch in Deutschland immer mehr Fahrt auf. Schon mehr als zwölf Prozent der mittelständischen deutschen Unternehmen beschäftigen sich heute mit dieser Deployment-Variante. Für die Zukunft planen 36 Prozent der mittelständischen IT-Entscheider mit Multi-Cloud-Architekturen. Dafür gibt es gute Gründe. Einerseits sollte kein Unternehmen alle Eier in ein Nest packen. Andererseits gibt es den von Anbietern oft proklamierten One-Stop-Cloud-Shop derzeit nicht, was sich auch in der Zukunft kaum ändern dürfte.

Die Kernfrage beim Multi-Cloud-Sourcing lautet in der Regel, wie es sich technisch umsetzen lässt. Vorreiter in diesem Segment sind wieder einmal die US-amerikanischen Cloud-Pioniere, allen voran der Video-On-Demand-Anbieter Netflix und seit kurzem auch die Musik-Streaming-Plattform Spotify.

Favorisierte Cloud Deployment Modelle
Favorisierte Cloud Deployment Modelle
Foto: Crisp Research AG, 2015

Gründe für Multi-Cloud-Umgebungen

Der Einsatz einer breit angelegten Cloud-Deployment-Strategie (Multi-Cloud) steht bei Crisp Research permanent im Fokus von Diskussionen, auf Panels oder in Beratungsmandaten mit CTOs und IT-Infrastrukturleitern. Die Gründe für deren Nutzung sind vielfältig. IT-Entscheider sollten das Thema Multi-Cloud-Sourcing auf ihre Agenda nehmen, denn es hilft bei der Bewältigung unterschiedlichster Herausforderungen:

Risikomanagement. Aus Risikomanagement-Sicht und zur Vermeidung eines vollständigen Lock-ins gehört es zu einer ganzheitlichen Cloud-Strategie, mehr als einen Anbieter zu berücksichtigen. So lässt sich das Ausfallsrisiko minimieren, darüber hinaus hält man sich Optionen für einen Wechsel offen.

Kein One-Stop-Cloud-Shop. Es gibt keinen Cloud-Anbieter, der über ein vollständiges Portfolio an Services und Lösungen verfügt, das sämtliche Anforderungen eines Unternehmens erfüllt. Ein kompletter individueller Cloud-Stack besteht aus Services von mehr als einem Cloud-Anbieter.

Innovationspotentiale ausschöpfen. IT-Entscheider, die ihre Fachabteilungen und Entwickler mit Innovationen versorgen wollen, schauen sich bei mehr als einem Anbieter um. Schließlich existiert die eine große Innovationsmaschine in der Cloud nicht. Stattdessen bringen immer wieder andere Anbieter neue Service heraus, die einem Unternehmen dabei helfen, schneller erfolgreicher zu sein. Unterschiedliche Innovationen werden somit von mehreren Anbietern bezogen.

Compliance-Anforderungen. Insbesondere wenn es um das Thema Daten (Stichwort: Data Gravity) geht, spielen Multi-Cloud-Szenarien eine wichtige Rolle. So lassen sich etwa rechtlich sensible Daten bei einem Anbieter speichern, der die notwendigen juristischen Rahmenbedingungen (Datenschutz, Datenlokalität) sicherstellen kann. Die Services eines weiteren Anbieters greifen dann auf die Daten zu, ohne diese zu bewegen. Die Rechenleistung und die Innovation kommt dann sozusagen zu den Daten, und nicht umgekehrt.

• Performance-Probleme. Performance gehört in der Cloud zu einer der großen Herausforderungen, wenn es darum geht, Services und Daten schnell an den Kunden auszuliefern (Stichwort: Latenz). Werden die Services und Daten in die Nähe der entsprechenden Zielkunden gebracht, lässt sich diese Hürde umgehen. Dies muss insbesondere dann berücksichtigt werden, wenn ein Cloud-Anbieter in einem Ländermarkt nicht mit einem eigenen Rechenzentrum vor Ort ist. So lässt sich gegebenenfalls auf einen weiteren Anbieter ausweichen, der bereits vor Ort ist, um die Kunden performant zu bedienen.

Um ein besseres Verständnis für Multi-Cloud-Szenarien zu bekommen, hilft es, sich das Lieferkettenmodell aus der Automobilindustrie als Beispiel anzusehen. Ein Automobilhersteller setzt auf unterschiedliche, zum Teil redundante Lieferanten, die ihn mit einzelnen Komponenten, Baugruppen oder fertigen Systemen beliefern. Am Ende fügt der Automobilhersteller die Just-in-time gelieferten Teile in seinen Montagewerken zusammen.

Ein Multi-Cloud-Szenario adaptiert die Idee der Automobilindustrie, indem mit mehr als einem Cloud-Anbieter (Cloud-Zulieferer) zusammengearbeitet wird, um am Ende alle Services aus dieser Cloud-Supply-Chain in die eigene Cloud-Applikation oder Cloud-Umgebung zu integrieren.

Illustration einer Multi-Cloud-Umgebung (Cloud Supply Chain)
Illustration einer Multi-Cloud-Umgebung (Cloud Supply Chain)
Foto: Crisp Research AG, 2015

Im Rahmen der Cloud-Supply-Chain stehen drei unterschiedliche Lieferebenen zur Verfügung, die sich für die Entwicklung einer Cloud-Applikation oder dem Aufbau einer Cloud-Umgebung einsetzen lassen:

• Microservice: Microservices sind granulare Dienste wie Microsoft Azure Notification Hub, Microsoft Azure Scheduler, Amazon Route 53 oder Amazon SQS, die sich nutzen lassen, um eigene Cloud-Native Applikationen zu entwickeln. Microservices lassen sich jedoch auch als Teil einer Anwendung integrieren, die in einer eigenen Umgebung betrieben wird und sich durch die Funktionalität des Microservice erweitern lässt.

• Module: Ein Modul kapselt ein Szenario für einen bestimmten Anwendungsfall ab und stellt damit eine fertige Teilanwendung zur Verfügung. Hierzu gehören bspw. Microsoft Azure Machine Learning und Amazon Kinesis. Module lassen sich wie Microservices für die Entwicklung oder die Integration von Anwendungen nutzen, bieten aber einen größeren Umfang hinsichtlich ihrer Funktionalität.

• Complete System: Bei einem Complete System handelt es sich um eine SaaS-Applikation, also eine vollständige Anwendung, die sich direkt im Unternehmenskontext nutzen lässt, aber noch mithilfe von Schnittstellen zu anderen bestehenden Systemen integriert werden muss.

Eine Cloud-Umgebung oder Cloud-Applikation greift im Multi-Cloud-Modell auf mehr als einen Cloud-Zulieferer zurück und integriert hierbei mehrere Microservices, Module und Complete Systems unterschiedlicher Anbieter. In diesem Modell entwickelt ein Unternehmen den Großteil seiner Umgebung/ Applikationen selbst und erweitert die Architektur um weitere externe Services, deren Aufwand zu groß wäre, um sie intern extra neu zu entwickeln.

Die Cloud-Supply-Chain ist ein wichtiger Bestandteil der "Digital Infrastructure Platform" (DIP) und sollte berücksichtigt werden, um von der Vielfalt unterschiedlicher Cloud-Infrastrukturen, -Plattformen und -Applikationen zu profitieren. Fertige Lösungsszenarien (Cloud Module) erleichtern es zudem, den Entwicklungsaufwand zu reduzieren und geben Anstöße für neue Ideen.

Im Video: Microservices als Architekturmuster

(Quelle: video2brain, (Trainer: Christopher Janietz)

Netflix und Spotify sind die Vorreiter der Multi-Cloud-Bewegung

Zwei Unternehmen, die den Nutzen von Multi-Cloud-Szenarien für sich entdeckt haben, sind Netflix und Spotify. Nachdem Netflix mit eigenen Rechenzentrumsressourcen begonnen hat, um sein Video-On-Demand-Angebot bereitzustellen, wurden immer mehr Funktionen auf die Cloud-Infrastruktur der Amazon Web Services (AWS) ausgelagert. Hierfür hat sich Netflix ein riesiges Set an Tools und Services entwickelt, mit denen unter anderem der hochverfügbare Betrieb der virtuellen Netflix-Infrastruktur auf der Amazon Cloud sichergestellt wird. Die sogenannte Simian Army ist Teil des Netflix OSS, eine Sammlung aller Netflix Services, die unter einer Open-Source-Lizenz zur Verfügung stehen. Der deutsche eCommerce-Anbieter Zalando geht mit seinem Framework STUPS.io einen ähnlichen Weg. Nach nun mehr sieben Jahren ist Netflix jetzt All-in mit der Amazon Cloud gegangen. Als letzte Applikationen wurden im Januar 2016 die Infrastruktur für die Abrechnung sowie die Services für das Daten-Management der Kunden und Mitarbeiter auf die AWS Cloud migriert.

Spotify gehört ebenfalls zu den Vorzeigekunden von AWS. Der Streaming-Anbieter nutzt bevorzugt den Object Storage Amazon S3, um dort die riesigen Mengen an Musikdateien zu speichern. Hinzu kommt das Content Delivery Network (CDN) Amazon CloudFront, über das die Musik dann zum Kunden gestreamed wird. Im Rahmen seiner neuen Cloud-Infrastruktur-Strategie geht Spotify nun dazu über, neben AWS auch Services von der Google Cloud Platform (GCP) einzusetzen. Mithilfe von Google BigQuery sollen die während der Nutzung entstehenden Nutzer-Daten erfasst und analysiert werden. Das Projekt soll innerhalb der kommenden 18 Monate abgeschlossen werden. Hingegen sollen die Musikdateien weiterhin in Amazon S3 gespeichert werden und über Amazon CloudFront zu den Nutzern gelangen.

Spotify baut sich somit eine Multi-Cloud-Umgebung zusammen, bestehend aus verschiedenen Services von AWS und Google. Wie Spotify dies technisch umsetzen wird, ist noch nicht bekannt. Ein anderes Unternehmen, welches sich mit Multi-Cloud-Szenarien beschäftigt, ist wieder einmal Netflix. Dessen Multi-Cloud-Lösung ist bereits fertig und nennt sich "Spinnaker".