Was ist eine Cloudarchitektur?
Cloud Computing ist in den letzten zwei Jahrzehnten schnell gewachsen – und ein Ende ist nicht in Sicht. Was mit grundlegenden SaaS- (Software as a Service) undIaaS-Angeboten (Infrastructure as a Service) begann, hat sich zu einem riesigen Ökosystem entwickelt, das aus cloudnativen Lösungen für alles von Servern bis hin zu Kubernetes-Clustern besteht.
In diesem Artikel geht es um die Cloudarchitektur (auch bekannt als Cloud-Computing-Architektur), einschließlich der Komponenten, aus denen sich die Cloudarchitektur zusammensetzt, verschiedener Cloud-Computing-Modelle, der Vorteile der Cloud und wie Sie eine fundierte Entscheidung über die Migration einer lokalen Anwendung in die Cloud treffen können.
Was ist eine Cloudarchitektur?
Also, was ist eine Cloudarchitektur? Und was ist eine Cloud-Computing-Architektur? Cloudarchitektur und Cloud-Computing-Architektur bezeichnen das Gleiche. Beide Begriffe beziehen sich auf den „Blueprint“, der das Design von Komponenten einer Cloud-Computing-Infrastruktur definiert.
Es gibt verschiedene Möglichkeiten, die Cloudarchitektur zu konzipieren. Aus der Perspektive eines Cloudservice-Anbieters umfasst die Cloudarchitektur beispielsweise:
- Hardware – dazu gehören unter anderem Bare-Metal-Server, Netzwerkgeräte und Speichergeräte
- Eine Virtualisierungsebene – dazu gehören unter anderem Hypervisoren und SDN-Komponenten (Software-Defined Networking) zur Virtualisierung physischer Ressourcen
- Eine Service-Ebene – dazu gehören unter anderem die Cloudressourcen, die der Anbieter den Nutzern bereitstellt
Für Nutzer wie Entwickler und DevOps-Ingenieure umfassen Cloudarchitekturkomponenten:
- Ein Frontendwie eine Web-Konsole, eine Programmierschnittstelle (Application Programming Interface, API), eine Befehlszeilenschnittstelle (Command-Line Interface, CLI), eine App oder ein anderer Client, der den Zugriff auf den Cloudservice ermöglicht
- Ein Backend, das die Computing-, Speicher- und Software-Ressourcen bereitstellt, die den Service ermöglichen
- Ein Netzwerk, das die Konnektivität zwischen Cloudressourcen und Services wie DNS-Auflösung bietet
Die Architektur einer Cloudumgebung soll definieren, wie alle Komponenten zusammenpassen und miteinander interagieren. In Abbildung 1 sehen wir die Architektur eines cloudbasierten Dokumentverwaltungssystems.
Wie genau diese Komponenten entworfen, implementiert und Nutzern präsentiert (oder von ihnen abstrahiert) werden, hängt vom Cloudbereitstellungsmodell und von der Art des Cloud Computingab. Zum Beispiel hat eine Webanwendung, die auf einer virtuellen Maschine in einer privaten Cloud ausgeführt wird, eine andere Architektur als eine verteilte, Kubernetes-basierte Anwendung.
Was alle Cloudbereitstellungen gemeinsam haben, ist, dass die Cloud eine Plattform ist, die ein gewisses Maß an Komplexität für den Nutzer abstrahiert. IaaS-Angebote wie Amazon Web Services (AWS) EC2-Instanzen abstrahieren beispielsweise die Komplexität in Bezug auf die Hardware. SaaS-Anwendungen wie Google Docs abstrahieren noch mehr – alles von Betriebssystemen über Middleware bis hin zur Anwendungswartung wird vor den Nutzern verborgen.
Die primären physischen Komponenten der Cloudinfrastruktur
Unter den Abstraktionsebenen hat das Cloud Computing dieselben drei primären Ebenen wie eine lokale IT-Infrastruktur.
- Computing- Ressourcen wie CPU, RAM und GPU
- Netzwerk- Ressourcen wie Netzwerkschnittstellen
- Speicher- Ressourcen wie SSDs und HDDs
Bei Modellen wie IaaS basiert die Abrechnung häufig auf dem Ressourcenverbrauch in diesen Kategorien.
Hinweis: Verwechseln Sie Cloudarchitektur nicht mit Netzwerkarchitektur. Cloudarchitektur umfasst gegebenenfalls die Netzwerkarchitektur. So können beispielsweise SD-WAN-, SDN- und DNS-Services in der Cloudarchitektur einer Unternehmensumgebung enthalten sein.
Einfache Cloudbereitstellungsmodelle: Public Cloud oder Private Cloud
Die zwei grundlegenden Cloudservicemodelle, die Sie verwenden können, sind Public Cloud und Private Cloud (Tabelle 1). Public-Cloud-Plattformen stehen der Öffentlichkeit zur Verfügung, und die Infrastruktur wird von einem Cloudserviceanbieter verwaltet. Private-Cloud-Plattformen sind für ein einzelnes Unternehmen bestimmt.
Der Vorteile von Public Cloud und Private Cloud sind Einfachheit (Public Cloud) und Kontrolle (Private Cloud). Public-Cloud-Nutzer nehmen angebotene Services einfach in Anspruch, und der Serviceanbieter übernimmt die gesamte Wartung und Bereitstellung der Infrastruktur. Dies bedeutet jedoch auch, dass Public-Cloud-Nutzer von Natur aus nur auf die vom Serviceanbieter angebotenen Funktionen zugreifen können. Darüber hinaus befinden sich die Daten in der Public Cloud in den Rechenzentren des Serviceanbieters, was sich auf Compliance und Datensouveränität auswirkt.
Umgekehrt haben Nutzer von Private Clouds die volle Kontrolle über ihre Infrastruktur und Funktionen. Der Nachteil ist, dass der Nutzer – oder ein in seinem Namen handelnder Dritter – die komplexen Vorgänge der Infrastrukturwartung, Konfiguration und des Patchens selbst übernehmen muss.
Sind Private Clouds sicherer als Public Clouds?
Im Allgemeinen bieten Private Clouds zwei Sicherheitsvorteile gegenüber Public Clouds:
- Private Clouds sind für ein einzelnes Unternehmen vorgesehen.
- Private Clouds sind im Allgemeinen nicht direkt über das öffentliche Internet zugänglich.
Aus diesem Grund wird häufig behauptet, dass Private Clouds sicherer wären als Public Clouds. Theoretisch und wenn die Unternehmen, die die Private Cloud verwalten, Die Best Practices für die Sicherheit bei der Konfiguration und Wartung anwenden, ist diese Behauptung durchaus berechtigt. Unter sonst gleichen Bedingungen ist die stärkere Isolierung der Private Cloud definitiv ein Sicherheitsvorteil.
Viele Unternehmen verfügen jedoch nicht über die unternehmensinternen Sicherheitskenntnisse und -ressourcen, um die Infrastruktur mit der gleichen Strenge zu sichern, zu patchen, zu scannen und zu verwalten wie ein wie bei Hyperscale-Cloudanbieter. Eine nicht gepatchte oder falsch konfigurierte Private Cloud kann unsicherer sein als eine Public Cloud, und Unternehmen sollten dies bei der Risikobewertung berücksichtigen..
Erweiterte Cloud-Bereitstellungsmodelle – Hybrid Cloud und Private Cloud
Neben der Public und Private Clouds gibt es noch weitere Cloud-Bereitstellungsmodelle. Das National Institute of Standards and Technology beispielsweise definiert Community-Clouds als Cloud-Infrastrukturen, „die ausschließlich für die Nutzung durch eine bestimmte Gemeinschaft von Verbrauchern aus Organisationen bereitgestellt werden, die gemeinsame Anliegen haben“. Die beiden häufigsten Bereitstellungsmodelle für erweiterte Cloudarchitekturen sind jedoch:
Hybrid Cloud: Die Kombination mehrerer Cloud-Bereitstellungsmodelle innerhalb einer Organisation. Zum Beispiel verwendet ein Team, das eine Datenbank in einer Public Cloud und einer Private Cloud repliziert, ein Hybrid-Cloud-Modell.
Multicloud: Die Nutzung mehrerer verschiedener Public-Cloud-Anbieter innerhalb einer Organisation. Zum Beispiel verwendet ein Unternehmen, das Cluster in Azure Kubernetes Service (AKS) und Amazon Elastic Kubernetes Service (EKS) ausführt, ein Multicloud-Modell.
XaaS: Die Arten von Cloud Computing
Neben den verschiedenen Bereitstellungsmodellen gibt es eine Vielzahl unterschiedlicher Cloud-Computing-Servicemodelle. Zusammenfassend werden diese Modelle als „Anything as a Service“ oder XaaS bezeichnet. Mit dem XaaS-Modell bietet ein Anbieter seinen Nutzern Cloud-Computing-Services, oft mit einer Preisgestaltung auf Abonnementbasis.
Die drei gängigsten XaaS-Servicemodelle sind Software as a Service (SaaS), Platform as a Service (PaaS) und Infrastructure as a Service (IaaS) (Abbildung 2).
Der Unterschied zwischen diesen drei Cloud-Computing-Servicemodellen liegt in der Verantwortung des Dienstanbieters und des Nutzers. In Tabelle 2 ist aufgegliedert, wer die verschiedenen Aspekte der Cloudinfrastruktur beim jeweiligen Modell kontrolliert.
IaaS-Plattformen bieten Nutzern das größte Maß an Kontrolle und sind am schwierigsten zu verwalten und zu warten. Die Nutzer sind für alles von der Auswahl eines Betriebssystems bis zum Patchen verantwortlich. Am anderen Ende des Spektrums abstrahieren SaaS-Plattformen wie Google Docs und Slack alles außer der Anwendungsebene.
PaaS-Plattformen bieten einen Mittelweg und geben dem Nutzer die Kontrolle über die Anwendungs- und Datenebene. Mit einer PaaS-Plattform haben Sie zum Beispiel möglicherweise direkten Zugriff auf eine MySQL-Datenbank. Sie sind jedoch nicht für das Patchen der zugrunde liegenden MySQL-Version oder des Betriebssystems verantwortlich.
Über IaaS, PaaS und SaaS hinaus
IaaS, PaaS und SaaS sind nur der Anfang, wenn es um Cloudservice-Modelle geht. Im letzten Jahrzehnt haben neue Cloudservice-Angebote explosionsartig zugenommen und decken inzwischen eine Vielzahl von Anwendungsfällen ab.
Hier finden Sie eine Übersicht über andere Cloudservice-Modelle, die Sie kennen sollten.
- AaaS-Plattformen (Authentication as a Service) wie Okta und Duo bieten Dienste wie Multifaktor-Authentifizierung (MFA) und Single Sign-on (SSO).
- DaaS-Plattformen (Desktop as a Service) wie Amazon Workspaces und Azure Virtual Desktop stellen verwaltete virtuelle Desktops in der Cloud bereit.
- CaaS-Angebote (Containers as a Service) wie Google Cloud Run und Microsoft Azure Container Instances (ACI) optimieren den Prozess der Bereitstellung und Verwaltung von containerisierten Anwendungen auf einer Cloudplattform.
- Managed-Kubernetes- Plattformen wie AKS und EKS stellen gehostete Kubernetes-Services für die automatisierte Orchestrierung von Kubernetes-Clustern in der Cloud bereit.
- Serverloses Computing ermöglicht einen „On-Demand“-Ansatz für das Computing-Ressourcen, der es den Nutzern ermöglicht, Funktionen auszuführen, ohne die zugrunde liegende Infrastruktur zu verwalten.
Die Vorteile von Cloud Computing
Cloud Computing ist sowohl für Verbraucher als auch für Unternehmen von Vorteil. Die wichtigsten Vorteile von Cloud Computing im Vergleich zu herkömmlichem, lokalem Computing:
- Verwaltete Infrastruktur: Die Installation, Konfiguration und Wartung von Servern, Switches, Racks, Strom- und Kühlanlagen ist teuer und zeitaufwändig. Cloudservices bieten Ihnen die Geschäftsvorteile einer Lösung, ohne dass Sie sich um die komplexe Infrastrukturverwaltung kümmern müssen.
- Flexible Ressourcen: Die Skalierung Ihrer Cloudnutzung spielt in einer Public Cloud keine große Rolle. Diese Flexibilität ermöglicht es Unternehmen, Engpässe zu vermeiden, sodass sie schnell expandieren können, ohne das Risiko einer Überinvestition in Hardware eingehen zu müssen.
- Umfassende Transparenz: Cloudplattformen sind häufig mit Transparenz-Tools und -Dashboards ausgestattet.
- Integrierte Best Practices: Serviceanbieter sind motiviert, das richtige Gleichgewicht zwischen Leistung, Sicherheit und Nutzerfreundlichkeit zu finden. Und sie können ihren Kunden die Vorteile einer Skalierung bieten. Auf diese Weise können Nutzer von den Best Practices für die Infrastruktur profitieren, indem sie einfach nur die passende Cloudplattform verwenden.
Migration in eine Cloudarchitektur
Die Einführung neuer Projekte in der Cloud ist eine Sache, aber die Migration vorhandener Workloads in die Cloud ist eine andere. Es gibt keinen allgemeingültigen Ansatz, der für jeden Anwendungsfall geeignet ist, aber Sie können eine Reihe allgemeiner Grundsätze und hilfreicher Best Practices nutzen.
- Fragen Sie sich, ob eine Cloudmigration sinnvoll ist: Nicht jede Workload muss eine Cloud-Workload sein. Erstellen Sie ein Geschäftsszenario, bei dem die Kosten der Cloudmigration gegen die Kosten der vollständigen Außerbetriebnahme der Workload oder des Verbleibs der lokalen Workload abgewogen werden.
- Wählen Sie Ihren Cloudanbieter mit Bedacht: Funktionen und Kosten sind wichtig, aber nicht alles. Berücksichtigen Sie nichtfunktionale Anforderungen, SupportService-Level Agreements und den Ruf des Anbieters bei Ihrer Entscheidung.
- Wählen Sie ein Service- und Bereitstellungsmodell, das für Sie am besten geeignet ist: Public oder Private Cloud, IaaS oder PaaS oder SaaS – alle haben unterschiedliche Vor- und Nachteile in Bezug auf Kontrolle, Funktionalität und Anbieterbindung. Bewerten Sie diese, bevor Sie sich für ein Modell entscheiden. Obwohl es beispielsweise logisch erscheinen mag, Ihren lokalen Exchange-Server auf eine vergleichbare virtuelle Maschine auf einer IaaS-Plattform zu migrieren, könnte Office 365 E-Mail (SaaS) eine bessere Lösung sein.
- Achten Sie auf Ihr Budget: Die Kosten für Clouds können sich schnell summieren. Die meisten großen Cloudanbieter haben Cloudkostenrechner, mit denen Sie praktikable Schätzungen erhalten und Überraschungen vermeiden können. Außerdem sollten Sie nach Möglichkeit Budgetwarnungen einrichten und Ihre Abrechnungen genau im Auge behalten. Führen Sie einen systematischen Ansatz zur Kostenverfolgung ein, um sicherzustellen, dass Sie Ihr Budget nicht überschreiten.
- Halten Sie immer einen Notfallplan bereit: Backups, Rollback-Pläne und Vorproduktionstests können das Risiko von Datenverlusten und Ausfallzeiten bei der Migration in die Cloud verringern. Gehen Sie bei der Migration kritischer Workloads immer auf Nummer sicher.
- Erwägen Sie die „Strangler Fig“-Anwendung für komplexe monolithische Anwendungen: Das Lift-and-Shift-Modell funktioniert nicht immer. Wenn Ihr Team komplexe monolithische Anwendungen in die Cloud verlagern muss, sollten Sie die Anwendung „Strangler Fig“ in Erwägung ziehen, um eine schrittweise Migration zu cloudnativen Microservices zu ermöglichen.
Fazit
Cloudarchitektur ist ein komplexes Thema, und es gibt noch viel mehr darüber zu lernen. Mit dem, was wir hier behandelt haben, sollten Sie jetzt jedoch ein solides Grundwissen über das Was, Warumund Wie von Cloud Computing haben.