Vor einigen Jahren war die Skalierung von Softwaresystemen ein Ratespiel. Organisationen mussten abschätzen, wie viel Last eine unbekannte Anzahl von Benutzern auf ein System ausüben wird. Abgeleitet von diesen Prognosen mussten Unternehmen Server kaufen und Ressourcen reservieren. Haben Entwickler, Architekten und Betrieb zu niedrig geschätzt, dann lief das System in Gefahr, die Last nicht tragen zu können. Haben Organisationen aber zu hoch geschätzt, standen Server und teure Ressourcen unbenutzt rum.
Cloud-Computing ermöglicht es, dieses Problem aus einer anderen Sichtweise zu betrachten. Statt genauen Vorhersagen über Last und einer entsprechenden Ressourcenplanung unterstützt uns die Cloud dabei, Skalierung und Elastizität in unsere Infrastruktur zu integrieren. Durch die Bereitstellung von on-demand Ressourcen (z.B. Rechenzeit, Speicherplatz, Netzwerkservices) in den Rechenzentren der Cloud-Anbieter werden diese Ressourcen zu einem Allerweltsprodukt. Davon profitieren Unternehmen in mehrfacher Weise: einerseits ermöglicht die Cloud eine flexible Skalierung von Hardware und Kosten durch pay-as-you-go. Andererseits erlaubt sie uns, Infrastruktur-Aufgaben auszulagern, da Cloud-Anbieter durch ihre Spezialisierung und Größe bestens geeignet sind, Infrastruktur und Netzwerke zu betreiben und zu skalieren.
Dieses Konzept wird häufig als Infrastructure as a Service (IaaS) bezeichnet. Die Fähigkeit von Cloud-Computing hört aber noch nicht bei der Transformation von Infrastruktur-Ressourcen auf (siehe Abbildung oben). Viele Cloud-Anbieter setzen auf moderne Platform as a Service (PaaS)-Ansätze, wo neben der Infrastruktur auch noch Aufgaben wie das Management von virtuellen Maschinen und deren Betriebssystem wegabstrahiert werden. Zusätzlich bieten Cloud-Plattformen Dienste wie Autorisierung, Authentifizierung, Datenbanken, Container-Plattformen und viele mehr als “Managed Services” an.
“Software is eating the world - and cloud is eating software” - unknown origin
Angelehnt an dieses Zitat verlagern viele Unternehmen Kompetenzen und Aufgaben zu Cloud-Anbietern. Dies stellt eine große Chance dar. Es ermöglicht Teams, sich auf die Kerndomäne des Unternehmens zu konzentrieren und sich durch diesen Fokus von Mitbewerbern zu differenzieren. Nebenbei führt Auslagerung von Infrastruktur-Management an Cloud-Anbieter zu weniger Overhead für DevOps-Teams und besserer Security.
Neben Elastizität und Kostenflexibilität bietet Cloud-Computing einen weiteren wichtigen Vorteil: es fördert Experimentierfreudigkeit. Durch das einfache Hinzufügen und Entfernen von Ressourcen auf globaler Ebene können Prototypen, Proof of Concepts oder Minimum Viable Products (MVPs) in einem kürzeren Zeitraum erstellt und auf die Probe gestellt werden. Die Cloud bietet sozusagen eine globale Verfügbarkeit auf Knopfdruck.
Wollen Sie über Ihre Lösung in der Cloud sprechen oder haben Sie vor, in die Cloud zu migrieren?