Cloud Computing
Cloud Computing (aus dem Englischen, für Rechnerwolke oder Datenwolke) beschreibt ein Modell, das bei Bedarf – meist über das Internet und geräteunabhängig – zeitnah und mit wenig Aufwand geteilte Computerressourcen als Dienstleistung, etwa in Form von Servern, Datenspeicher oder Applikationen, bereitstellt und nach Nutzung abrechnet. Angebot und Nutzung dieser Computerressourcen ist definiert und erfolgt in der Regel über eine Programmierschnittstelle (API) bzw. für Anwender über eine Website oder App. Häufig wird jedoch der Begriff als Cloud abgekürzt.
Das National Institute of Standards and Technology definiert fünf notwendige Merkmale für Cloud Computing:
- On-demand self-service
- Der Nutzer kann Leistungen einseitig und ohne menschliche Interaktion bei Bedarf bereitstellen lassen (Selbstbedienung).
- Broad network access
- Die Leistungen sind über das Netzwerk mit Standardmechanismen erreichbar, welche die Nutzung mit heterogenen Endgeräten wie Smartphones, Tablets, Notebooks oder Workstations fördern.
- Resource pooling
- Die Computerressourcen des Anbieters werden zusammengefasst, um mehrere Nutzer nach dem Mehrmandantenprinzip bedarfsgerecht bedienen zu können. Damit einhergehend hat der Nutzer in der Regel keine Kontrolle darüber, mit welchen Computerressourcen die Leistung erbracht wird (z. B. auf welchem Server oder mit welcher Datenbank).
- Rapid elasticity
- Die Leistung kann elastisch bereitgestellt und freigegeben werden, um bedarfsgerecht, in manchen Fällen automatisch, hoch und runter skalieren zu können. Aus Sicht des Nutzers scheinen die verfügbaren Computerressourcen unbegrenzt und Leistungen können jederzeit in beliebiger Höhe angepasst werden.
- Measured service
- Cloud-Systeme steuern und optimieren Computerressourcen anhand von messbaren Zahlen, die, abhängig von der jeweiligen Leistung, erhoben werden wie etwa Speicher, Bandbreite oder aktive Benutzerkonten. Die Nutzung der Leistung kann überwacht, gesteuert und als Bericht bereitgestellt werden, um die Transparenz für den Nutzer wie auch den Anbieter gewährleisten zu können.
Diese Definition ist heute weitgehend akzeptiert. Cloud Computing geht damit über andere diskutierte Ansätze (z. B. Virtualisierung) hinaus. Unter der Bedingung einer öffentlichen Verfügbarkeit, ähnlich beispielsweise dem öffentlichen Telefonnetz, kann man Cloud Computing je nach Architektur auch als Summe von Software as a Service (SaaS) und Utility Computing ansehen.