Cloud-Native - Wichtiger Faktor einer erfolgreichen Cloud Strategie
//
Cloud Transition & Transformation, Hybrid Cloud, IT & Management Consulting
Wer zum Thema Cloud-Computing recherchiert, wird von Fachbegriffen wie „Hybrid“, „DevOps“ und „Kubernetes“ überschüttet. Die Begriffe „Cloud-Native“ oder auch „Cloud-Readiness“ werden dabei meist als kritische Erfolgsfaktoren einer Cloud-Strategie definiert. Aber was bedeuten diese Begriffe eigentlich? Und welche Mentalität geht damit einher?
Das Cloud-Computing-Modell
Bevor eine Cloud-Strategie überhaupt entstehen kann, sollte zunächst das Service Modell und die zugrundliegende Mentalität hinter Cloud-Computing vollständig verstanden sein. Hierzu wird häufig die Analogie "Pets vs Cattle" verwendet:
„Auf die traditionelle Art und Weise behandeln wir unsere Server wie Haustiere, wie etwa Bob, den Mailserver. Wenn Bob ausfällt, heißt es alle Mann an Deck. Denn der Geschäftsführer erhält seine E-Mail nicht mehr und der Weltuntergang droht. Auf die neue Art und Weise werden Server wie die Nutztiere in einer Herde nummeriert, wie zum Beispiel www001 bis www100. Wenn ein Server jetzt ausfällt, dann wird er herausgenommen, eliminiert und ersetzt.“
Randy Bias (zitiert nach: https://www.meshcloud.io/de/2017/02/09/pet-vs-cattle/)
Natürlich ist es mit der Namenskonvention nicht getan. Vielmehr geht es bei Cloud-Computing darum, Anwendungen bzw. Services unabhängig von der zugrundeliegenden Plattform bzw. Infrastruktur zu machen, agil sowie kostenoptimiert zu entwickeln und die Vorteile des Cloud-Computing-Modells voll auszuschöpfen.
Pets (Haustiere)
Erbe - Infrastruktur
Haustiere erhalten Namen wie grumpycat.petstore.com.
Sie sind einzigartig und werden liebevoll von Hand aufgezogen und gepflegt. Wenn sie krank werden, pflegst du sie wieder gesund.
- Die Infrastruktur ist ein fester Bestandteil des Rechenzentrums.
- Es dauert Tage, eine Infrastruktur aufzubauen, sie wird wöchentlich gewartet, über Jahre hinweg instand gehalten und erfordert Migrationsprojekte, um umzuziehen.
- Die Infrastruktur wird während der Wartungszeiten geändert und erfordert in der Regel besondere Privilegien wie den Root-Zugang.
- Für die Infrastruktur sind mehrere Teams erforderlich, um die gesamte Umgebung zu koordinieren und bereitzustellen.
- Die Infrastruktur ist statisch, so dass überschüssige Kapazitäten für die Nutzung in Spitzenzeiten der Nachfrage stillgelegt werden müssen.
- Infrastruktur ist eine Investitionsausgabe, die unabhängig vom Nutzungsverhalten einen festen Betrag kostet.
Cattle (Rinder)
Cloud-fähig - Infrastruktur
Die Rinder erhalten Nummern wie 10200713.cattlerancher.com.
Sie sind fast identisch mit anderen Rindern. Wenn sie krank werden, ersetzt man sie und holt sich ein neues.
- Die Infrastruktur ist zustandslos, kurzlebig und vergänglich.
- Die Infrastruktur wird mithilfe automatisierter Skripte in Minutenschnelle instanziiert, geändert, zerstört und neu erstellt.
- Die Infrastruktur verwendet versionskontrollierte Skripte, um jeden Dienst zu ändern, ohne dass Root-Excess oder privilegierte Logins erforderlich sind.
- Die Infrastruktur ist selbstbedienbar und ermöglicht die Bereitstellung von Rechen-, Netzwerk- und Speicherdiensten mit einem einzigen Mausklick.
- Die Infrastruktur ist elastisch und skaliert automatisch, d. h. sie wird bei Bedarf erweitert und verkleinert, um Nutzungsspitzen zu bewältigen.
- Bei der Infrastruktur handelt es sich um eine Betriebsausgabe, die nur dann in Rechnung gestellt wird, wenn die Leistungen in Anspruch genommen werden.
Tabellarische Übersichten nach Drew Firment: https://cloudrumblings.io/cloud-farm-pets-cattle-unicorns-and-horses-85271d915260
Die Einteilung der IT-Infrastruktur nach Pets und Cattle ist natürlich nur eine Analogie. Dennoch ist es eine gute Methode zur ersten Einschätzung, inwieweit die Organisation bereit für die Cloud ist und von Cloud Services profitieren kann. Für eine erfolgreiche Cloud-Strategie sind daher die einzelnen IT-Services und die darunterliegenden IT-Systeme auf ihre Cloud-Readiness in Bezug auf die Wahl geeigneter Dienste und einem Architekturmuster zu prüfen. In der Zielarchitektur sollte dann möglichst auf eine Cloud-basierte Architektur geachtet werden, die den angestrebten Zielen und Anforderungen der Organisation entspricht.
Cloud-Native Architektur - Die Verantwortung verschiebt sich zur Anwendungsebene
Typisch für eine Cloud-Native Architektur ist die Verwendung von Containern und einer Microservice Architektur. Hierbei wird jeder Teil einer Anwendung, also beispielsweise Services oder Prozesse, in einen eigenen Container verpackt. Die einzelnen Container bzw. Microservices werden dann dynamisch orchestriert, um eine optimale Ausnutzung der zugrundeliegenden IT-Infrastruktur sicherzustellen. Dabei verschiebt sich die Verantwortung zunehmend auf die Anwendungsebene und die darunter liegende Infrastruktur wird zur austauschbaren Arbeitsmaschine (Cattle).
Durch die Verwendung einer Microservice Architektur (Cattle) anstatt einer klassischen Monolithic Architektur (Pets) ergeben sich Optionen zur Kosteneinsparung, da sich die Cloud Computing Vorteile vollkommen ausnutzen lassen. So besteht eine klassische Monolithic Architektur (Pets) meist aus einem Applikationsserver und einer Datenbank. Da die meisten Anwendungen selbst nicht hochverfügbar sind, muss die zugrundeliegende IT-Infrastruktur hochverfügbar sein, was wiederum mit höheren Kosten für die Infrastruktur einher geht. Auch ist im Falle einer höheren Auslastung nur eine vertikale Skalierung (Scale up) möglich, also die Erweiterung der einzelnen Instanz/Server, da die meisten Monolithic Anwendungen zustandsbehaftet sind.
Da die Microservice Architektur (Cattle) wie schon bereits erwähnt aus einer Vielzahl von Containern besteht, sind diese unabhängig von der Plattform. Im Falle einer veränderten Auslastung können Microservices wiederum eine horizontale Skalierung (scale out) nutzen, hierbei wird nicht die einzelne Instanz erweitert, sondern zusätzliche separate Instanzen bereitgestellt, da Microservices in diesem Fall meist zustandslos sind.
Durch die Verwendung von Microservices bzw. Containern können Anwendungen über Plattformgrenzen hinweg - etwa in Multi-Cloud-Umgebungen - eingesetzt werden. Weitere Cloud-Services für Server, Speicher, Datenbanken, Netzwerkkomponenten, Software, Analyse- und KI-Funktionen lassen sich so ebenfalls effizient integrieren, was wiederum einen positiven Effekt auf die Kosteneffizienz im Cloud Betrieb hat. Das grundlegende Ziel besteht darin, eine hoch verfügbare skalierbare Umgebung bereitzustellen und gleichzeitig auch die Performance zu verbessern sowie die Kosten zu senken.
Cloud-Native - Nicht den Anschluss verlieren
Gemäß einer Umfrage von 2020 geben ca. 2/3 der befragten Unternehmen an, dass Cloud-Native in wenigen Jahren einen hohe bis sehr hohen Bedeutung haben wird. Ebenfalls gaben 63 % an, bereits Cloud-Native Anwendungen einzusetzen. Laut dieser Umfrage ist der Mehrheit der Unternehmen die Tragweite des Themas also bereits bewusst.
In unseren diversen Cloud Projekten, die wir als noventum consulting bereits begleiten durften, mussten wir jedoch feststellen, dass die meisten Services, welche in die Cloud migriert werden, nicht Cloud-native sind und daher die Vorteile der Cloud nur eingeschränkt nutzen. Vielmehr versuchen Unternehmen Ihre bestehende IT-Architektur (Pets) in der Cloud abzubilden (Lift&Shift), was wiederum häufig die Vorteile und Kostenersparnisse des Cloud-Computing-Modells zunichtemacht.
Bevor Sie also einzelnen Services in die Cloud verschieben, sollten Sie die zugrundeliegende IT-Architektur zunächst kritisch auf Ihre CloudReadiness und Optimierungspotenziale hin überprüfen.
Cloud Readiness betrifft die gesamte Organisation
Durch die wachsende Bedeutung von Cloud-Lösungen und die Verschiebung der Verantwortung auf der Anwendungsebene sollte im Rahmen der Cloud Strategie die gesamte Organisation auf den Prüfstand gestellt werden.
Folgende Punkte sollten hierbei besonders betrachtet werden:
1. IT-Organisation und Verantwortlichkeiten
Abhängig vom Ausmaß der Auslagerung in die Cloud sind Service Prozesse und Verantwortlichkeiten neu zu regeln. Durch die Verlagerung der Verantwortung auf die Anwendungsebene müssen die jeweiligen Anwendungsverantwortlichen neue Funktionen übernehmen. Hierdurch kann es zu einer Verlagerung der Zuständigkeit von der IT zu den Fachabteilungen kommen. Innovationen der verschiedenen Cloud-Plattformen (z.B. Big Data; Machine Learning; Continuous Delivery) sollten ebenfalls analysiert und ggf. im Geschäftsmodell berücksichtigt werden.
2. Service-Management-Prozesse
Da in der Public Cloud der Fokus auf Self-Service und Automatisierung liegt, hat dies auch Einfluss auf die Service Prozesse. Daher müssen im Rahmen einer Cloud Migration auch die gesamten Service-Management- und Lifecycle-Prozesse überarbeitet werden. So verschiebt sich beispielsweise bei Software as a Service (Saas) die Verantwortung für die IT-Infrastruktur vom Kunden hin zum Cloud-Anbieter. Hierdurch entfällt etwa das Asset-, Configuration- oder Lizenz-Management für den Kunden. Anderseits sind Incident- und Problem-Management sowie Request Fulfillment an die Besonderheiten der Cloud-Anbieter anzupassen. Insbesondere Requests und Incidents müssen innerhalb eines durchgängigen Workflows vom Anwender über die (steuernde) IT-Organisation bis zum Cloud-Anbieter weitergeben werden. Durch Self-Service- und On-Demand-Dienste muss die gesamte Service Organisation ebenfalls agiler aufgestellt werden. Dieser Trend hin zur agileren IT-Organisation zeigt sich ebenfalls in den Änderungen von ITIL V3 zu ITIL V4.
3. Cloud Know-how im Unternehmen
Um den ständig wachsenden Anforderungen des Marktes gerecht zu werden, benötigen IT-Unternehmen, die wettbewerbsfähig bleiben wollen, konkurrenzfähige Technologien und Arbeitsmethoden. Die Nutzung von Cloud-Native und damit die Verlagerung der Betriebsprozesse in die Cloud erfordern nicht nur ein umfangreiches Know-how über Container-Techniken und Microservices, sondern auch agile Methoden und DevOps-Konzepte. Insbesondere bei komplexen Transitionen & Transformationen (Hybrid Cloud & Multi-Cloud) ist neben technischem Wissen auch die nötige Methodenexpertise notwendig.
4. IT -Sicherheit und Compliance
Neue Technologieansätze wie bspw. Container- oder Serverless-Umgebungen erfordern ein Cloud-Native angepasstes Sicherheitskonzept. Hierbei sind insbesondere der Datenschutz (DSGVO) sowie andere gesetzliche oder regulatorische Anforderungen des auslagernden Unternehmens zu beachten. Insbesondere Prüfungspflichten des Unternehmens gegenüber dem Cloud-Provider sind kritisch und müssen vertraglich festgehalten werden. Neben den gesetzlichen Anforderungen sind ebenfalls sicherheitsrelevante Aspekte für eine Cloud-Auslagerung relevant und sollten bereits bei der Cloud Strategie berücksichtigt werden. Als besonders relevante Aspekte sind das Identity- & Access Management (IAM), der Datenschutz sowie die Netzwerksicherheit zu nennen. Die Unterschiede zwischen den einzelnen Cloud-Providern sollten dabei berücksichtigt werden. IT-Sicherheit-Standards wie der Kriterienkatalog C5 (Cloud Computing Compliance Criteria Catalogue) des BSI, CIS Benchmarks sowie die ISO/IEC-27000-Reihe geben klare Rahmenbedingungen für einen sicheren Cloud-Betrieb vor und sollten ebenfalls inkludiert werden.
Fazit
Der Erfolg einer Auslagerung von IT-Services in die Cloud wird bereits bei der Auswahl der passenden Cloud-Strategie entschieden. Als kritische Erfolgsfaktoren sind hierbei insbesondere die Cloud-Readiness der eigenen IT-Architektur sowie der eigenen Organisation zu nennen.
Die sinnvolle Integration von Cloud-Native, wie Microservices und die Ablösung von Legacy IT-Systemen unter Berücksichtigung der individuellen Anforderungen, ist dabei maßgeblich für den Erfolg, da nur so die Vorteile des Cloud-Computing vollständig ausgenutzt werden können. Gerade die Vorteile Kosteneffizienz und Skalierung werden durch die Auswahl der Architektur beeinflusst.
Neben der IT-Architektur sind ebenfalls die Organisation und Prozesslandschaft im Falle einer Auslagerung in die Cloud zu evaluieren. Insbesondere die Verlagerung der Verantwortung auf die Anwendungsebene führt zu neuen Zuständigkeiten und Arbeitsweisen, welche innerhalb eines Unternehmens geregelt sein müssen. Abhängig vom Umfang der Auslagerung kann es zu tiefgreifenden Änderungen der gesamten Aufbau- und Ablauforganisation kommen. Durch Self-Service und On-Demand-Dienste wird der Bedarf nach einer agilen Organisation ebenfalls verschärft.
Weitere Komplexität entsteht durch etwaige regulatorische, gesetzliche und sicherheitsrelevante Anforderungen, welche innerhalb des gesamten Vorhabens berücksichtigt werden müssen.
Da insbesondere bei der ersten Auslagerung in die Cloud viele Grundlagenentscheidungen für die zukünftige Architektur getroffen werden, sollten alle wichtigen Aspekte von Anfang an inkludiert werden. Eine spätere Änderung der Architektur im Betrieb ist häufig mit einem hohen Aufwand und Kosten verbunden. Speziell bei komplexen Migrationen wie Hybrid-Cloud oder Multi-Cloud Vorhaben ist sowohl technisches Wissen als auch Methodenexpertise notwendig. Die meisten Unternehmen greifen daher auf externen Spezialisten zurück.
noventum consulting GmbH
Münsterstraße 111
48155 Münster