Cloud Computing
ist die dynamische bzw. bedarfsgesteuerte Bereitstellung von Anwendungen oder Rechenressourcen über das Internet oder ein Netzwerk. Anwendungen, auf die über eine Cloud zugegriffen wird, müssen also nicht lokal installiert werden. Genauso muss Hardware nicht lokal bereitgestellt und gewartet werden, wenn die Ressourcen stattdessen virtuell vorliegen. Der Name “Cloud Computing” leitet sich dabei von der Idee ab, dass Daten und das Internet “überall” sind und sich daher wie eine Wolke verteilen. Mittlerweile gibt es recht unterschiedliche Varianten von Cloud Computing, sowohl hinsichtlich der angebotenen Dienstleistung als auch hinsichtlich der Abrechnung und des Zugriffes auf die Cloud.
Definition und Eigenschaften von Cloud Computing
Grundsätzlich gibt es mehrere Definitionen von Cloud Computing, sodass das Verständnis des Begriffes variiert. Das National Institute for Standards and Technology (NIST) listet fünf essenzielle Kriterien, die für alle Formen des Cloud Computings weitestgehend zutreffen:
- On-Demand Self-Service: Die Leistungen der Cloud können durch den Benutzer selbst gewählt werden. Für die Provisionierung ist keine Interaktion mit dem Service Provider direkt notwendig, stattdessen können Ressourcen und Applikationen automatisch gewählt werden
- Broad Network Access: Die Services, die über die Cloud angeboten werden, sind nicht an einen expliziten Client angebunden, sondern mit Hilfe von Standardmechanismen über das Internet oder ein anderes Netzwerk verfügbar
- Resource Pooling: Die angebotenen Ressourcen, z.B. Rechenleistung oder Speicher, liegen in einem gemeinsamen Pool, der zwischen Projekten oder Kunden geteilt werden kann. Der genaue Speicherort der Ressourcen ist dem Kunden nicht bekannt bzw. nicht relevant – Regionen oder Länder können aber festgelegt werden, beispielsweise aus rechtlichen Gründen. Die (theoretische) Bedienung mehrere Anwender wird auch als Multi-Tenant Modell bezeichnet
- Rapid Elasticity: Die virtuellen Ressourcen können flexibel und ggf. automatisiert zur Verfügung gestellt werden. Für den Anwender selbst erscheinen sie quasi unbegrenzt/unendlich und jederzeit auf die aktuelle Nutzlast skalierbar
- Measured Service: Die Ressourcennutzung kann gemessen und überwacht werden. Das ist zum einen für die Abrechnung, aber auch für Funktionen wie automatische Skalierung relevant
Servicemodelle
Es gibt verschiedene Servicemodelle mit denen Cloud Computing angeboten wird. Die drei wichtigsten Modelle sind Software as a Service (Saas), Platform as a Service (PaaS) und Infrastructure as a Service (IaaS).
Quelle: Sebbl2go, WikiMedia, https://creativecommons.org/licenses/by-sa/3.0/de/deed.de
Infrastructure as a Service (IaaS)
Infrastructure as a Service ist
die unterste Schicht des Cloud Computing. Diese Clouds bieten
Nutzungszugang zu virtualisierter Hardware und stellen damit Ressourcen
wie Speicherplatz, Rechenleistung oder auch Netzwerke zur Verfügung. Mit
IaaS können die Nutzer relativ frei und individuell ein virtuelles
Computer Cluster aufbauen, bei dem sowohl Auswahl als auch Installation,
Betrieb und Wartung der Komponenten in ihrer eigenen Verantwortung
liegen. Services, die innerhalb des IaaS-Konzeptes angeboten werden,
sind beispielsweise verteilte Persistenz (wie der Simple Storage Service von Amazon) oder Nachrichtendienste.
Der
größte Vorteil von IaaS-Clouds gegenüber traditionellen Datencentern
ist ihre Skalierbarkeit: Je nachdem, wie der Bedarf des Nutzers ist,
können neue Instanzen zu einem Cluster hinzugefügt oder auch entfernt
werden. Eine lokale Bereitstellung der Hardware ist nicht mehr
notwendig. Wichtige IaaS-Provider sind unter anderem Amazon Web Services oder die Open Telekom Cloud.
Platform as a Service (PaaS)
Im Platform as a Service-Modell
werden in der Cloud Programmierungs- oder Laufzeitumgebungen mit
flexibler Rechen- und Datenkapazität angeboten. PaaS ermöglicht die
Entwicklung und Ausführung von Softwareapplikationen innerhalb der durch
den Provider angebotenen Umgebung. Diese Ebene setzt damit auf IaaS
auf. Allerdings hat der Nutzer im Vergleich zu IaaS in diesem
Cloudmodell keinen Zugriff auf die Recheninstanzen selbst, d.h. er
betreibt und konfiguriert kein eigenes Cloud Cluster. Insbesondere die
flexible Skalierung der Ressourcen mit automatischer Aufteilung der
Verarbeitungseinheiten ist für den Kunden ein Vorteil. Die manuelle
Konfiguration wie bei IaaS ist nicht gewünscht – der Nutzer möchte das
System nicht selbst administrieren, sondern lediglich mit Daten
arbeiten. Windows Azure von Microsoft, die App Engine von Googleoder force.com von Salesforce.com sind bekannte Beispiele für diese Form des Cloud Computing.
Software as a Service (SaaS)
Software as a Service wird auch als Software on demand bezeichnet.
Es handelt sich um die höchste Abstraktionsebene für Clouddienste. Die
Anbieter stellen bestimmte Anwendungslösungen, die auf der zur Verfügung
gestellten Infrastruktur installiert sind und ausgeführt werden, für
den Anwender zur Verfügung. SaaS integriert damit sowohl IaaS als auch
PaaS. Der Anwender benötigt für die Nutzung einen internetfähigen
Computer und eine Anbindung an das Internet. Der Zugriff erfolgt meist
über einen Webbrowser. Für die Nutzung fällt in den meisten Fällen ein
Entgelt an, obwohl es auch kostenlose SaaS-Dienste gibt. Beispiele für
kostenpflichtige Saas-Anbieter sind unter anderem salesforce.com oder SAP,
die sich beide vor allem auf Anwendungen für Unternehmen spezialisiert
haben. Beispiele für Cloud Services, die im Alltag und privaten Feld
genutzt werden, sind Google Drive, Microsoft OneDrive, ownCloud oder die Apple iCloud.
Liefermodelle
So
wie es verschiedene Cloud Computing-Servicemodelle gibt, gibt es auch
verschiedene Liefermodelle, also Arten, wie der Kunde auf die Cloud
zugreifen kann. Mittlerweile haben sich vier verschiedene Liefermodelle
etabliert, die Public Cloud, die Private Cloud, die Hybrid Cloud und die Community Cloud.
Public Cloud
Die Public Cloud ist
das Standardmodell des Cloud Computing. Die Cloud ist von außen für die
breite Öffentlichkeit verfügbar, wie es bei AWS oder OneDrive der Fall
ist. Clouds für Privatpersonen sind beispielsweise fast immer Teil einer
Public Cloud. Der Betrieb einer Public Cloud ist variabel und wird,
insofern Kosten anfallen, meist nach einem pay-as-you-go-Prinzip abgerechnet.
Private Cloud
Eine Private Cloud ist
eine Cloud, die nur für ein spezielles Unternehmen betrieben wird,
beispielsweise aus Datenschutzgründen. Das Management der Cloud kann
sowohl intern als auch durch eine dritte Partei erfolgen. Um eine
private Cloud innerhalb des eigenen Unternehmens einzurichten, ist
relativ viel Aufwand nötig – so muss die Infrastruktur des Unternehmens
virtualisiert oder die Hardware gekauft werden. Zudem muss das
Unternehmen selbst die Sicherheitsrisiken evaluieren und behandeln. Auch
beim Betrieb einer Private Cloud durch einen Anbieter müssen allerdings
Sicherheitsrisiken betrachtet werden – die Expertise zur Umsetzung
liegt aber beim Provider. Zu beachten sind weiterhin rechtliche
Einschränkungen, wie wenn die Daten im Ausland, z.B. in den USA
gespeichert werden. Eine dritte Partei betreibt zudem oft mehrere
Private Clouds für unterschiedliche Kunden. Die Abschottung dieser
einzelnen Private Cloud erfolgt durch virtuelle Netzwerke, stellt aber
potentiell ein weiteres Risiko dar.
Hybrid Cloud
Die Hybrid Cloud ist
eine Kombination der Public und Private Cloud und wird explizit auf die
Bedürfnisse der jeweiligen Benutzer angepasst. Einige Services werden
dabei öffentlich gehostet, unter anderem um Kosten zu sparen.
Datenschutzkritische Anwendungen hingegen werden in eine Private Cloud
ausgelagert, da hier striktere Anforderungen gelten. Die Herausforderung
für Unternehmen besteht bei der Einrichtung einer Hybrid Cloud vor
allem in der sauberen Trennung der Geschäftsprozesse und Daten in
kritisch und unkritisch.
Community Cloud
Eine Community Cloud letztlich
ist eine Cloud, die von einem bestimmten Nutzerkreis, der ähnliche
Anforderungen an Sicherheit und Infrastruktur hat, genutzt wird. Die
Nutzer können sich dadurch unter anderem Kosten, die für die Verwaltung
und den Betrieb eines Datencenters anfallen, teilen, ohne auf eine
Public Cloud zurückgreifen zu müssen. Das eignet sich beispielsweise für
Behörden, Betriebe und Firmen, die auch eine örtliche Nähe zueinander
oder ähnliche fachliche Bereiche haben.
Vor- und Nachteile von Cloud Computing
Cloud
Computing hat einige Vor- und Nachteile. Der Hauptvorteil, der bereits
einige Male erwähnt wurde, ist die freie Verfügbarkeit und
Skalierbarkeit der Ressourcen. Das ist sowohl für die private als auch
die geschäftliche Nutzung sinnvoll. So gibt einige Branchen, die
saisonal bedingt einen höheren Bedarf an Rechenleistung haben. Würden
diese Unternehmen die gesamte Hardware für Lastspitzen anschaffen und
warten müssen, würde das zum einen Geld kosten und zum anderen wäre ein
Teil der Hardware für die verbleibende Zeit ungenutzt. Eigene
Hardware-Infrastrukturen aufzubauen ist nicht nur kosten-, sondern auch
personalintensiv: Man muss sich sowohl um regelmäßige Updates, als auch
um Datensicherungen und Präventivmaßnahmen bei Ausfall kümmern. Ein
externer Provider kann das Unternehmen in dieser Hinsicht entlasten.
Allerdings begibt sich ein Unternehmen durch die Nutzung eines externen
Anbieters natürlich in ein Abhängigkeitsverhältnis. Zum einen verliert
das Unternehmen die Hoheit über seine Daten und es ist unklar, was mit
den gespeicherten Daten alles passiert, zum anderen liegt die
Fachexpertise insbesondere in Ausfällen und technischen Problemen
außerhalb des Unternehmens.
Für
Privatnutzer hat Cloud Computing den Vorteil, dass insbesondere
Speicherplatz in der Cloud kostengünstig und überall verfügbar ist. Das
Risiko, dass beispielsweise ein USB-Stick verloren geht, gibt es nicht.
Die Daten, die in der Cloud liegen, können mit Freunden oder Familie
geteilt werden und auch gemeinsame Projekte und Ordner lassen sich
problemlos einrichten. Die Sicherheitsbedenken sind allerdings auch im
Privatsektor der größte Nachteil. Um die Cloud zu nutzen, sind neben
E-Mail-Adresse beispielsweise auch Bank- und Kreditkarteninformationen
notwendig. Die meisten Cloudanbieter erlauben durch die AGB die
Auswertung und Analyse der Nutzung oder teilweise sogar der Daten, die
in der Cloud abgelegt werden. Diese könnten theoretisch immer
manipuliert oder kopiert werden.
Fazit
Cloud Computing ist eine mittlerweile etablierte IT-Infrastruktur, die die dynamische Bereitstellung von Applikationen oder Ressourcen wie Rechenleistung und Speicherplatz ermöglicht. Das hat den Vorteil, dass keine lokale Hardware bzw. keine lokalen Installationen notwendig sind, und Unternehmen wie Privatpersonen besser skalieren und Dienste flexibler nutzen können. Die wichtigsten Servicemodelle sind Infrastructure, Platform oder Software as a Service (IaaS, PaaS bzw. SaaS). Jedes Modell setzt auf einer höheren bzw. abstrakteren Ebene auf. Während der Nutzer bei IaaS beispielsweise noch große Freiheit und Flexibilität bei der Gestaltung des Cloud Clusters hat, ist dies bei SaaS und bis zu einem gewissen Grad auch PaaS nicht gewünscht. Hier werden stattdessen Entwicklungs- und Laufzeitumgebungen oder ganze Anwendungen angeboten. Neben den Servicemodellen unterscheidet man zwischen der öffentlich zugänglichen Public Cloud, der Private Cloud, die nur für ein bestimmtes Unternehmen gehostet wird, und der Hybrid Cloud, die Konzepte beider Ansätze verbindet. Zusätzlich gibt es die Community Cloud, eine Private Cloud, die durch mehrere Unternehmen mit ähnlichen technischen und fachlichen Anforderungen und lokaler Nähe, geteilt wird. Einer der größten Kritikpunkte des Cloud Computing ist der Datenschutz und die Datensicherheit. Viele Service Provider speichern die Kundendaten und nutzen diese für Analysen und andere Auswertungen. Zudem verlieren die Unternehmen die Hoheit über ihre Daten. Das Auslagern einiger Daten und Unternehmensbereiche ins Ausland ist ein zusätzlicher rechtlicher Aspekt, der bei der Nutzung einer Cloud bedacht werden muss.