Was ist Cloud-Computing? Ein Überblick über die Cloud

Ein Leitfaden zum Cloud-Computing und seine Vorteile für das moderne Unternehmen

Kev Zettler Kev Zettler

Zusammenfassung: Cloud-Computing ist die Bereitstellung von Rechenressourcen über das Internet. Es bietet Kosteneinsparungen, Skalierbarkeit, hohe Leistung, Skaleneffekte und vieles mehr. Für viele Unternehmen steht eine Cloud-Migration in direktem Zusammenhang mit einer Daten- und IT-Modernisierung.

Als der Begriff "Cloud" Anfang der 2000er Jahre zum ersten Mal auftauchte, klang er nahezu esoterisch. Die Vorstellung eines anderen Ortes als einer lokalen IT-Infrastruktur (im Himmel?) klang wie Science-Fiction. Die Realität war jedoch viel tiefgründiger und veränderte die Technologie und das Geschäftsleben.

Was ist Cloud-Computing?

Unter Cloud-Computing versteht man die Bereitstellung von Computerressourcen – einschließlich Speicher, Rechenleistung, Datenbanken, Netzwerken, Analytik, künstlicher Intelligenz und Softwareanwendungen – über das Internet (die Cloud). Durch die Auslagerung dieser Ressourcen können Unternehmen auf die benötigten Rechenressourcen zugreifen, wenn sie diese benötigen, ohne eine physische lokale IT-Infrastruktur erwerben und warten zu müssen. Dies bietet flexible Ressourcen, schnellere Innovationen und Skaleneffekte. Für viele Unternehmen steht eine Cloud-Migration in direktem Zusammenhang mit einer Daten- und IT-Modernisierung.

Merkmale von Cloud-Computing

Vor dem Cloud-Computing erwarben und unterhielten Unternehmen eine lokale IT-Infrastruktur. Obwohl die Kosteneinsparungen den Ausschlag für die meisten der anfänglichen Verlagerungen in die Cloud gaben, stellen viele Unternehmen fest, dass eine Cloud-Infrastruktur, sei es Public, Private oder Hybrid, eine Vielzahl von Vorteilen bietet.

Für agile und DevOps-Teams bietet Cloud-Computing die Möglichkeit, den Entwicklungsprozess zu vereinfachen und zu beschleunigen.

Im Folgenden findest du eine Liste von Merkmalen, die Cloud-Computing definieren.

Self-Service auf Abruf

Cloud-Computing-Anbieter bieten APIs an, auf die Benutzer zugreifen, um neue Ressourcen anzufordern oder vorhandene Ressourcen bei Bedarf zu skalieren. Teams können ihre Infrastrukturbereitstellung auf einfache Weise mit Infrastruktur-als-Code-Tools wie Terraform und Ansible automatisieren.

Breiter Netzwerkzugang

Der physische Hardware-Standort ist ein erhebliches Problem bei der Bereitstellung der optimalen Endbenutzererfahrung. Cloud-Computing ist hierfür ein Segen, da es global verteilte physische Hardware bietet, die es Unternehmen ermöglicht, standortbezogene Hardware strategisch bereitzustellen.

Ressourcen-Pooling

Rechenressourcen in einer Cloud-Infrastrukturplattform werden dynamisch aufgeteilt und bei Bedarf zugewiesen. Da die physischen Rechner eines Cloud-Hosts dynamisch bereitgestellt und von mehreren Mandanten gemeinsam genutzt werden, ist Cloud-Hardware durch und durch für eine maximale Nutzung optimiert.

Schnelle Elastizität

Cloud-Infrastrukturen können dynamisch wachsen und schrumpfen, sodass die Benutzer eine automatische Skalierung ihrer Rechenressourcen je nach Traffic anfordern können. Die Elastizität kann pro Rechner erfolgen mit einer Erhöhung der Ressourcen zur Maximierung der verfügbaren Rechenressourcen oder auf Basis mehrerer Rechner mit einer automatischen Skalierung einer Anwendung auf mehrere vernetzte Maschinen.

Service nach Maß

Anbieter von Cloud-Infrastrukturen stellen detaillierte Nutzungsmetriken zur Verfügung, die zur Kommunikation der Nutzungskosten verwendet werden. Beispielsweise gibt Amazon Web Services (AWS) die Nutzung jeder Servicekategorie in stündlichen oder täglichen Einzelposten an. Cloud-Serviceanbieter verwenden im Allgemeinen ein nutzungsabhängiges Abrechnungsmodell, bei dem Kunden anhand der erhobenen Messdaten die genaue Menge der verwendeten Computerressourcen in Rechnung gestellt wird.

Arten von Cloud-Deployments

Es gibt drei primäre Arten von Cloud-Deployments. Jede hat einzigartige Vorteile und Unternehmen profitieren oft davon, mehr als eine zu nutzen.

Public Cloud

Public Clouds stellen Computerressourcen – Server, Speicher, Anwendungen usw. – von einem Cloud-Serviceanbieter wie AWS und Microsoft Azure über das Internet bereit. Die Cloud-Anbieter besitzen und betreiben die gesamte Hardware, Software und andere unterstützende Infrastruktur.

Private Cloud

Bei einer Private Cloud sind Rechenressourcen ausschließlich einem Unternehmen gewidmet. Sie kann sich physisch im Rechenzentrum eines Unternehmens vor Ort befinden oder von einem Cloud-Anbieter gehostet werden. Eine Private Cloud bietet ein höheres Maß an Sicherheit und Datenschutz als Public Clouds, indem sie Unternehmen fest zugeordnete Ressourcen bereitstellt.

Private Cloud-Kunden erhalten die Hauptvorteile einer Public Cloud, einschließlich Self-Service, Skalierbarkeit und Elastizität, jedoch mit dem Vorteil zusätzlicher Kontrolle und Anpassung. Darüber hinaus können Private Clouds ein höheres Maß an Sicherheit und Datenschutz bieten, da sie in privaten Netzwerken untergebracht sind, die für den öffentlichen Traffic nicht zugänglich sind.

Hybrid Cloud

Hybrid Clouds sind eine Kombination aus Private und Public Clouds (z. B. IBM Hybrid Cloud, powered by Red Hat), die mit einer Technologie verbunden sind, die die Zusammenarbeit von Daten und Anwendungen ermöglicht. Services und Anwendungen, in denen vertrauliche Daten verarbeitet werden, können in der sicheren Private Cloud aufbewahrt werden, während sich öffentlich zugängliche Webserver und kundenorientierte Endgeräte in der Public Cloud befinden können. Die beliebtesten Cloud-Drittanbieter bieten ein Hybrid Cloud-Modell an, mit dem Benutzer Private und Public Clouds kombinieren können, um ihre Anforderungen zu erfüllen. Dies ermöglicht Unternehmen eine größere Flexibilität beim Deployment der spezifischen Infrastrukturanforderungen ihrer Anwendung.

Cloud-Computing-Services

IaaS, PaaS, SaaS-Diagramm

Die dynamischen Eigenschaften von Cloud-Computing bilden die Grundlage für neuartige übergeordnete Services. Diese Services sind nicht nur ergänzend, sie stellen auch notwendige Services für agile und DevOps-Teams bereit.

Infrastructure as a Service

Infrastructure as a Service (IaaS) ist eine grundlegende Cloud-Serviceschicht, die es Unternehmen ermöglicht, IT-Infrastruktur – Server, Speicher, Netzwerke, Betriebssysteme – von einem Cloud-Anbieter zu mieten. IaaS ermöglicht es Benutzern, die benötigten Ressourcen aus physischen Raw-Server-Lagern zu reservieren und bereitzustellen. Darüber hinaus ermöglicht IaaS Benutzern die Reservierung vorkonfigurierter Rechner für spezielle Tasks, beispielsweise Load Balancer, Datenbanken, E-Mail-Server und verteilte Warteschlangen.

DevOps-Teams können IaaS als zugrunde liegende Plattform verwenden, aus der sich eine DevOps-Toolchain erstellen lässt, die die Verwendung verschiedener Tools von Drittanbietern umfassen kann.

Platform as a Service

Platform as a Service (PaaS) ist eine auf IaaS basierende Cloud-Infrastruktur, die Ressourcen zum Erstellen von Tools und Anwendungen auf Benutzerebene bereitstellt. Sie bietet die zugrunde liegende Infrastruktur, einschließlich Rechen-, Netzwerk- und Speicherressourcen sowie Entwicklungstools, Datenbankverwaltungssysteme und Middleware.

PaaS nutzt IaaS, um automatisch die Ressourcen zuzuweisen, die für den Betrieb eines sprachbasierten Technologie-Stack erforderlich sind. Beliebte Sprach-Tech-Stacks sind Ruby On Rails, Java Spring MVC, MEAN und JAM Stacks. PaaS-Kunden können dann einfach ein Artefakt ihres Anwendungscodes hochladen, das automatisch in der Infrastruktur des PaaS bereitgestellt wird. Dies ist ein neuartiger und leistungsstarker Workflow, der es Teams ermöglicht, sich vollständig auf ihren spezifischen Geschäftsanwendungscode zu konzentrieren und sich nicht um Hosting- und Infrastrukturprobleme zu kümmern. PaaS übernimmt automatisch die Skalierung und Überwachung der Infrastruktur, um Ressourcen je nach beobachteter Traffic-Last zu vergrößern oder zu verringern.

Software as a Service

Software as a Service (SaaS) liefert Softwareanwendungen über das Internet auf Abruf und in der Regel im Abonnement. Die Cloud-Anbieter hosten und verwalten die Anwendung und kümmern sich bei Bedarf um Software-Upgrades und Sicherheitspatches. Beispiele für SaaS sind CRM-Systeme, Webmail-Anwendungen, Produktivitätstools wie Jira und Confluence, Analysetools, Überwachungstools, Chatanwendungen und mehr.

Function as a Service

Function as a Service (FaaS) ist ein Cloud-Computing-Service, der eine Plattform bietet, auf der Kunden Anwendungen entwickeln, ausführen und verwalten können. Dies verringert die Notwendigkeit für Entwickler, die für die Entwicklung und den Start einer App erforderliche Infrastruktur aufzubauen und zu warten. Cloud-Anbieter bieten Cloud-Ressourcen an, führen einen Codeblock aus, geben das Ergebnis zurück und zerstören dann die verwendeten Ressourcen.

Vorteile von Cloud-Computing

Die einzigartigen Eigenschaften von Cloud-Infrastrukturen bieten mehrere neuartige technische und geschäftliche Vorteile. Im Folgenden sind die wichtigsten Vorteile von Cloud-Computing für agile Teams aufgeführt.

Kosteneinsparung

Teams, die Cloud-Ressourcen nutzen, müssen keine eigenen Hardware-Assets erwerben. Neben den Hardwarekosten tun Cloud-Anbieter ihr Bestes, um die Hardwarenutzung zu maximieren und zu optimieren. So werden Hardware- und Computerressourcen zur Ware und Cloud-Anbieter konkurrieren darum, die niedrigsten Kosten zu bieten.

Höhere Skalierbarkeit

Da Cloud-Computing standardmäßig elastisch ist, können Unternehmen Ressourcen bei Bedarf skalieren. Cloud-Computing ermöglicht Teams automatisch skalierende Funktionen. Cloud-Anwendungen können ihre Infrastrukturressourcen automatisch verkleinern und vergrößern, um auf Traffic-Spitzen zu reagieren.

Bessere Leistung

Cloud-Computing bietet die neuesten und besten Rechenressourcen. Benutzer können auf die neuesten Maschinen mit extremen Multicore-CPUs zugreifen, die für schwere parallele Verarbeitungsaufgaben ausgelegt sind. Darüber hinaus bieten große Cloud-Anbieter modernste GPU- und TPU-Hardwaremaschinen für intensive Grafik-, Matrix- und KI-Verarbeitungsaufgaben. Durch ständige Aktualisierungen bieten sie außerdem stets die neueste Prozessortechnologie.

Große Cloud-Computing-Anbieter verfügen über global verteilte Hardware-Standorte, die je nach Standort der physischen Verbindung Hochleistungsverbindungen gewährleisten. Darüber hinaus bieten Cloud-Anbieter globale Content-Delivery-Netzwerke an, die Benutzeranfragen und Inhalte nach Standort zwischenspeichern.

Verbesserte Ausführungsgeschwindigkeit

Teams, die Cloud-Infrastrukturen nutzen, können schneller arbeiten und ihren Kunden einen Mehrwert bieten. Agile Softwareteams können eine Cloud-Infrastruktur nutzen, um schnell neue virtuelle Maschinen für Experimente mit einzigartigen Ideen und deren Validierung zu entwickeln und die Test- und Deployment-Phasen der Pipeline zu automatisieren.

Erhöhte Sicherheit

Private Cloud-Hosting bietet eine isolierte Firewall-Infrastruktur, die die Sicherheit verbessert. Darüber hinaus bieten Cloud-Anbieter viele Sicherheitsmechanismen und Technologien an, um sichere Anwendungen zu erstellen. Die Kontrolle des Benutzerzugriffs ist ein wichtiges Sicherheitsproblem, und die meisten Cloud-Anbieter bieten Tools zur Einschränkung des granularen Benutzerzugriffs an.

Continuous Integration und Delivery

Continuous Integration and Continuous Delivery (CI/CD) ist eine Schlüsselpraxis für DevOps-Anwender. Sie hilft, die Team-Velocity zu erhöhen und die Markteinführungszeit zu verkürzen. Cloudbasierte CI/CD, wie Bitbucket Pipelines, ermöglicht es Teams, Code automatisch zu erstellen, zu testen und bereitzustellen, ohne dass das Team sich Gedanken über die Verwaltung oder Wartung der CI-Infrastruktur machen muss. Bitbucket Pipelines nutzt Docker-Container, zur Gewährleistung der Isolierung und Reproduzierbarkeit der Release-Pipeline. Teams können Befehle ausführen, die ähnlich wie auf einem lokalen Computer sind, jedoch mit allen Vorteilen einer neuen und reproduzierbaren Konfiguration für jeden Build.

Umfassendes Monitoring und Vorfallmanagement

Cloud-Deployments ermöglichen es Teams, ihre Tools durchgehend zu verbinden, wodurch es einfacher wird, die gesamte Pipeline zu überwachen. Umfassendes Monitoring ist eine weitere wichtige Funktion für Unternehmen, die DevOps praktizieren, da sie Probleme und Vorfälle schneller angehen können. Cloud-Anbieter teilen Metriken über den Zustand des Systems, einschließlich Anwendungs- und Server-CPU, Speicher, Anfragerate, Fehlerrate, durchschnittliche Antwortzeit usw. Die Überwachung der Auslastung vieler virtueller Maschinen bedeutet beispielsweise, dass Teams bei steigender Nachfrage mehr Kapazität (VMs) hinzufügen können oder Teams die Skalierung basierend auf diesen Metriken automatisieren können, um menschliche Eingriffe und Kosten zu reduzieren. Weitere Informationen über DevOps-Überwachung.

Fazit

Cloud-Computing bietet erweiterte Computerressourcen, die bei Bedarf verfügbar und skalierbar sind, mit regelmäßigen Updates und ohne die Notwendigkeit, eine lokale Infrastruktur zu kaufen und zu warten. Mit Cloud-Computing werden Teams effizienter und verkürzen die Markteinführungszeit, da sie Services schnell erwerben und skalieren können, ohne den erheblichen Aufwand, den die Verwaltung einer herkömmlichen lokalen Infrastruktur erfordert. Sieh dir die Cloud-Angebote von Atlassian an.