„Cloud Computing“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
→Weblinks: http://www.bundestag.de/dokumente/analysen/2010/cloud_computing.pdf |
|||
Zeile 105: | Zeile 105: | ||
* [http://www.scip.ch/?labs.20091127 10 sicherheitsrelevante Gründe gegen Cloud Computing] - scip AG |
* [http://www.scip.ch/?labs.20091127 10 sicherheitsrelevante Gründe gegen Cloud Computing] - scip AG |
||
* [http://chaosradio.ccc.de/cr153.html Chaosradio 153 - Cloud Computing] |
* [http://chaosradio.ccc.de/cr153.html Chaosradio 153 - Cloud Computing] |
||
* [http://www.thomashelbing.com/de/neue-regeln-fuer-vertraege-datenverarbeitern-ausserhalb-eu Sicherstellung des Datenschutzniveaus bei Cloud Computing-Anbietern außerhalb der EU nach den neuen EU-Standardvertragsklauseln (Februar 2010)] |
|||
== Quellenangaben == |
== Quellenangaben == |
Version vom 12. März 2010, 18:32 Uhr
Cloud Computing (deutsch etwa Rechnen in der Wolke) ist ein Begriff aus der Informationstechnik (IT). Er bezeichnet primär den Ansatz, abstrahierte IT-Infrastrukturen (z.B. Rechenkapazität, Datenspeicher - siehe IaaS), fertige Programmpakete (siehe SaaS) und Programmierumgebungen (siehe PaaS) dynamisch an den Bedarf angepasst über 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: Die IT-Landschaft (in diesem Zusammenhang z.B. Rechenzentrum, Datenspeicher, Mail- oder Kollaborationssoftware, Entwicklungsumgebungen, aber auch Spezialsoftware wie Customer-Relationship-Management (CRM) oder Business Intelligence (BI)) wird durch den Anwender nicht mehr selbst betrieben bzw. bereitgestellt, sondern von einem oder mehreren Anbietern als Dienst gemietet. Die Anwendungen und Daten befinden sich nicht mehr auf dem lokalen Rechner oder im Firmenrechenzentrum, sondern in der (metaphorischen) Wolke (engl. cloud), die üblicherweise das Internet in gängigen Netzwerkdiagrammen repräsentiert. Der Zugriff auf die entfernten Systeme erfolgt über ein Netzwerk, beispielsweise das Internet. Es gibt aber im Kontext von Firmen auch sogenannte Private Clouds, bei denen die Bereitstellung firmenintern und somit nur bedingt über das Internet erfolgt. Die meisten Anbieter von Cloudlösungen nutzen die Poolingeffekte, die aus der gemeinsamen Nutzung von Ressourcen entstehen, für ihr Geschäftsmodell.
Definition
Der Begriff Cloud Computing wird Prof. Ramnath K. Chellappa zugeordnet. 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)
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.[2]
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:[3]
- Infrastruktur
- Plattform
- 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[4]. 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 voll alle 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 wieder zwei 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[5] 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/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.[6] 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 Performanzprobleme im Weg.
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
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 i.d.R. 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 i.d.R. ein Software as a Service (SaaS) bzw. Application Service Providing Modell (Kurzform: 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 in c) beschrieben Filespace zur Speicherung der Datenbank vom Provider zur Verfügung gestellt wird (sog. Datenbank-Hosting) oder eine Applikation wie eine Orcale-Datenbank zur (zeitweisen 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 einen nicht hinnehmbaren Zustand dar. Auch stellt sich beim Transferieren personenbezogener Daten die Frage, welches Datenschutzrecht mit ggf. zwingenden Vorschriften gerade anzuwenden ist. 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 i.V.m. § 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.
Umsetzungen
- Amazon Elastic Compute Cloud
- Google App Engine
- Windows Azure
- Salesforce force.com-Plattform
- 3tera Applogic (virtuelles Betriebssystem auf Cloudbasis, Herstellerneutral: Linux, in Entwicklung: Solaris, Windows)
- Adobe Unternehmensanwendung: Adobe® LiveCycle® ES-Lösungen auf Amazon Web Services Plattform.
- Apple iWork.com/MobileMe
- iCloud (virtuelles Betriebssystem auf Cloudbasis, welches per Webbrowser global erreichbar ist)
- 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.
- OnLive: Kompressionsmethode für Computergrafik zur Realisierung von Cloud Gaming.
- AtosOrigin - Atos Sphere
Siehe auch
- Verteiltes Rechnen
- SKOS
- Internet der Dinge
- Ambient Intelligence
- Ubiquitous Computing
- Pervasive Computing
- Machine-to-Machine (M2M)
Weblinks
- Aktueller Begriff: Cloud Computing, Deutscher Bundestag, Wissenschaftliche Dienste Nr. 15/10 ( 12. März 2010 ), 2 S., 64 KB
- 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)
- Europaïsche Föderation der Cloud Computing und SaaS Industrie
- Leitfaden: Wie man schrittweise Cloud Computing einführt
- 10 sicherheitsrelevante Gründe gegen Cloud Computing - scip AG
- Chaosradio 153 - Cloud Computing
- Sicherstellung des Datenschutzniveaus bei Cloud Computing-Anbietern außerhalb der EU nach den neuen EU-Standardvertragsklauseln (Februar 2010)
Quellenangaben
- ↑ 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
- ↑ 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