Angesichts der weltweiten Pandemie mussten viele Unternehmen auf Veränderungen im Kundenverhalten, in der Branchenregulierung und in den Entwicklungspartnerschaften reagieren.
Die Umwandlung einer Plattform, die diesen Veränderungen gerecht werden soll, muss durch klare Ziele motiviert sein:
- Kurze Markteinführungszeit - Zeitnahe Umsetzung, um die veränderten Anforderungen der Wirtschaft zu erfüllen und auf sich bietende Chancen reagieren zu können.
- Förderung des zukünftigen Wachstums - Design zur Förderung des zukünftigen Wachstums, ohne dass erhebliche Änderungen erforderlich sind. Es ist nicht mehr notwendig, die Anschaffung und Integration von Hardware zu planen.
- Anpassungsfähigkeit an den Markt - Flexiblere und skalierbare Lösung zur Bewältigung der sich ändernden und schwankenden Marktanforderungen.
- Widerstandsfähigkeit und Verfügbarkeit - Widerstandsfähigkeit gegenüber Fehlern/Ausfällen in der entstandenen Lösung. Hohe Verfügbarkeit und die Fähigkeit, in einem einwandfreien Zustand und ohne erhebliche Ausfallzeiten zu arbeiten.
- Sicherheit - Hohe Sicherheit zur Erfüllung von Compliance-Anforderungen und zum Schutz von Kunden- und geschützten Daten sowie des guten Rufs.
Um diese Ziele zu erreichen, muss man eine Strategie entwickeln. Diese beginnt mit der Auswahl eines Cloud-Anbieters, sei es eine private Cloud oder eine der Hyper-Scaler Public Clouds. Eine solche Wahl ist leichter zu treffen, nachdem man kleinere innovative Cloud-basierte Projekte durchgeführt hat, wodurch das Feedback aus diesen konkreten Erfahrungen in die Entscheidungsfindung einfließt.
Mit der Entscheidung für einen Hyper-Scaler-Cloud-Dienstleister steht eine weitere strategische Option zur Verfügung: der Vorzug von Platform-as-a-Service (PaaS) gegenüber Infrastructure-as-a-Service (IaaS). Dies ermöglicht es dem Entwicklungsteam, sich auf das Wesentliche zu konzentrieren: die Mehrwertfunktionen für das Unternehmen.
Ein weiteres Schlüsselelement der Strategie ist die Isolierung der einzelnen Geschäftsbereiche durch die Einführung einer Microservices-Architektur, die sowohl technische als auch organisatorische Skalierbarkeit ermöglicht.
Die Lösung
Die Markteinführungszeit wird durch regelmäßige und häufigere Veröffentlichungen verkürzt. Die Abstände zwischen den einzelnen Veröffentlichungen betragen nun nicht mehr Monate, sondern zwei Wochen in einem kontinuierlichen Rhythmus. Bei kürzeren Entwicklungszyklen werden Änderungen früher getestet. Dies wird durch Infrastructure as Code und Continuous Integration / Continuous Deployment ermöglicht.
- Infrastructure as Code (IaC)
Um den Betrieb der Cloud-nativen Umgebungen zu beschleunigen und Konsistenz zu gewährleisten, wird die Infrastruktur über IaC bereitgestellt und konfiguriert. Der gewünschte Zustand der Cloud-Infrastruktur wird über Code definiert, im Gegensatz zu manuellen Prozessen oder komplexen imperativen Skripten.
- Kontinuierliche Integration/kontinuierliche Bereitstellung (CI/CD)
Sowohl die IaC als auch der Anwendungscode für jeden Microservice werden kontinuierlich über DevOps-Pipelines integriert und bereitgestellt. Diese Pipelines ermöglichen mehr als nur die Erstellung der Code-Artefakte und deren Bereitstellung. Sie eignen sich gut für die Steuerung zusätzlicher automatisierter Prüfungen wie Code-Analyse für Qualität, Unit-Tests für Funktionalität, statische Anwendungssicherheitstests (SAST), dynamische Anwendungssicherheitstests (DAST), Integrationstests, Leistungs- und Lasttests.
Dieser Ansatz ermöglicht den Fokus auf Qualitäts- und Sicherheitsaspekte zu einem früheren Zeitpunkt im Entwicklungszyklus, was dazu beiträgt, das Risiko von Schwachstellen und Mängeln im Endprodukt zu verringern. Dies führt zu einer qualitativ besseren Lösung, die die Sicherheitsstandards erfüllt und den Anforderungen der Benutzer gerecht wird.
- Hyper-Skala
Durch den Einsatz eines Hyper-Scalers, eines großen Cloud-Service-Anbieters, der Rechen-, Speicher- und andere Dienste im Unternehmensmaßstab bereitstellen kann, lässt sich unsere Cloud-native Lösung schnell skalieren, um der sich ändernden Nachfrage gerecht zu werden. Cloud-Ressourcen können bei Bedarf einfach neu konfiguriert oder bereitgestellt werden, ohne dass ein langwieriger und kostspieliger Prozess der Anschaffung, Einrichtung und des Hostings zusätzlicher Hardware erforderlich ist.
Ein Hyper-Scaler hilft uns auch, eine hohe Verfügbarkeit und Ausfallsicherheit zu erreichen, indem er uns Datenzentren mit hochredundanter Hardware bietet, die selbst Redundanzen aufweisen. Anbieter wie Azure und AWS bieten mehrere Verfügbarkeitszonen an, d. h. verschiedene Zonen, die so konzipiert sind, dass sie von Ausfällen isoliert sind. Um den Ausfall einer Verfügbarkeitszone in einer Region abzufedern, können die Daten und Workloads daher in mehreren anderen Verfügbarkeitszonen repliziert werden.
Azure bietet beispielsweise zwei Regionen innerhalb der Schweiz an, um die verfügbare Redundanz innerhalb desselben Landes zu maximieren. Im Normalfall kann die Azure-Region Schweiz West für die Disaster Recovery von Workloads in der Schweiz Nord verwendet werden.
- Domain Driven Design
Ein Domain Driven Design-Ansatz erleichtert die Anpassungsfähigkeit an den Markt, indem die technische Implementierung auf die Geschäftsdomäne abgestimmt wird. Dies führt dazu, dass jede Geschäftsdomäne als separater Service implementiert wird, der unabhängig von einem spezialisierten Team erbracht wird. Diese spezialisierten Teams können in ihrer Größe variieren, je nachdem, was der jeweilige Bereich erfordert, um die organisatorische Skalierbarkeit zu gewährleisten. Daher basiert die Lösung auf einer Mikro-Service-Architektur, bei der jeder Dienst unabhängig skaliert werden kann.
- API-Verwaltung
Diese Mikrodienste werden über ein API-Gateway zur Verfügung gestellt, auf dem wir die APIs veröffentlichen, die jeder Bereich anbietet. Ein Katalog und eine technische Dokumentation für diese APIs erleichtern die Auffindbarkeit dieser Dienste. Darüber hinaus werden übergreifende Anliegen wie Token-Validierung, Zwischenspeicherung, Einschränkung und Handhabung der Nichtverfügbarkeit von Diensten über Richtlinien verwaltet.
- Überwachung
Die Überwachung der vielen Komponenten einer Cloud-nativen Lösung ist unerlässlich, um operative Höchstleistungen zu erzielen, Probleme zu beheben und die Sicherheit zu gewährleisten. Dies erfolgt mit dem integrierten Überwachungsdienst des Cloud-Dienstes, der es uns ermöglicht, den Zustand, die Abhängigkeiten und die Leistung der gesamten Lösung zu überwachen und bei ungewöhnlichen Zuständen gewarnt zu werden.
- Sicherheit
Zusätzlich zur Überwachung der Lösung wird eine Lösung zur Erkennung von Bedrohungen eingesetzt. Diese ermöglicht es uns, potenzielle Sicherheitsbedrohungen proaktiv zu erkennen und Maßnahmen zu ergreifen, um sie zu verhindern oder abzuschwächen, bevor sie Schaden anrichten können.
Die Überwachung ist wichtig für eine gute Sicherheit, ist aber nur ein Teil des gesamten Sicherheitskonzepts. Allgemeine Best Practices für die Cloud-Architektur und die vom Hyper-Scaler empfohlenen Best Practices werden bei der Konzeption und Implementierung berücksichtigt.
Platform as a Service funktioniert nach einem Modell der geteilten Verantwortung, bei dem der Cloud-Service-Anbieter für die Sicherung der zugrunde liegenden physischen Hardware, des Netzwerks und der Software verantwortlich ist. Diejenigen, die auf diesen Diensten aufbauende Lösungen entwerfen, entwickeln und betreiben, sind für die ordnungsgemäße Konfiguration, die Verwaltung des Zugriffs, die Sicherung der Arbeitslasten und andere Aspekte verantwortlich, die vom jeweiligen Dienst abhängen.
Vorteile
ELCA hat kürzlich ein Unternehmen aus dem Gaming-Bereich bei der Modernisierung seiner Online-Plattform zu einer Cloud-Native-Lösung auf Azure unterstützt.
Der Vorteil der Implementierung dieser Elemente in eine Lösung ist die Reduzierung der betrieblichen Komplexität, was zu einem kleineren Betriebsteam führt. Der Kunde erhält außerdem einen stärker standardisierten Aufbau, wodurch die Bindung an Integrationspartner verringert wird. Durch die Verlagerung von Arbeitslasten und die Nutzung eines Cloud-Service-Anbieters profitiert die Lösung von den Kenntnissen und Fähigkeiten des Anbieters in den Bereichen Sicherheit und Commodities-as-a-Service (Datenbank, Compute, Storage, Monitoring, ...).
Die neue Lösung bietet auch eine verbesserte Elastizität, so dass sie sich an die kurz- oder langfristigen Geschäftsanforderungen anpassen lässt. Und durch die Entscheidung für eine Microservices-Architektur wird diese Elastizität mit einer großen organisatorischen Flexibilität kombiniert. So kann sich jede Geschäftsdomäne weiterentwickeln und neue Domänen können schnell hinzugefügt werden, während die Teams, die diese Domänen entwickeln, auch organisatorisch wachsen und sich weiterentwickeln können, je nach Bedarf.
Schlussfolgerung
Die weltbewegenden Ereignisse der letzten Jahre haben viele Branchen stark beeinflusst. Der Umstieg auf eine Cloud-Native-Lösung bietet kurz- und langfristig viele Vorteile, darunter die Möglichkeit, besser auf künftige unerwartete Ereignisse vorbereitet zu sein.
Philippe Cuvecle
Lead Architect
Lernen Sie Philippe Cuvecle kennen, unseren auf cloud transformation und cloud-native architectures spezialisierten Lead Architect. Kontaktieren Sie Philippe, um zu besprechen, wie er Ihre Cloud-Transformation-Initiativen vorantreiben kann.