Auch genannt: IaaS
Infrastructure as a Service, meist IaaS genannt, ist ein Cloud-Service-Modell für grundlegende IT-Ressourcen. Statt eigene Server, Speicher und Netzwerkkomponenten zu kaufen und im Rechenzentrum zu betreiben, stellt ein Anbieter diese Ressourcen über ein Netz bereit. NIST beschreibt IaaS als Bereitstellung von Rechenleistung, Speicher, Netzwerken und weiteren grundlegenden Ressourcen, auf denen Kundinnen und Kunden beliebige Software einschließlich Betriebssystemen und Anwendungen ausführen können.NIST: SP 800-145
Der Begriff meint nicht einfach „einen Computer im Internet“. Entscheidend ist die Arbeitsteilung: Der Cloud-Anbieter betreibt die physische Basis und die Virtualisierung. Das nutzende Unternehmen konfiguriert dagegen die virtuelle Infrastruktur und trägt Verantwortung für das, was darauf läuft. IaaS ist daher besonders sinnvoll, wenn Teams Betriebssystem, Netzkonfiguration oder eingesetzte Software selbst bestimmen müssen, aber keine eigene Hardware betreiben wollen.
Zu IaaS gehören typischerweise virtuelle Maschinen, virtueller Speicher und virtuelle Netzwerke. Eine virtuelle Maschine bildet einen eigenständigen Rechner nach: Sie erhält etwa Rechenkapazität, Arbeitsspeicher, ein Betriebssystem und eine oder mehrere virtuelle Netzwerkschnittstellen. Speicher kann als Blockspeicher an eine Maschine gebunden sein oder als separater Dienst bereitstehen. Dazu kommen Netze, IP-Adressen, Firewall-Regeln und Möglichkeiten, Systeme in getrennte Umgebungen zu gliedern.
Diese Ressourcen werden nicht zwingend einzeln per Hand eingerichtet. Häufig beschreibt ein Team die gewünschte Infrastruktur in Konfigurationsdateien oder verwaltet sie über eine Programmierschnittstelle. Das ändert aber nicht den Charakter des Modells: Die Bausteine bleiben relativ nah an Servern, Datenträgern und Netzwerken. Google nennt für IaaS den bedarfsgesteuerten Zugang zu Servern, virtuellen Maschinen, Netzressourcen, Speicher und Virtualisierung.Google Cloud: What is IaaS?
Cloud Computing umfasst nach NIST einen gemeinsamen Pool konfigurierbarer Ressourcen, der rasch bereitgestellt und wieder freigegeben werden kann. Diese allgemeinere Cloud-Eigenschaft erklärt, warum IaaS-Umgebungen oft flexibel skaliert werden: Eine zusätzliche Maschine oder ein größerer Datenträger lässt sich je nach Dienst und Konfiguration bereitstellen, ohne dass zunächst neue Hardware im eigenen Haus installiert werden muss.NIST: SP 800-145 Ob die Ressourcen automatisch wachsen, hängt jedoch von den eingerichteten Regeln und der Architektur ab; IaaS nimmt diese Entscheidung nicht automatisch ab.
Der Anbieter betreibt die physische Infrastruktur: Rechenzentrum, physische Server, physisches Netzwerk und die Virtualisierungsschicht. Kundinnen und Kunden wählen Ressourcen aus, legen virtuelle Netze und Zugriffsregeln an, installieren ein Betriebssystem und betreiben darauf ihre Anwendungen. NIST fasst die Grenze so: Die Kundenseite kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur, hat aber Kontrolle über Betriebssysteme, Speicher und bereitgestellte Anwendungen; bei ausgewählten Netzkomponenten kann sie begrenzte Kontrolle haben.NIST: SP 800-145
Diese Grenze ist keine bloße Vertragsformel. Sie entscheidet über konkrete Betriebsaufgaben. Bei einer virtuellen Maschine gehören beispielsweise das Einspielen von Updates im Gastbetriebssystem, die Auswahl sicherer Konfigurationen, die Verwaltung von Benutzerkonten und die Absicherung der Anwendung zur Kundenseite. Microsoft ordnet bei IaaS virtuelle Maschinen, Betriebssysteme und Anwendungen ausdrücklich der Verantwortung des Kunden zu; physische Hosts, das physische Netzwerk und das Rechenzentrum liegen beim Anbieter.Microsoft Learn: Shared responsibility in the cloud
Die genaue Aufteilung ist dienst- und vertragsabhängig. Daten und Identitäten bleiben laut Microsoft auch bei Cloud-Diensten Aufgaben des Kunden. Wer IaaS nutzt, sollte deshalb für jede eingesetzte Komponente prüfen, wer Updates, Sicherungen, Protokollierung, Verschlüsselung, Schlüsselverwaltung und Wiederherstellung tatsächlich verantwortet. „In der Cloud“ bedeutet nicht, dass diese Aufgaben vollständig verschwinden.
Ein kleines Unternehmen will eine selbst entwickelte Webanwendung betreiben. Es erstellt zunächst ein virtuelles Netzwerk mit einem öffentlichen Zugangspunkt und einem internen Bereich für die Datenbank. Für die Anwendung startet das Team zwei virtuelle Linux-Maschinen, installiert den Webserver und die eigene Software und bindet persistenten Speicher an. Regeln in der virtuellen Firewall erlauben nur die vorgesehenen Verbindungen. Steigt die Nachfrage, können weitere Webserver-Maschinen ergänzt und hinter einem Lastverteiler eingesetzt werden.
In diesem Beispiel liefert der Anbieter die physische Grundlage, virtuelle Maschinen, Speicher und Netzwerkfunktionen. Das Unternehmen bleibt aber für das Betriebssystem in den Maschinen, Sicherheitsupdates, die Konfiguration des Webservers, seine Daten und die Anwendung zuständig. Compute Engine beschreibt sich als IaaS-Produkt mit selbst verwalteten virtuellen Maschinen und nennt Linux- und Windows-Betriebssysteme sowie dauerhafte Speicheroptionen.Google Cloud: Compute Engine overview Die konkrete Wahl eines Produkts ist für die Definition nicht entscheidend; das Beispiel zeigt die typische Verantwortung auf der Kundenseite.
IaaS kann auch für Entwicklungs- und Testumgebungen nützlich sein. Teams können eine Maschine mit einer bestimmten Konfiguration anlegen, Software testen und die Ressourcen anschließend wieder entfernen. Vor dem Einsatz sollte trotzdem geplant werden, wie Zugänge, Konfigurationen und Daten gesichert werden. Eine schnell erzeugte Maschine mit offenem Fernzugang bleibt ein Sicherheitsrisiko, wenn die Verantwortungsgrenze nicht praktisch umgesetzt wird.
IaaS bietet die meiste Kontrolle über die grundlegende Infrastruktur der drei verbreiteten Cloud-Service-Modelle, verlangt dafür aber auch mehr Betriebsarbeit. Bei Platform as a Service, kurz PaaS, stellt der Anbieter zusätzlich eine Plattform bereit, auf der Anwendungen entwickelt und ausgeführt werden. Die Kundenseite konzentriert sich stärker auf Code, Anwendung und Daten und verwaltet normalerweise weder virtuelle Maschinen noch das Betriebssystem. Microsoft beschreibt PaaS entsprechend als Bereitstellung von Anwendungen ohne Verwaltung von VMs oder Betriebssystemen.Microsoft Learn: Shared responsibility in the cloud
Software as a Service, SaaS, ist noch stärker abstrahiert. Dort verwenden Kundinnen und Kunden eine fertige Anwendung über das Internet, etwa einen E-Mail- oder Kollaborationsdienst. Sie konfigurieren Benutzer, Daten und fachliche Einstellungen, betreiben aber weder die zugrunde liegenden Server noch die Anwendung selbst. NIST definiert SaaS als Nutzung der Anwendungen des Anbieters auf einer Cloud-Infrastruktur.NIST: SP 800-145
Die Modelle sind keine Rangfolge. Eine eigene Anwendung mit besonderen Systemanforderungen kann zu IaaS passen. Eine Standard-Webanwendung lässt sich unter Umständen einfacher auf PaaS betreiben. Für fertige Fachsoftware ist SaaS oft naheliegend. Die richtige Wahl ergibt sich aus dem benötigten Kontrollgrad, den Kompetenzen im Betrieb, Sicherheits- und Compliance-Anforderungen sowie den Eigenschaften der konkreten Dienste.
IaaS ist ein Service-Modell, nicht der Name einer einzelnen Cloud oder eines einzelnen Produkts. Eine virtuelle Maschine ist ein möglicher Bestandteil von IaaS, aber nicht jede Cloud-Leistung ist automatisch IaaS. Ebenso ist Virtualisierung eine Technik zur Aufteilung physischer Ressourcen, während IaaS die Art beschreibt, wie grundlegende Infrastruktur als Service bereitgestellt und genutzt wird.
Auch „Serverless“ ist nicht einfach ein anderes Wort für IaaS. Bei Serverless-Diensten wird die Serververwaltung für die Anwendung stärker verborgen; das liegt näher an einer Plattformabstraktion. Bei IaaS bleiben virtuelle Maschinen und ihre Konfiguration dagegen meist sichtbar. Wer die Begriffe trennt, kann Anforderungen und Verantwortlichkeiten präziser planen.