Cloud Computing
Cloud Computing (deutsch etwa Rechnen in der Wolke) ist primär der Ansatz, abstrahierte IT-Infrastrukturen (z. B. Rechenkapazität, Datenspeicher-, fertige Software- und Programmierumgebungen als Service) dynamisch an den Bedarf angepasst über ein Netzwerk zur Verfügung zu stellen.
Die Abrechnung erfolgt dabei nutzungsabhängig, da nur tatsächlich genutzte Dienste bezahlt werden müssen. Ein weiterer zentraler Punkt des Konzeptes ist, dass die Bereitstellung basierend auf der Kombination aus virtualisierten Rechenzentren und modernen Webtechnologien wie Webservices vollautomatisch erfolgen kann und somit keinerlei Mensch-Maschine-Interaktion mehr erfordert. Sekundär geht es bei „Cloud Computing“ auch darum, alles als dynamisch nutzbaren Dienst zur Verfügung zu stellen, sei es nun Rechenkapazität, Buchhaltung, einfachste von Menschen verrichtete Arbeit, eine fertige Softwarelösung oder beliebige andere Dienste (siehe auch XaaS). Im Zentrum steht dabei die Illusion der unendlichen Ressourcen, die völlig frei ohne jegliche Verzögerung an den tatsächlichen Bedarf angepasst werden können (siehe auch Skalierbarkeit)[1].

Vereinfacht kann das Konzept wie folgt beschrieben werden: Ein Teil der IT-Landschaft (in diesem Zusammenhang etwa Hardware wie Rechenzentrum, Datenspeicher sowie Software wie Mail- oder Kollaborationssoftware, Entwicklungsumgebungen, aber auch Spezialsoftware wie Customer-Relationship-Management (CRM) oder Business-Intelligence (BI)) wird durch den Anwender nicht mehr selbst betrieben oder bereitgestellt, sondern von einem oder mehreren Anbietern als Dienst gemietet. Die Anwendungen und Daten befinden sich dann nicht mehr auf dem lokalen Rechner oder im Firmenrechenzentrum, sondern in der (metaphorischen) Wolke (engl. „cloud“). Das Bild der Wolke wird in Netzwerkdiagrammen häufig zur Darstellung eines nicht näher spezifizierten Teils des Internet verwendet.
Der Zugriff auf die entfernten Systeme erfolgt über ein Netzwerk, beispielsweise das des Internets. Es gibt aber im Kontext von Firmen auch sogenannte „Private Clouds“, bei denen die Bereitstellung über ein firmeninternes Intranet erfolgt. Die meisten Anbieter von Cloudlösungen nutzen die Poolingeffekte, die aus der gemeinsamen Nutzung von Ressourcen entstehen, für ihr Geschäftsmodell.
Definition
Es existieren eine Reihe von pragmatischen Definitionsansätzen:
- „Cloud Computing“ steht für einen Pool aus abstrahierter, hochskalierbarer und verwalteter IT-Infrastruktur, die Kundenanwendungen vorhält und falls erforderlich nach Gebrauch abgerechnet werden kann. (Quelle: Forrester Research)
- „Cloud Computing“ umfasst On-Demand-Infrastruktur (Rechner, Speicher, Netze) und On-Demand-Software (Betriebssysteme, Anwendungen, Middleware, Management- und Entwicklungs-Tools), die jeweils dynamisch an die Erfordernisse von Geschäftsprozessen angepasst werden. Dazu gehört auch die Fähigkeit, komplette Prozesse zu betreiben und zu managen. (Quelle: Saugatuck Technology)
- 2009 veröffentlichte das National Institute for Standards and Technology (NIST) eine Definition[2], die auf weitgehende Akzeptanz stieß und verschiedene Definitionsansätze bündelt. Sie enthält die drei verschiedenen Servicemodelle (IaaS, PaaS und SaaS), vier Liefermodelle (private clouds, public clouds, hybrid clouds und community clouds) und listet fünf essenzielle Charakteristika für Cloud Computing.
Demzufolge geht „Cloud Computing“ über andere gegenwärtig diskutierte Ansätze (Software-as-a-Service (SaaS), „Organic Computing“) und Konzepte (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 SaaS und „Utility Computing“ ansehen.[3]
Architektur
Aufgrund der noch sehr kurzen Geschichte von „Cloud Computing“ gibt es noch keine eindeutige Definition des Begriffes. Ebenso finden sich in diversen Artikeln immer wieder unterschiedliche Skizzen der Architektur.
Eine gebräuchliche Darstellungsform ist die Pyramidendarstellung in der es 3 Schichten gibt:[4]

- Infrastruktur,
- Plattform und
- Anwendung.
Auf diese Art können auch die unterschiedlichen Typen von „Clouds“ klassifiziert werden.
Infrastruktur
Die Infrastruktur oder „Cloud Foundation“ stellt die unterste Schicht im „Cloud Computing“ dar. Sie wird oft mit dem Begriff „Cloud Hosting“ assoziiert, obwohl dieser oft auch die darüberliegende PaaS-Schicht mit umfasst[5]. Meist spricht man aber von Infrastructure-as-a-Service“ (IaaS). Die Elastic Compute Cloud (EC2) von Amazon kann beispielsweise in diese Kategorie eingeordnet werden. Der Service stellt eine Umgebung von virtuellen Servern zur Verfügung.
Der große Vorteil gegenüber traditionellen Datencentern ist die Skalierbarkeit: Die Hardware kann je nach Anforderungen beliebig um weitere Instanzen erweitert oder verkleinert werden. Der Benutzer hat vollen Zugriff auf die virtuelle Hardware und kann auch selbst Anwendungen installieren. Dafür muss er die Server aber auch selbst administrieren und OS-Patches einspielen.
Weitere Beispiele sind Amazon S3, GoGrid und Linode.
Plattform
Im Vergleich dazu können die Services Windows Azure von Microsoft, „App Engine“ von Google oder „force.com“ von Salesforce.com der Plattform-Schicht zugeordnet werden. Dieses Modell wird auch als Platform-as-a-Service (PaaS) bezeichnet. Hier steht die Anwendung im Vordergrund. Der Entwickler erstellt die Anwendung und lädt diese auf den Server. Dieser kümmert sich dann selbst um die Aufteilung auf die physischen Server.
Auf der anderen Seite hat der Benutzer kaum oder keine Möglichkeit, den Server selbst zu konfigurieren, da er keinen direkten Zugriff darauf hat. Er muss also die Server nicht administrieren, sondern die Administration wird hier komplett vom Anbieter übernommen, wodurch potentiell Kosten der Administration eingespart werden können.
Anwendung
Die Anwendung stellt die oberste Schicht dar. Bei der Erstellung von Anwendungen in der „Cloud“ muss vermehrt auf folgende Probleme geachtet werden:
- Das Design soll modular und serviceorientiert sein.
- Die Last ist unberechenbar, denn über den Erfolg einer Anwendung kann selten eine zuverlässige Aussage gemacht werden.
- Die Anwendung soll dynamisch, verteilt und mandantenfähig sein.
Das anwendungsbasierte Cloud-Konzept wird auch Software-as-a-Service (SaaS) genannt. Bekannte Beispiele für eine Cloud-Anwendung sind Google Docs, Microsoft Skydrive Office Web Apps und Exchange Online, Sharepoint Online, Livemeeting, Office Communications Online.
Arten von Clouds
Man kann zwischen verschiedenen Arten von „Clouds“ unterscheiden, die je nach Anwendungsfall ihre Berechtigung haben:
- Private Cloud
- Bei „Private Clouds“ steht im Vordergrund, dass sich sowohl Anbieter als auch Nutzer im selben Unternehmen befinden, wodurch beispielsweise sämtliche Probleme aus dem Bereich Datensicherheit mehr oder minder hinfällig werden. Man unterscheidet dabei folgende Evolutionsstufen:
- Exploratory Cloud
- Hier steht das Ausprobieren von Cloudfunktionalität innerhalb eines Unternehmens im Vordergrund. Dabei geht es insbesondere darum, Potential und Nachteile für konkrete Anwendungen herauszufinden.
- Departmental Cloud
- Hierbei handelt es sich um eine Cloud, die sich innerhalb eines Unternehmens auch lediglich innerhalb einer Abteilung befindet. Dies bedeutet insbesondere, dass Anbieter und Nutzer innerhalb der gleichen Abteilung zu finden sind. Diese Cloudart dient nicht mehr nur Testzwecken.
- Enterprise Cloud
- Im Gegensatz zur „Departmental Cloud“ stammen hier Anbieter und Nutzer aus unterschiedlichen Unternehmensabteilungen.
- Public Cloud
- Eine „Public Cloud“ ist eine „Cloud“, die öffentlich ist, d. h. von beliebigen Personen und Unternehmen genutzt werden kann und nicht mehr auf interne Anwendungen einer einzelnen Institution/eines Unternehmens beschränkt ist. Hierbei greifen dann auch vor allem Probleme, die mit Datensicherheit zu tun haben und jeder Akteur muss sich selbst überlegen, wie viele und welche Daten er außerhalb seiner unmittelbaren Kontrolle halten möchte. Auch hier gibt es Unterformen:
- Exclusive Cloud
- „Exclusive Clouds“ setzen voraus, dass sich sowohl Anbieter als auch Nutzer kennen. Sie handeln feste Konditionen aus und schließen einen Vertrag darüber ab. Es gibt keine Unbekannten.
- Open Cloud
- Bei „Open Clouds“ kennen sich Anbieter und Nutzer vorher nicht. Dies hat zur Folge, dass der Anbieter sein Angebot ohne direkten Input vom Kunden entwickeln und in Form von SLAs festschreiben muss. Auf Grund der Vielzahl an potentiellen Nutzern müssen auch der gesamte Geschäftsabschluss sowie die Nutzung von Instanzen anbieterseitig vollautomatisch ablaufen. Als Beispiel hierfür wären die Amazon Web Services zu nennen oder auch das Marktplatzmodell von Zimory.
- Hybrid Cloud
-
- Ein Unternehmen betreibt eine eigene „Private Cloud“ und nutzt zusätzlich als Failoverstrategie oder für Belastungsspitzen eine „Public Cloud“.
Vorteile und Probleme
Ebenso wie die Virtualisierung ermöglicht „Cloud Computing“ Kostenvorteile[6] gegenüber konventionellen Systemen. Dies ist der Fall, wenn sich z. B. die Bezahlung nach der Dauer der Nutzung des Dienstes richtet und der Dienst nur gelegentlich genutzt wird. Lokale Ressourcen (Software und Hardware) lassen sich einsparen. Zunehmend wird diese Ressourceneffizienz auch in Verbindung mit der nachhaltigen Nutzung von IKT-Systemen gebracht, wobei entsprechende Überlegungen keineswegs neu sind. Ein häufig zitiertes Beispiel ist die Realisierung von E-Mail-Systemen auf Basis von „Cloud Computing“, denn hier nimmt die Komplexität der Anwendung durch Maßnahmen zur Unterbindung von Kompromittierungsversuchen kontinuierlich zu, so dass kleinere Unternehmen von einer Auslagerung profitieren können. Vorteile ergeben sich auch im Fall von stark schwankender Nachfrage: Normalerweise müsste man genug Kapazität vorhalten, um die Belastungsspitzen bedienen zu können. Bei Nutzung von „Cloud Computing“ lässt sich die genutzte Kapazität variabel an den tatsächlichen Bedarf kurzfristig anpassen.
Das Grundproblem, nämlich die Absicherung des Zugriffs auf die Anwendungsdaten beim Transfer zwischen lokalem Client und entferntem Server, konnte bis heute nicht befriedigend gelöst werden. Es existieren allerdings zahlreiche Entwicklungen im Bereich der Datensicherheit, wie beispielsweise SSL/TLS-Verschlüsselung.
Kritiker befürchten, dass die Kontrolle der privaten Daten von Benutzern durch die marktdominanten Anbieter, wie etwa Google, hierdurch überhandnehme.[7] Allerdings gibt es mittlerweile Algorithmen, die Berechnungen so auf einzelne Instanzen aufteilen können, dass es selbst allen Instanzen gemeinsam nicht möglich ist, Rückschlüsse auf die verarbeiteten Daten zu ziehen. Dies ist lediglich der ausführenden Instanz möglich, da nur sie den genauen Algorithmus kennt, mit dem die Teilergebnisse wieder zusammengeführt werden. Der kommerziellen Nutzung solcher Verfahren stehen heute allerdings noch Performanceprobleme im Weg. Ein weiterer Ansatz, der sich zur Behebung dieses Problems eignet, ist die Anwendung einer voll homomorphen Verschlüsselung. Dabei wird innerhalb der Cloud ausschließlich auf verschlüsselten Daten gerechnet, die im privaten Bereich dann wieder entschlüsselt werden können. Die Herausforderung liegt hier jedoch momentan darin, eine solche Verschlüsselung zu finden, die noch dazu performant genug für einen massiven, großflächigen Einsatz, wie er in der Cloud nötig wäre, ist. Eine weitere Herausforderung in der Cloud ist die Abhängigkeit (Lock-in-Effekt) vom jeweiligen Cloud-Anbieter, da die angebotenen Schnittstellen meist sehr herstellerspezifisch sind.
Abgrenzung zu „Grid Computing“
Bei „Grid Computing“ geht es um die gemeinschaftliche Nutzung der gemeinsamen Ressourcen und es gibt keine zentrale Steuerung. Im Fall von „Cloud Computing“ hat man einen Anbieter der Ressourcen und einen Nutzer. Die Steuerung der Ressourcen erfolgt ebenfalls zentral.
Abgrenzung zu Peer-to-Peer
Auch wenn das Konzept der Clouds dem eines Peer-to-Peer Netzwerkes nicht unähnlich erscheint und beide Ansätze auch oftmals miteinander verwechselt werden, ist das Ziel des „Cloud Computings“ ein anderes. In Peer-to-Peer-Netzwerken geht es darum, Rechenlast auf möglichst viele Rechner zu verteilen und somit die Last von einem Server wegzunehmen. Beim „Cloud Computing“ geht es nicht um Verteilung, sondern um Auslagerung von Rechenlasten. Anstatt eigene Rechner-, Server- oder Softwareressourcen zu nutzen oder die Last im Netzwerk zu verteilen, werden die Ressourcen von Anbietern von „Clouds“ genutzt.
Rechtliche Fragen (basierend auf der rechtlichen Lage in Deutschland)
Bei der rechtlichen Betrachtung muss grundsätzlich zwischen der Beziehung zwischen Endkunde und Cloud-Anbieter und den rechtlichen Beziehungen innerhalb der „Clouds“ unterschieden werden. Diese Beziehungen müssen grundsätzlich vertraglich geregelt werden.
Bei den Cloud-spezifischen Leistungen werden in der Regel Web- oder Filespace, Datenbanken, Applikationen und Hostingservices zur Verfügung gestellt. Beim Webhosting (ggf. auch für das Storage-Management), bei dem Daten auf den Host des Hosting-Providers gespeichert werden, wird vertreten, dass es sich hierbei nicht um einen Mietvertrag nach §§ 535 ff. BGB handelt, sondern um einen Werkvertrag nach §§ 631 ff. BGB. Der Hosting-Provider schuldet als Leistung lediglich, dass die Website des Kunden bei ihm irgendwo gespeichert wird und dass sie im Internet aufgerufen werden kann. Eigentliche Leistung ist daher die Aufbewahrung der Information und ihr Zurverfügunghalten für den Abruf im Internet. Für den Kunden ist vor allem wichtig, dass die Inhalte dauernd abrufbar sind. Wie der Hosting-Provider oder Cloudanbieter diese Leistung erbringt, ist dem Kunden gleichgültig. Damit wird nicht primär Speicherplatz überlassen, sondern primär ein Erfolg, nämlich die Abrufbarkeit im Internet geschuldet. Das Einspeichern der Website ist nur technische Voraussetzung des geschuldeten Erfolgs.
Bei der zur Verfügungstellung von Applikationen wird in der Regel ein Software-as-a-Service (SaaS) oder „Application Service Providing“-Modell (ASP) gewählt. Hierbei wird vom ASP-Anbieter einem Kunden die temporäre Nutzung von Applikationen zur Verfügung gestellt. Der BGH (Urt. v. 15. November 2006 - Az.: XII ZR 120/04) hat entschieden, dass auf Application-Service-Providing-Verträge grundsätzlich die mietrechtlichen Vorschriften Anwendung finden. Auch wenn diese Entscheidung sicherlich bedeutsam gewesen ist, bedarf es doch einer erheblichen vertraglichen Gestaltung, insbesondere bei der Gestaltung der Service-Levels, da hier die mietrechtlichen Regelungen des §§ 535 ff. BGB allein nicht ausreichend sein dürften.
Die Einordnung von Hosting-Verträgen für Datenbanken in die vertragstypologische Einordnung des BGB richtet sich nach der vertraglich geschuldeten Leistung. Hierbei ist grundsätzlich zu unterscheiden, ob wie weiter oben beschrieben Filespace zur Speicherung der Datenbank vom Provider zur Verfügung gestellt wird (sogenanntes Datenbank-Hosting) oder eine Applikation wie eine Oracle-Datenbank zur (zeitweiligen Nutzung) zur Verfügung gestellt wird d). Schuldet der Cloud-IT-Anbieter über die Hosting-Leistung hinaus Leistungen, wie z. B. bei der Gestaltung der Datenbanken, sind ggf. die Regelungen von § 87 a–e UrhG zu berücksichtigen.
In der Praxis soll es zuweilen durch die Virtualisierung von Serverfarmen bei Cloudanbietern vorkommen, dass ein Cloudanbieter nicht weiß, auf welchem Server in welchem Land gerade eine ganz bestimmte Datei eines Kunden liegt. Dies stellt aus der Sicht des Datenschutzrechts als problematisch dar, insbesondere wenn unklar ist, welche Drittunternehmen Zugriff auf die Daten haben oder Daten in Staaten außerhalb der EU verarbeitet werden.
Abgesehen von diesen Fragen bietet das deutsche BDSG für die weiteren Fragen jeweils entsprechende Lösungen. Für die Auftragsdatenverarbeitung greifen die im § 11 BDGS in Verbindung mit § 9 BDSG und Anlage 1 zum BDGS geforderten organisatorischen und technischen Maßnahmen. Für eine Übertragung personenbezogener Daten ins Ausland greift der Grundsatz des angemessen Datenschutzniveaus des Empfängerlandes und der damit verbundenen Regelungen nach § 4 b–c BDSG.
In einer Stellungnahme hat jüngst die Datenschutzaufsichtsbehörde von Schleswig-Holstein zu den datenschutzrechtlichen Fragen bei Cloud Computing Position bezogen.[8]
Umsetzungen
- 3tera Applogic (virtuelles Betriebssystem auf Cloudbasis, Herstellerneutral: Linux, in Entwicklung: Solaris, Windows)
- Adobe Unternehmensanwendung: Adobe® LiveCycle® ES-Lösungen auf Amazon Web Services Plattform.
- Amazon Elastic Compute Cloud
- Apple iWork.com/MobileMe
- AtosOrigin - Atos Sphere
- Covisint - AppCloud
- Fabasoft Folio Cloud[9][10]
- Filespots - Dateiaustausch mit Vorschau
- Google App Engine
- iCloud (virtuelles Betriebssystem auf Cloudbasis, welches per Webbrowser global erreichbar ist)
- Windows Azure
- OnLive: Kompressionsmethode für Computergrafik zur Realisierung von Cloud Gaming.
- Salesforce force.com-Plattform
- Ubuntu One
- VMware vSphere Herstellerneutral: AMD/Intel CPU; 32- und 64‐Bit; Clients: FreeBSD, Linux, MS-DOS, Netware, OS/2, Windows, Solaris. VMware vSphere ist in verschiedenen Editions (small, medium, enterprise) erhältlich.
- Ubuntu Enterprise Cloud
- Lisog Open Source Cloud Referenz Stack
- T-Systems Dynamic Services; private Cloud-Ansatz zum dynamischen Betrieb von beispielsweise SAP-Anwendungen
- cloudControl Platform as a Service aus Deutschland
- VERPURA(eine komplette Online-Software für Kleinbetriebe, welches einfach per Webbrowser zu erreichen ist)
- Wuala
Siehe auch
- Ambient Intelligence
- Internet der Dinge
- Machine-to-Machine (M2M)
- Pervasive Computing
- Simple Knowledge Organisation System
- Ubiquitous Computing
- Verteiltes Rechnen
Weblinks
- Aktueller Begriff: Cloud Computing, Deutscher Bundestag, Wissenschaftliche Dienste Nr. 15/10 ( 12. März 2010 ), 2 S., 64 KB
- Handelsblatt.com | Cloud Computing: Unternehmer geben Server nicht her
- Cloud Computing Risk Assessment (including recommendations) - November 2009, ENISA (mit PDF-Datei; 2 MB) (englisch)
- Internetgiganten kämpfen um die Wolke – FAZ
- Above the Clouds: A Berkeley View of Cloud Computing – ausführliche Darstellung über Möglichkeiten des Cloud Computing (englisch)
- 10 sicherheitsrelevante Gründe gegen Cloud Computing - scip AG
- Chaosradio 153 - Cloud Computing
Einzelnachweise
- ↑ S.Tai, M.Kunze, J.Nimis, C.Baun: Cloud Computing - Web-basierte dynamische IT-Services, Reihe Informatik im Fokus, Springer, Berlin Heidelberg 2010, ISBN 978-3-642-01593-9
- ↑ NIST Definition of Cloud Computing
- ↑ Above the Clouds: A Berkeley View of Cloud Computing.
- ↑ Sam Charrington: Cloud Taxonomy: Applications, Platform, Infrastructure.
- ↑ Philipp Strube: Abgrenzung Cloud Hosting und PaaS
- ↑ Charles Arthur: Government to set up own cloud computing system. The Guardian, 27. Januar 2010.
- ↑ David Smith: Google plans to make PCs history. The Observer 25. Januar 2009
- ↑ "Cloud Computing und Datenschutz" vom Unabhängigen Landeszentrum für Datenschutz in Schleswig-Holstein
- ↑ Fabasoft Folio weltweit erstes Produkt mit bestandener MoReq2 Zertifizierung - Medienecho(abgerufen am 7. April 2010)
- ↑ Bericht im Format (abgerufen am 7. April 2010)