IaaS vs. IaC: Seit dem Aufkommen von Cloud-Angeboten machen diese beiden Abkürzungen immer wieder von sich reden. Was bedeuten sie eigentlich? Was unterscheidet sie voneinander? Sollte man sie gegeneinander ausspielen oder miteinander verbinden?
IaaS vs Infrastructure as a Service (Infrastruktur als Service), welches ist besser?
IaaS ist Teil eines Trends, der seit etwa 20 Jahren zu beobachten ist und der darin besteht, digitale Vermögenswerte in Cloud-Dienste auszulagern. Erlauben wir uns ein paar Parallelen.
Wenn ein Musikliebhaber um das Jahr 2000 herum einen Song von Pearl Jam hören wollte, musste er normalerweise die CD der Band besitzen.
Dank Diensten wie Spotify oder Deezer kann er nun das Lied hören, ohne das physische Objekt zu besitzen.
Zur gleichen Zeit musste jemand, der ein bestimmtes Videospiel spielen wollte, normalerweise die CD oder die Kassette dazu kaufen. Mit einem Dienst wie Steam kann er nun Baldur’s Gate 3 oder Elden Ring spielen, ohne die entsprechende DVD besitzen zu müssen.
📌 IaaS ist eine ähnliche Logik: Ein Unternehmen muss keine teuren und leistungsstarken Server mehr kaufen, um seine Software und Anwendungen unterzubringen.
Durch das Mieten von Cloud-Diensten spart es sich die Kosten für den Kauf solcher Hardware und die Ausgaben für deren Wartung.
IaaS vs. IaC: Amazon als Vorreiter von IaaS
Cloud Computing ist an sich nichts Neues, das Konzept geht sogar bis in die 1960er Jahre zurück. Es war jedoch die Entwicklung von AWS (Amazon Web Services) im Jahr 2006, die dem IaaS einen ersten Aufschwung gab. Amazon, das zunächst als Online-Buchhändler und später als Händler von Waren bekannt wurde, war das erste Unternehmen, das einen einfachen, bedarfsorientierten Zugang zu seiner Serverinfrastruktur anbot.
Ziemlich schnell hatte Amazon Web Services eine große Anzahl von angesehenen Kunden:
- Netflix
- Samsung
- Airbnb
- Dow Jones
- Expedia
- CIA
- usw.
Microsoft, Google und andere...
Ab 2008 traten andere Technologiegiganten in den Wettbewerb ein, darunter Microsoft mit Azure, Google (Google Cloud Platform), IBM mit IBM Softlayer, später umbenannt in IBM Cloud Infrastructure, aber auch Oracle und Alibaba, um nur einige zu nennen. Dieser Wettbewerb hat die Innovation angekurbelt.
Unternehmen führen IaaS ein
In den 2010er Jahren erkannten Unternehmen aller Größenordnungen die Vorteile von IaaS, d. h. die Möglichkeit, eine Cloud-basierte oder zumindest ausgelagerte IT zu betreiben, die Server, Speichersysteme, Recheneinheiten usw. beinhaltet.
Jedes Mal, wenn ein Bedarf an Speicherplatz oder Rechenleistung entsteht, kann einfach neue Infrastruktur vom IaaS-Anbieter gemietet werden (oder das laufende Monats- oder Jahresabonnement angepasst werden). Entwickler können sich auf ihre Programmieraufgaben konzentrieren, anstatt sich um „Hardware“-Aspekte kümmern zu müssen.
L'IaC oder Infrastructure as Code
Während es bei IaaS um die Hardware und insbesondere um die Server im Cloud Computing geht, geht es bei IaC (Infrastructure as Code) um die Konfiguration derselben Server mithilfe von Skripten.
Anstatt den gewünschten Zustand dieser Infrastrukturen manuell konfigurieren zu müssen, wird dieser in Codedateien modelliert, die auf den Servern ausgeführt werden.
Vor der Einführung von IaC musste jede Infrastruktur einzeln von Hand konfiguriert werden, was sehr zeitaufwendig war. Dieser Schritt, der der Installation der Software vorausgeht, war nicht frei von menschlichen Fehlern.
Daher wurde nach und nach eine ganze Reihe von IaC-Tools entwickelt:
- Terraform von HashiCorp, das Tools wie AWS, Azure, Google Cloud und andere berücksichtigt;
- AWS CloudFormation, das Angebot von Amazon für seinen Cloud-Dienst ;
- Azure Resource Manager von Microsoft ;
- Google Cloud Deployment Manager, das von Google angebotene Tool zur Verwaltung von Google Cloud Platform-Servern ;
- Ansible, entwickelt von Red Hat (IBM angegliedert),
usw.
IaaS vs IaC: Gemeinsamkeiten und Unterschiede
Was ist der Punkt zwischen diesen beiden Ansätzen? Beide zielen darauf ab, Unternehmen dabei zu helfen, ihre Infrastruktur in der Cloud flexibler zu verwalten.
Der Unterschied ist klar:
👉Bei IaaS geht es um die Bereitstellung und den Einsatz von Hardware-Infrastrukturen, die auf den Bedarf eines Unternehmens zu einem bestimmten Zeitpunkt zugeschnitten sind.
👉Bei IaC geht es um die Steuerung dieser Infrastruktur durch Software, d. h. Skripte, die normalerweise in JSON oder YAML codiert sind.
IaaS vs. IaC : Wann sollte man das eine oder das andere verwenden?
Typische Szenarien für IaaS
- Wenn sich ein Unternehmen in der Gründungsphase befindet, hat es oft nicht das richtige Budget, um in Hardware zu investieren.
- Daher hilft IaaS dem Unternehmen, mit einer Basisausstattung zu beginnen, die es je nach Bedarf erweitern kann.
- Wenn ein Unternehmen ein neues Projekt plant, das IT-Ressourcen erfordert, kann IaaS den Kauf einer speziellen Ausrüstung verhindern.
- Um sich für den Fall zu wappnen, dass die IT nicht mehr funktioniert, kann ein Unternehmen davon profitieren, dass seine Daten und Software in anderen Teilen der Welt repliziert werden.
Typische Szenarien für IaC
- Ein Unternehmen, das häufig identische Test-, Entwicklungs- oder Produktionsumgebungen einrichten muss, wird von IaC profitieren: Der Code, der zur Konfiguration einer Infrastruktur entwickelt wurde, kann unverändert auf der neuen Infrastruktur verwendet werden.
- IT-Manager, die einen klaren Überblick über die verschiedenen Versionen der Serverkonfiguration haben wollen, werden von IaC-Anwendungen unterstützt. Tatsächlich fungiert der IaC-Code als Dokumentation.
IaaS oder IaC ?
Wenn du diese Zeilen gelesen hast, ist dir vielleicht der Gedanke gekommen, dass es keinen Sinn macht, diese beiden Ansätze gegeneinander auszuspielen.
Obwohl sie unabhängig voneinander eingesetzt werden können, werden IaaS und IaC im Idealfall komplementär eingesetzt.
☝️Einfach ausgedrückt: IaaS stellt die Ressourcen bereit, die für die Unternehmens-IT benötigt werden. IaC sorgt für eine optimierte Konfiguration dieser Ressourcen.
Es scheint also, dass die Kombination aus beidem der Schlüssel zum Erfolg ist.