Read in English · Leer en español · Lire en français
Abschnitt 10.1 von 10.8 · Mittelstufe · 22 Min. Lesezeit
Cloud-Service- und Bereitstellungsmodelle
Videolektion
5 Min. · auf Englisch gesprochen, mit UntertitelnNur anhören (Audio)
Transkript lesen
Wo Software läuft, gehört zu ihrer Architektur, und es ist teuer rückgängig zu machen. In dieser Lektion lernen Sie die Cloud-Service- und Bereitstellungsmodelle kennen, wer wofür verantwortlich ist und woran Sie erkennen, wann Mieten nicht die billigere Option ist.
Denken Sie daran, wie Menschen zu einer Wohnung kommen. Sie können Land kaufen und ein Haus bauen, eine leere Wohnung mieten und einrichten, eine möblierte Wohnung mieten oder im Hotel wohnen. Jeder Schritt überträgt mehr Arbeit an jemand anderen und lässt Ihnen weniger Wahl. Das Hotel ist wunderbar für eine Woche und teuer für zehn Jahre. Bei Software ist es genauso: Sie können eigene Server besitzen, nackte Maschinen mieten, eine Plattform mieten oder fertige Software mieten. Und was Sie auch wählen, Ihre eigene Tür schließen Sie weiterhin selbst ab. Ihre Daten und wer darauf zugreifen kann, bleiben Ihre Aufgabe.
Die Servicemodelle bilden ein Spektrum. Bei Infrastructure as a Service, kurz IaaS, mieten Sie virtuelle Maschinen und installieren und patchen das Betriebssystem und alles darüber weiterhin selbst. Bei Containers as a Service liefern Sie Container-Images und ihre Konfiguration. Der Anbieter betreibt die Control Plane und oft auch die Maschinen. Bei Platform as a Service, kurz PaaS, liefern Sie nur Ihren Anwendungscode und seine Konfiguration. Bei Functions as a Service liefern Sie einzelne Funktionen und die Ereignisse, die sie auslösen. Sie zahlen pro Aufruf und Laufzeit und im Leerlauf nichts. Und bei Software as a Service, kurz SaaS, mieten Sie die ganze Anwendung und konfigurieren sie. Die nützliche Frage ist nie, welches Etikett passt, sondern welche Aufgaben bei Ihnen bleiben: Patchen, Skalieren, Backups, Failover und Upgrades.
Jeder große Anbieter veröffentlicht ein Modell der geteilten Verantwortung. Der Anbieter ist für die Sicherheit der Cloud verantwortlich, Sie für die Sicherheit in der Cloud. Dieses Raster zeigt, wo die Grenze verläuft. Bei eigenen Servern, ganz links, gehört Ihnen jede Schicht, vom Rechenzentrum aufwärts. Bei IaaS übernimmt der Anbieter Rechenzentrum, Hardware und Virtualisierung. Betriebssystem, Laufzeitumgebung und Code betreiben Sie weiterhin selbst. Bei einer Plattform oder bei Funktionen verwalten Sie nur Ihren Anwendungscode sowie Ihre Daten und Zugriffe. Sehen Sie sich jetzt die oberste Zeile an. Ihre Daten, Ihre Identitäten und Berechtigungen und Ihre Konfiguration bleiben in jedem Modell bei Ihnen, selbst bei SaaS. Das ist wichtig, denn viele Cloud-Sicherheitsvorfälle waren Konfigurationsfehler der Kunden, nicht des Anbieters: für alle lesbarer Speicher, Administratorschlüssel in öffentlichen Repositorys, viel zu weit gefasste Berechtigungen.
Nun zu den Bereitstellungsmodellen. Die Public Cloud wird wegen Elastizität, Tempo und eines großen Katalogs verwalteter Dienste gewählt. Private, Hybrid und Multi-Cloud haben alle legitime Gründe, etwa Regulierung, gleichmäßige Last oder Exit-Pläne. Aber jede Arbeitslast portabel über mehrere Clouds zu betreiben, heißt, für einen Ausstieg zu zahlen, den Sie vielleicht nie nutzen. Innerhalb einer Region ist die Verteilung über Availability Zones der günstige, wertvolle Standard. Nehmen Sie drei statt zwei für alles, was auf ein Quorum angewiesen ist, damit beim Verlust einer Zone eine Mehrheit überlebt. Und Cloud-native beschreibt, wie ein System gebaut und betrieben wird, nicht wo. Eine von Hand gebaute virtuelle Maschine, unverändert in eine Public Cloud kopiert, ist nicht Cloud-native.
Vergleichen wir mit veranschaulichenden Preisen. Die Plattform braucht den ganzen Tag vierzig virtuelle CPUs und hundertzwanzig für den vierstündigen Abendansturm. On-Demand-Kapazität kostet vier Pence pro virtueller CPU-Stunde, eine dreijährige Zusage zwei Komma vier Pence. Option A mietet den ganzen Monat hundertzwanzig virtuelle CPUs, für die Spitze dimensioniert. Das sind dreitausendfünfhundertvier Pfund im Monat. Option B sagt die vierzig ständig benötigten für siebenhunderteins Pfund zu und fügt nur während des Ansturms achtzig hinzu, für dreihundertneunzig. Das sind tausendeinundneunzig Pfund, weniger als ein Drittel von Option A. Option C besitzt Hardware, die für die Spitze dimensioniert ist, zu eins Komma zwei Pence pro virtueller CPU-Stunde plus dreißig Prozent Reserve. Mit einem Viertel der Arbeitszeit einer Fachkraft sind das dreitausendvierunddreißig Pfund. Aber bei gleichmäßig zweitausend virtuellen CPUs wird Besitzen etwa sechzehn Prozent billiger als die Cloud mit Zusage. Das ist die Lage von 37signals, das seine gleichmäßigen Arbeitslasten auf eigene Server verlegt hat und Einsparungen von etwa zwei Millionen Dollar pro Jahr meldete.
Die Methode zählt mehr als die Zahlen. Modellieren Sie die Form der Last: Bei kleinen, stoßweisen Arbeitslasten gewinnt die Elastizität, bei großen, flachen kann Besitzen gewinnen. Rechnen Sie Menschen und Reserve ehrlich ein und vergleichen Sie mit dem besten Cloud-Preis einschließlich Zusagen, nicht mit dem Listenpreis. Und wählen Sie je Arbeitslast. Ein Unternehmen kann sinnvollerweise SaaS für die Gehaltsabrechnung, Funktionen für die Größenänderung von Bildern und Container für seine Kernservices nutzen.
Der vollständige Abschnitt bietet mehr zu Managed Services und Regionen und eine Entscheidungshilfe für die Wahl eines Hosting-Modells. Als Nächstes, in Abschnitt zehn Punkt zwei, geht es um Container und darum, wie Kubernetes sie am Laufen hält. Bis gleich.
Was Sie wissen müssen
- NIST SP 800-145 definiert drei Servicemodelle (IaaS, PaaS, SaaS) und vier Bereitstellungsmodelle (Public, Private, Community, Hybrid); Containers as a Service und Functions as a Service füllen die Lücken dazwischen.
- Jeder Schritt von IaaS in Richtung SaaS nimmt Betriebsarbeit und Kontrolle weg; die nützliche Frage ist, welche konkreten Aufgaben (Patchen, Skalieren, Backups, Failover, Upgrades) bei Ihnen bleiben.
- Im Modell der geteilten Verantwortung sichert der Anbieter die Cloud selbst und der Kunde das, was er in sie hineinstellt; Daten, Identitäten und Konfiguration liegen immer beim Kunden.
- Private, Hybrid und Multi-Cloud haben legitime Gründe (Regulierung, gleichmäßige Last, Migrationen, besondere Dienste, Exit-Pläne), aber jede Arbeitslast portabel über mehrere Clouds zu betreiben, ist teuer.
- Verteilen Sie Arbeitslasten auf mindestens zwei, besser drei Availability Zones; wissen Sie, ob jede Abhängigkeit zonal, regional oder global ist.
- Die CNCF definiert Cloud-native als Praktiken, um lose gekoppelte, sichere, resiliente, verwaltbare, nachhaltige und beobachtbare Systeme programmatisch und wiederholbar zu bauen; es geht um das Wie, nicht um das Wo.
- Die Cloud ist bei schwankender Last am billigsten; bei großer, gleichmäßiger Last kann eigene Hardware billiger sein, wie 37signals argumentierte, sobald Kapazitätsreserve, Personal und Rabatte für Nutzungszusagen ehrlich eingerechnet werden.
Von einer Definition zu vielen Modellen
Kapitel 0 hat Server und die Cloud eingeführt: die NIST-Definition (Special Publication 800-145, 2011) mit ihren fünf wesentlichen Merkmalen On-Demand-Selbstbedienung, breiter Netzwerkzugang, Ressourcenbündelung, schnelle Elastizität und gemessene Nutzung sowie die Idee, dass Servicemodelle mehr oder weniger vom Stack an einen Anbieter übergeben. Dieser Abschnitt vertieft diese Ideen so weit, wie ein Architekt es braucht, um zu entscheiden, wo ein System läuft, und diese Wahl zu verteidigen.
NIST definiert drei Servicemodelle (Infrastructure, Platform und Software as a Service) und vier Bereitstellungsmodelle: Public (für alle offen, im Besitz eines Anbieters), Private (für eine Organisation, egal wo sie steht und wer sie betreibt), Community (geteilt von Organisationen mit gemeinsamen Anliegen, etwa Behörden) und Hybrid (zwei oder mehr davon, so verbunden, dass Daten und Anwendungen zwischen ihnen wechseln können). Die Branche hat den Servicemodellen seitdem Functions und Containers as a Service hinzugefügt und dem Vokabular der Bereitstellung die Multi-Cloud.
Wo Software läuft, gehört zu dem, was Kapitel 1 die Zuordnungsstruktur einer Architektur genannt hat (Architektur definieren): die Abbildung von Software auf Hardware, Netzwerke und Organisationen. Bedeutsam im Sinne von Kapitel 1 ist sie, weil sie teuer rückgängig zu machen ist und weil sie einen Großteil der Kosten eines Systems festlegt, seine Verfügbarkeit, seine Sicherheitsgrenze und wie schnell seine Teams releasen können.
Servicemodelle: wer was verwaltet
Die Servicemodelle bilden ein Spektrum. Am einen Ende mieten Sie nackte Kapazität und erledigen alles darüber selbst; am anderen mieten Sie eine fertige Anwendung und konfigurieren sie nur. Jeder Schritt nach rechts nimmt Betriebsarbeit und Wahlmöglichkeiten weg. Die Tabelle ergänzt die zwei Modelle, die jünger sind als das NIST-Dokument: Containers as a Service und Functions as a Service.
Servicemodelle im Vergleich
| Modell | Sie deployen und betreiben | Der Anbieter betreibt | Beispiele | Typischer Einsatz |
|---|---|---|---|---|
| IaaS | Virtuelle Maschinen: Betriebssystem, Patches, Laufzeitumgebung, Anwendung, Skalierungsregeln | Hardware, Netzwerk, Hypervisor, Rechenzentrum | Amazon EC2, Azure Virtual Machines, Google Compute Engine | Software, die ein bestimmtes Betriebssystem oder einen bestimmten Kernel braucht, unverändert umgezogene Altanwendungen, volle Kontrolle |
| CaaS (Containers as a Service) | Container-Images und ihre Konfiguration; bei Managed Kubernetes auch die Wahl und Upgrades der Worker Nodes | Container-Control-Plane, oft auch die Nodes; bei Serverless-Containern alle Server | Amazon EKS und ECS, Azure Kubernetes Service und Container Apps, Google Kubernetes Engine und Cloud Run | Viele als Container gebaute Services, Teams, die portable Pakete wollen |
| PaaS | Anwendungscode und seine Konfiguration | Betriebssystem, Laufzeitumgebung, Skalierung, Load Balancing, oft Logging | Heroku, Azure App Service, Google App Engine, AWS Elastic Beanstalk | Standard-Webanwendungen und APIs, die zu den Konventionen der Plattform passen |
| FaaS | Einzelne Funktionen und die Ereignisse, die sie auslösen | Alles andere, einschließlich Skalierung auf null; Abrechnung pro Aufruf und Laufzeit | AWS Lambda, Azure Functions, Google Cloud Run functions, Cloudflare Workers | Ereignisgesteuerte, stoßweise oder geringvolumige Arbeit in kurzen Schritten |
| SaaS | Konfiguration, Benutzer, Berechtigungen und Ihre Daten | Die gesamte Anwendung | Microsoft 365, Salesforce, Workday, Zendesk | Generische Fähigkeiten, die das Geschäft nicht unterscheiden |
In der Praxis verschwimmen die Grenzen. Serverless-Container-Plattformen wie Google Cloud Run und Azure Container Apps führen ein Container-Image so aus, wie ein PaaS Code ausführt, und skalieren wie eine Funktion auf null. Managed Kubernetes reicht von einer gehosteten Control Plane, bei der Sie die Worker-Maschinen weiterhin selbst patchen und aktualisieren, bis zu einem vollständig verwalteten Modus, in dem der Anbieter auch die Nodes betreibt. Die nützliche Frage ist nie, welches Etikett passt, sondern welche konkreten Aufgaben bei Ihnen bleiben: Patchen, Skalierungsentscheidungen, Kapazitätsplanung, Backups, Failover, Upgrades und Rufbereitschaft.
Eine zweite nützliche Unterscheidung ist die Einheit von Deployment und Abrechnung. IaaS rechnet Maschinen pro Sekunde oder Stunde ab, ob sie ausgelastet sind oder nicht; FaaS rechnet Aufrufe und Ausführungszeit ab und kostet im Leerlauf nichts; PaaS und Serverless-Container liegen dazwischen. Kapitel 6 erklärt, warum Abrechnung pro Anfrage unterhalb eines Schnittpunkts billiger ist als ständig laufende Kapazität und oberhalb teurer (Serverless-Architekturen). Die Form der Last einer Arbeitslast, nicht ihre Größe, entscheidet, auf welcher Seite des Schnittpunkts sie liegt.
Das Modell der geteilten Verantwortung
Jeder große Anbieter veröffentlicht ein Modell der geteilten Verantwortung. AWS fasst es so zusammen: Der Anbieter ist für die Sicherheit der Cloud verantwortlich, der Kunde für die Sicherheit in der Cloud. Der Anbieter sichert Gebäude, Hardware, Netzwerk, Hypervisor und die Dienste, die er betreibt; der Kunde sichert, was er darauf baut und konfiguriert. Wo die Grenze verläuft, hängt vom Servicemodell ab, wie das Diagramm zeigt.
Wer wofür verantwortlich ist, je Servicemodell
Drei Dinge gehen nie über. Der Kunde besitzt immer seine Daten (was gespeichert wird, wo, wie lange, wer es lesen kann), seine Identitäten und Berechtigungen und die Konfiguration der Dienste, die er nutzt. Viele Cloud-Sicherheitsvorfälle gingen auf Konfigurationsfehler des Kunden zurück, nicht auf Fehler des Anbieters: für alle lesbarer Objektspeicher, Administratorschlüssel in öffentlichen Repositorys, zu weit gefasste Berechtigungen. 2019 etwa nutzte ein Angreifer bei Capital One eine falsch konfigurierte Web Application Firewall aus, um Cloud-Zugangsdaten zu erlangen und Daten zu mehr als 100 Millionen Menschen in den USA und Kanada zu kopieren; die Infrastruktur des Anbieters verhielt sich wie vorgesehen.
Für einen Architekten ist das Modell eine Checkliste von Arbeit, die jemandem zugewiesen werden muss. Verlegt ein Team die Bestelldatenbank der Essenslieferplattform von einer virtuellen Maschine in einen verwalteten Datenbankdienst, geht das Patchen der Datenbank-Engine an den Anbieter über, nicht aber die Wahl eines Wartungsfensters, das Testen von Hauptversions-Upgrades, die Vergabe von Zugriffen nach Least Privilege, das Aktivieren der Verschlüsselung und die Prüfung, ob sich Backups wiederherstellen lassen. Kapitel 8 behandelt die Sicherheitsprinzipien hinter diesen Pflichten ausführlich (Sicherheitsprinzipien für Architekten).
Bereitstellungsmodelle und die wirklichen Gründe dahinter
Organisationen wählen ein Bereitstellungsmodell selten aus nur einem Grund, und der genannte Grund ist nicht immer der wirkliche. Es hilft, die Motive, die einer Prüfung standhalten, von denen zu trennen, die es nicht tun.
Public, Private, Hybrid und Multi-Cloud
- Public CloudGewählt wegen Elastizität, Tempo (eine neue Umgebung in Minuten statt eines Hardwarekaufs über Monate), eines großen Katalogs verwalteter Dienste und globaler Reichweite. Sie passt zu schwankender Last, zu neuen Produkten mit unbekannter Nachfrage und zu Teams, die ihre Kraft lieber ins Produkt als in Server stecken.
- Private CloudGewählt wegen regulatorischer oder vertraglicher Kontrolle, vorhersehbarer gleichmäßiger Last, bestehender Investitionen in Rechenzentren oder sehr geringer Latenz zu Geräten vor Ort. Eine Private Cloud bedeutet Selbstbedienung und API-gesteuerte Bereitstellung auf dedizierter Infrastruktur (etwa mit OpenStack, VMware oder der On-Premises-Edition einer Public Cloud eines Anbieters), nicht bloß einen virtualisierten Serverraum, in dem Anfragen weiterhin über eine Ticket-Warteschlange laufen.
- Hybrid CloudMeist das Ergebnis einer schrittweisen Migration, von Daten, die vor Ort bleiben müssen (ein Hauptbuch auf dem Mainframe, Fabrik- oder Krankenhaussysteme), oder von Edge-Standorten wie Filialen und Lagern. Das Ausweichen aus einem privaten Rechenzentrum in die Public Cloud zu Spitzenzeiten (Bursting) wird oft versprochen, ist aber selten praktikabel, weil die Daten, die die Arbeitslast braucht, zurückbleiben und ihr Kopieren Zeit und Geld kostet.
- Multi-CloudDie Nutzung von zwei oder mehr Public-Cloud-Anbietern. Vertretbare Gründe sind etwa, von jedem Anbieter einen besonderen Dienst zu nutzen, Übernahmen, die auf einer anderen Cloud mitkommen, Verhandlungsmacht und Regulierung, die glaubwürdige Exit-Pläne verlangt. In der EU verlangt DORA (Verordnung über die digitale operationale Resilienz im Finanzsektor), die seit Januar 2025 gilt, von Finanzunternehmen Exit-Strategien für kritische IKT-Dienstleister. Jede Arbeitslast portabel über mehrere Clouds zu betreiben, ist ein anderes und weit teureres Ziel.
Der verbreitete Fehler ist, Multi-Cloud als abstrakte Absicherung einzuführen. Eine Arbeitslast auf zwei Anbietern identisch laufen zu lassen, heißt, nur die Dienste zu nutzen, die beide anbieten, zwei Sätze Infrastrukturcode zu bauen und zu testen, Fachwissen für beide vorzuhalten und oft Gebühren für den Datentransfer zwischen ihnen zu zahlen. Das ist die Falle des kleinsten gemeinsamen Nenners: Sie zahlen jeden Tag die Kosten der Portabilität für einen Ausstieg, den Sie vielleicht nie nutzen. Abschnitt 10.8 behandelt Lock-in als Abwägung, die zu bepreisen ist, nicht als Sünde, die um jeden Preis zu vermeiden ist (FinOps, Kostenarchitektur und Anbieter-Lock-in).
Regionen und Availability Zones als Entwurfsgrößen
Eine Region ist ein geografisches Gebiet mit einem eigenen, unabhängigen Satz von Rechenzentren; eine Availability Zone besteht aus einem oder mehreren Rechenzentren innerhalb einer Region mit eigener Stromversorgung, Kühlung und Vernetzung, so weit von den anderen entfernt, dass ein Brand, eine Überschwemmung oder ein lokaler Stromausfall nur eine trifft, und nah genug für Round Trips von höchstens wenigen Millisekunden. Kapitel 0 hat die Idee erklärt. Für den Entwurf zählen drei weitere Punkte.
Erstens hat jeder verwaltete Dienst einen Ausfallbereich: Zonale Ressourcen (eine einzelne virtuelle Maschine, ein Datenträger) fallen mit ihrer Zone aus; regionale Dienste (die meisten verwalteten Datenbanken im Multi-Zonen-Modus, Objektspeicher, Queues) repliziert der Anbieter über Zonen; einige wenige globale Dienste (DNS, Identität, manche Content-Delivery- und Load-Balancing-Dienste) erstrecken sich über Regionen, was ihre seltenen Ausfälle weitreichend macht. Zu wissen, welchen Bereich jede Abhängigkeit hat, ist der erste Schritt jeder Verfügbarkeitsanalyse (siehe Verfügbarkeit und Zuverlässigkeit).
Zweitens ist die Verteilung über Zonen der günstige, wertvolle Standard. Laufen die zustandslosen Services der Essenslieferplattform in drei Zonen hinter einem Load Balancer, mit einer Datenbank, die einen synchronen Standby in einer zweiten Zone hält, übersteht die Plattform den Verlust eines Rechenzentrums mit automatischem Failover und geringen Latenzkosten. Drei Zonen statt zwei sind wichtig für alles, was Quoren nutzt, etwa etcd in Kubernetes oder eine konsensbasierte Datenbank, denn eine Mehrheit muss überleben. Verkehr zwischen Zonen ist allerdings nicht immer kostenlos: Die meisten großen Anbieter berechnen Datenübertragung zwischen Zonen, sodass gesprächige Services, die über Zonen verteilt sind, eine sichtbare Zeile auf der Rechnung hinzufügen.
Drittens sind Regionen nicht identisch. Neueren oder kleineren Regionen fehlen womöglich Dienste, manche haben weniger Zonen, die Preise unterscheiden sich je Region, und die Rechtsordnung folgt der Region. Abschnitt 10.6 behandelt mehrere Regionen, Disaster Recovery und Datenresidenz (Multi-Region, Disaster Recovery und Edge Computing).
Managed Services oder Eigenbetrieb
Ein Managed Service ist eine Komponente (eine Datenbank, Queue, ein Cache, eine Suchmaschine, eine Kubernetes-Control-Plane), die der Anbieter für Sie installiert, betreibt, patcht, sichert und skaliert. Die Alternative ist, dieselbe Open-Source-Software selbst auf virtuellen Maschinen oder in Containern zu betreiben. Die Abwägung lautet Arbeit und Risiko gegen Kontrolle, Kosten und Portabilität.
Managed Services gewinnen, wenn die Komponente nicht differenzierend ist: Jedes Essenslieferunternehmen braucht eine zuverlässige PostgreSQL-Datenbank, aber keines gewinnt Kunden dadurch, wie es Datenbank-Patches einspielt. In der Sprache des Domain-Driven Design sind das generische Subdomänen, die man kaufen statt bauen sollte. Eine verwaltete Datenbank bietet Multi-Zonen-Failover, Point-in-Time-Recovery und Patches für Nebenversionen, die sonst ein qualifiziertes Team in Rufbereitschaft bräuchten. Der Eigenbetrieb gewinnt, wenn Sie eine Version, Erweiterung oder einen Tuning-Parameter brauchen, den der Anbieter nicht anbietet, wenn seine Limits oder Kontingente nicht passen, wenn der Aufpreis für den verwalteten Dienst im großen Maßstab hoch wird oder wenn Portabilität über Umgebungen wichtiger ist als Bequemlichkeit.
Verwaltet heißt nicht wartungsfrei. Der Anbieter erzwingt Hauptversions-Upgrades nach seinem eigenen Zeitplan, wenn alte Versionen das Ende des Supports erreichen, ändert Standardeinstellungen, setzt Kontingente, die Sie im ungünstigsten Moment entdecken, und hat Ausfälle, die Sie nicht beheben, sondern nur aussitzen können. Bei Ihnen bleiben Schemadesign, Abfrageleistung, Kapazitätsentscheidungen, Kosten und der regelmäßige Test, der beweist, dass eine Wiederherstellung funktioniert. Behandeln Sie jeden Managed Service als Abhängigkeit mit eigenen Ausfallarten und eigenen Ausstiegskosten.
Was Cloud-native bedeutet
Die Cloud Native Computing Foundation (CNCF), Teil der Linux Foundation und Heimat von Kubernetes, veröffentlicht die meistzitierte Definition von Cloud-native. Version 1.0 (2018) beschrieb Technologien, mit denen Organisationen skalierbare Anwendungen in dynamischen Umgebungen wie Public, Private und Hybrid Clouds bauen und betreiben können, und nannte Container, Service Meshes, Microservices, Immutable Infrastructure und deklarative APIs als typische Beispiele. Version 1.1, 2024 verabschiedet, verlagert den Schwerpunkt von Technologien auf Praktiken: Arbeitslasten programmatisch und wiederholbar im großen Maßstab zu entwickeln, zu bauen und zu deployen, gekennzeichnet durch lose gekoppelte Systeme, die auf sichere, resiliente, verwaltbare, nachhaltige und beobachtbare Weise zusammenwirken
.
Daraus folgen zwei Dinge. Cloud-native beschreibt, wie ein System gebaut und betrieben wird, nicht wo: Ein Kubernetes-Cluster in einem privaten Rechenzentrum, aus Code bereitgestellt und viele Male am Tag deployt, ist Cloud-native; eine von Hand konfigurierte virtuelle Maschine, unverändert in eine Public Cloud kopiert, ist es nicht. Und Cloud-native ist ein Mittel, kein Zweck. Seine Praktiken (Automatisierung, wegwerfbare Komponenten, deklarative Konfiguration, Elastizität, Observability) zahlen sich aus, wenn ein System häufige Änderungen, schwankende Last und hohe Verfügbarkeit braucht; für ein stabiles internes Werkzeug, das zwanzig Menschen nutzen, bringen sie Kosten und Komplexität.
Migrationen werden oft mit den sechs Rs beschrieben, die man kennen sollte, weil sie Erwartungen setzen: Rehost (Lift and Shift, unverändert), Replatform (kleine Änderungen wie der Umzug auf eine verwaltete Datenbank), Refactor oder Re-Architect (Neuentwurf für Cloud-nativen Betrieb), Repurchase (durch SaaS ersetzen), Retain (lassen, wo es ist) und Retire (abschalten). Rehosting geht schnell, bringt aber typischerweise wenige Vorteile der Cloud und kann, auf ständig laufenden, für die Spitze dimensionierten Maschinen, mehr kosten als das Rechenzentrum, das es verlassen hat.
Wann die Cloud nicht billiger ist
Das bekannteste Gegenbeispiel ist 37signals, das Unternehmen hinter Basecamp und HEY. Im Oktober 2022 kündigte sein Technikchef David Heinemeier Hansson den Abschied aus der Cloud an und verwies auf eine jährliche AWS-Rechnung von mehr als 3 Millionen USD für Arbeitslasten mit gleichmäßiger, vorhersehbarer Last. Das Unternehmen kaufte Dell-Server für rund 700.000 USD, stellte sie in gemietete Colocation-Flächen und zog seine Anwendungen 2023 von AWS-Rechenkapazität ab; nach eigenen Angaben senkte das seine Cloud-Rechnung um etwa 2 Millionen USD pro Jahr. 2025 kündigte es die zweite Stufe an: etwa 18 Petabyte an Dateien von Amazon S3 auf Storage-Arrays für rund 1,5 Millionen USD zu verlagern, um eine S3-Rechnung von etwa 1,5 Millionen USD pro Jahr zu ersetzen, mit dem erklärten Ziel, sein AWS-Konto zu schließen. Das Unternehmen hat Einsparungen von etwa 10 Millionen USD über fünf Jahre prognostiziert. Arbeitslasten auf diese Weise aus der Cloud zurückzuholen, nennt man Cloud-Repatriierung.
Beide Seiten verdienen Gehör. Für die Überlegungen von 37signals spricht: Die Last ist gleichmäßig, Elastizität brachte also wenig; das Unternehmen beschäftigte bereits erfahrene Betriebsfachleute und brauchte nach eigenen Angaben kein zusätzliches Personal; Colocation-Anbieter kümmern sich um Strom, Kühlung und physische Sicherheit; und Server lassen sich fünf Jahre oder länger nutzen, sodass ihre Kosten pro Rechenjahr weit unter der On-Demand-Miete liegen. Dagegen spricht: 37signals ist ein reifes Unternehmen mit vorhersehbarer Nachfrage, was die meisten neuen Produkte nicht sind; der Vergleich hängt stark davon ab, wie hoch die Cloud-Rechnung mit Rabatten für Nutzungszusagen und richtiger Dimensionierung gewesen wäre; eigene Hardware bedeutet Investitionsausgaben, Lieferzeiten von Wochen oder Monaten und im Voraus gekaufte Kapazität; und ein kleineres Team ohne tiefes Betriebswissen müsste solches einstellen, was die Einsparung zunichtemachen kann. Kritiker weisen außerdem darauf hin, dass die Zahlen zu den Einsparungen vom Unternehmen selbst stammen.
Ausgearbeitetes Beispiel
Ausgearbeitetes Beispiel: Rechenkapazität für die Essenslieferplattform mieten oder besitzen
Alle Preise sind veranschaulichende Annahmen, die die Methode zeigen sollen, keine echten Angebote. On-Demand-Cloud-Kapazität kostet £0,040 pro vCPU-Stunde; eine dreijährige Nutzungszusage kostet £0,024 (40 % Rabatt); eigene Hardware in Colocation kostet £0,012 pro vCPU-Stunde einschließlich Strom und Fläche, braucht aber 30 % Kapazitätsreserve und Personalzeit. Die Plattform braucht den ganzen Tag 40 vCPUs, im vierstündigen Abendansturm bis zu 120 vCPUs (etwa 122 Stunden im Monat). Ein Monat hat 730 Stunden.
| A: Cloud, für die Spitze dimensioniert, ständig in Betrieb | 120 vCPU × 730 h × £0,040 = £3504 pro Monat |
|---|---|
| B: Cloud, zugesagte Grundlast plus automatisch skalierte Spitze | 40 × 730 × £0,024 = £701; plus 80 × 122 × £0,040 = £390; zusammen £1091 pro Monat |
| C: eigene Hardware, für die Spitze dimensioniert | 120 × 1,3 × 730 × £0,012 = £1367; plus ein Viertel einer Fachkraft zu £80.000 pro Jahr = £1667; zusammen £3034 pro Monat |
| Jetzt größer: gleichmäßig 2000 vCPUs, keine Stoßzeit | Cloud mit Zusage: 2000 × 730 × £0,024 = £35.040. Eigene Hardware: 2000 × 1,3 × 730 × £0,012 = £22.776 plus eine Fachkraft (£6667) = £29.443, etwa 16 % billiger |
Bei einer kleinen, stoßweisen Arbeitslast dominiert die Elastizität: Option B kostet weniger als ein Drittel von Option A und etwa ein Drittel von Option C, weil sie Spitzenkapazität nur während des Ansturms bezahlt.
Bei einer großen, flachen Arbeitslast verteilen sich die Fixkosten des Besitzes auf mehr Kapazität, und Besitzen beginnt zu gewinnen – das ist die Lage von 37signals. Die Einsparung ist real, aber kleiner, als Schlagzeilenvergleiche nahelegen, sobald Kapazitätsreserve, Personal und Migrationsaufwand mitgezählt werden.
Die Methode zählt mehr als die Zahlen: Modellieren Sie die Form der Last, rechnen Sie Menschen und Kapazitätsreserve ein, vergleichen Sie mit dem besten Cloud-Preis (mit Zusagen), nicht mit dem Listenpreis, und wiederholen Sie die Rechnung, wenn sich das Geschäft ändert.
Entscheidungshilfe
Entscheidungshilfe: ein Hosting-Modell für eine Arbeitslast wählen
Wenden Sie sie je Arbeitslast an, nicht einmal für die ganze Organisation: Ein einzelnes Unternehmen nutzt sinnvollerweise SaaS für die Gehaltsabrechnung, Funktionen für die Größenänderung von Bildern und Container für seine Kernservices.
- Ist die Fähigkeit generisch, mit einem Produkt am Markt, das gut genug passt (E-Mail, Gehaltsabrechnung, CRM, Zahlungen)?JaKaufen Sie SaaS und integrieren Sie es über seine API; stecken Sie den Entwurfsaufwand in die Integration und den Exit-Plan.NeinWeiter: Sie müssen eigene Software betreiben.
- Schließen Recht, Vertrag oder physischer Standort die Public Cloud für diese Arbeitslast aus (strenge Souveränitätsregeln, Geräte vor Ort, Regelkreise im Millisekundenbereich)?JaNutzen Sie eine Private Cloud, Colocation oder ein Edge-Deployment vor Ort, verbunden mit Public-Cloud-Diensten als Hybrid, wo erlaubt.NeinWeiter mit Optionen in der Public Cloud.
- Ist die Arbeit ereignisgesteuert, kurzlebig und stoßweise oder von geringem Volumen (Webhooks, Dateiverarbeitung, geplante Jobs)?JaNutzen Sie Functions as a Service oder eine Serverless-Container-Plattform; prüfen Sie Grenzen bei Kaltstart, Laufzeit und Kosten bei hohem Volumen.NeinWeiter: Das ist ein lang laufender Service.
- Passt das Modell eines PaaS oder einer Serverless-Container-Plattform (zustandsloser HTTP-Service, Standard-Laufzeitumgebung, wenige Sonderwünsche)?JaNutzen Sie es. Das nimmt einem kleinen Team die meiste Betriebsarbeit ab.NeinWeiter: Sie brauchen mehr Kontrolle.
- Betreiben Sie viele Services über mehrere Teams und haben (oder finanzieren) Sie ein Team, das Kubernetes betreiben kann?JaNutzen Sie Managed Kubernetes (CaaS), idealerweise hinter einer internen Plattform (Abschnitt 10.7).NeinNutzen Sie virtuelle Maschinen mit verwalteten Datenbanken und Autoscaling-Gruppen, aus Infrastrukturcode gebaut.
- Ist die Last groß, gleichmäßig und über Jahre vorhersehbar, mit Betriebswissen im eigenen Haus?JaStellen Sie eigene oder per Colocation betriebene Hardware den Kosten zugesagter Cloud-Kapazität gegenüber; Repatriierung kann sich lohnen.NeinBleiben Sie bei gemieteter Kapazität und nutzen Sie Rabatte für Nutzungszusagen für die gleichmäßige Grundlast.
Prüfen Sie Ihr Verständnis
Ein Team verlegt seine Datenbank von einer selbst betriebenen VM in einen verwalteten Datenbankdienst. Nennen Sie zwei Verantwortlichkeiten, die an den Anbieter übergehen, und zwei, die beim Team bleiben.
Der Anbieter übernimmt das Patchen der Engine, die Hardware und meist automatische Backups und Zonen-Failover. Das Team behält Schema- und Abfragedesign, Zugriffsberechtigungen, Entscheidungen zur Verschlüsselung, Kapazität und Kosten, das Testen von Wiederherstellungen und die Planung von Hauptversions-Upgrades.
Warum bevorzugt ein quorumbasiertes System wie etcd drei Availability Zones statt zwei?
Ein Quorum braucht eine Mehrheit. Bei zwei Zonen stoppt der Verlust der Zone mit der Mehrheit das System; bei drei kann jede einzelne Zone ausfallen, und eine Mehrheit überlebt.
Ist eine von Hand gebaute virtuelle Maschine, unverändert in eine Public Cloud kopiert, Cloud-native?
Nein. Cloud-native beschreibt Praktiken wie Automatisierung, deklarative Konfiguration, wegwerfbare Komponenten und Observability, nicht einen Ort. Rehosting verlegt das System, ohne diese Praktiken zu übernehmen.
Warum kann dieselbe Organisation sinnvollerweise SaaS, Funktionen und Kubernetes gleichzeitig nutzen?
Das Hosting-Modell sollte je Arbeitslast gewählt werden: Generische Fähigkeiten werden als SaaS gekauft, stoßweise ereignisgesteuerte Aufgaben passen zu Funktionen, und lang laufende Kernservices können Container auf Kubernetes rechtfertigen.
Quellen und weiterführende Literatur
Haben Sie eine Frage zu diesem Abschnitt? ArchitectBot, der KI-Lernassistent des Kurses, antwortet zuerst aus dem Kurs.
Fragen: „Wie entscheide ich, ob unsere Essenslieferservices auf einem PaaS, auf Serverless-Containern oder auf Managed Kubernetes laufen sollten?“