Was ist Cloud-Computing? Ein Überblick über die Cloud
Ein Leitfaden zum Cloud-Computing und seine Vorteile für das moderne Unternehmen
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.
Teste Compass kostenlos
Als Unterstützung beim Entwickeln, zum Katalogisieren von Diensten und zum Optimieren des Softwarezustands.
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 bei Bedarf auf die benötigten Rechenressourcen zugreifen, ohne eine lokale physische IT-Infrastruktur erwerben und warten zu müssen. So profitieren sie von flexiblen Ressourcen, schnellerer Innovation und Skaleneffekten. 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 stellen APIs bereit, auf die Benutzer zugreifen, um neue Ressourcen anzufordern oder vorhandene Ressourcen bei Bedarf zu skalieren. Teams können ihre Infrastrukturbereitstellung mit Tools für Infrastructure as Code wie Terraform und Ansible auf einfache Weise automatisieren.
Breiter Netzwerkzugang
Der Standort der physischen Hardware 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 pro 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 ihre speziellen Vorteile. 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
Die dynamischen Eigenschaften von Cloud Computing bilden die Grundlage für neuartige, höherwertige 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 Computer 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-Toolkette 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 umfasst 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. Entwickler müssen somit nicht mehr selbst die erforderliche Infrastruktur für die Entwicklung und Einführung einer App aufbauen und 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 Sicherheitsthema, und die meisten Cloud-Anbieter bieten Tools zur Einschränkung des granularen Benutzerzugriffs an.
Continuous Integration und Delivery
Continuous Integration und Continuous Delivery (CI/CD) ist eine Schlüsselpraxis für DevOps-Anwender. Sie trägt dazu bei, die Team-Velocity zu erhöhen und die Markteinführungszeit zu verkürzen. Cloudbasierte CI/CD-Systeme wie Bitbucket Pipelines ermöglichen 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, um die Isolierung und Reproduzierbarkeit der Release-Pipeline zu gewährleisten. Teams können Befehle ähnlich wie auf einem lokalen Computer ausführen, profitieren dabei aber von 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. Umfassende Überwachung ist eine weitere wichtige Funktion für Unternehmen, die DevOps praktizieren, da sie auf diese Weise Probleme und Vorfälle schneller angehen können. Cloud-Anbieter teilen Metriken über den Zustand des Systems mit. Diese beziehen sich beispielsweise auf Anwendungs- und Server-CPU, Arbeitsspeicher, Anfragerate, Fehlerrate oder durchschnittliche Antwortzeit. Wenn die Auslastung vieler virtueller Computer überwacht wird, können Teams bei steigender Nachfrage mehr Kapazität hinzufügen oder die Skalierung basierend auf den angegebenen Metriken automatisieren, um menschliche Eingriffe und Kosten zu reduzieren. Hier findest du weitere Informationen zum Thema Überwachung bei DevOps.
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 anzuschaffen und zu unterhalten. Durch 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.
Nächstes Thema
Lesenswert
Füge diese Ressourcen deinen Lesezeichen hinzu, um mehr über Softwareentwicklung und fortlaufende Updates zu Compass zu erfahren.