Cloud Computing

Unter Cloud Computing (deutsch etwa Rechnen in der Wolke) versteht man das Speichern von Daten in einem entfernten Rechenzentrum, aber auch die Ausführung von Programmen, die nicht auf dem lokalen Rechner installiert sind, sondern eben in der (metaphorischen) Wolke (englisch cloud).

Überblick

Technischer formuliert umschreibt das Cloud Computing den Ansatz, abstrahierte IT-Infrastrukturen (z. B. Rechenkapazität, Datenspeicher, Netzwerkkapazitäten oder auch fertige ) dynamisch an den Bedarf angepasst über ein Netzwerk zur Verfügung zu stellen. Aus Nutzersicht scheint die zur Verfügung gestellte abstrahierte IT-Infrastruktur fern und undurchsichtig, wie von einer „Wolke“ verhüllt. Angebot und Nutzung dieser Dienstleistungen erfolgen dabei ausschließlich über definierte technische Schnittstellen und Protokolle. Die Spannweite der im Rahmen von Cloud Computing angebotenen Dienstleistungen umfasst das gesamte Spektrum der Informationstechnik und beinhaltet unter anderem Infrastruktur (z. B. Rechenleistung, Speicherplatz), Plattformen und .

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 Pooling-Effekte, die aus der gemeinsamen Nutzung von Ressourcen entstehen, für ihr Geschäftsmodell.

Begriffsbestimmung

Der Begriff “Cloud Computing” wurde maßgeblich durch einige schnell wachsende Internetfirmen wie , und geprägt. Diese Firmen standen aufgrund des schnellen Wachstums ihrer Nutzerbasis vor dem Problem, ständig wachsende Systeme vorhalten zu müssen, die auch zu Spitzenlastzeiten (für wäre dies z.B. das Weihnachtsgeschäft) eine um Faktoren höhere Nutzerzahl bedienen zu können, als dies für das sonstige Tagesgeschäft nötig war. Für war diese Differenz im Jahre 2006 um den Faktor 10 höher.

Um diesem Problem zu begegnen, entschied man sich, die Architektur und die Dienste, die man zum Bewältigen der zum Teil stark schwankenden oder auch sehr hohen Nutzerzahlen entworfen und etabliert hatte, zu einem Produkt zu machen, das man nach außen hin anbietet, d.h. das dieses Problem in Spitzenlastzeiten auf die Nutzer der Cloud zu verteilt.

Für Amazon war dieser Schritt Mitte der 2000er Jahre eine logische Konsequenz, da man intern zu diesem Zeitpunkt schon auf kleine schnell-bewegliche Teams (fast-moving “two-pizza teams”) umgeschwenkt hatte, die neue Funktionalitäten auf Basis der bestehenden Cloud-Infrastruktur implementierten. Die Skalierungseffekte der Cloud-Dienste, die sich für die internen Teams als Blackbox darstellten, wurden damit zur Basis des Produktes “Cloud Computing” selbst, das man ab da nicht mehr nur intern, sondern auch extern anbot.

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.

  • “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.
  • 2009 veröffentlichte das National Institute for Standards and Technology (NIST) eine Definition, 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.

Architektur
Da Clouds primär durch den Skalierungsgedanken entstanden sind, finden sich dort auch die stärksten Distinktionsmerkmale.

Allgemeine Erläuterung
Um sich der Architektur zu nähern, kann man sich einen einfachen Rechner vorstellen. Er hat Prozessorkerne, Arbeitsspeicher, eine Festplatte und Programme. Diese Komponenten finden sich auch in einer Cloud, nur in einer Form, die massive Skalierung ermöglicht.

Demzufolge lesen sich die Kenndaten einer “Cloud-Festplatte” dann auch anders, als die einer klassischen Festplatte im Computer. Amazon spricht für seine Persistenzschicht (S3) von: “Die Anzahl der speicherbaren Objekte ist unbegrenzt.” Google hat seine Persistenzschicht (GFS) auf ca ~15.000 einzelnen Rechnern verteilt (Stand 2009).

Für die anderen Komponenten wie Programme oder Prozessorkerne gelten ähnliche große Maße. Warum dies so ist, erklärt sich allein durch die Zahlen. Im Jahre 2008 gibt Google bekannt, 10 Milliarden Dokumente, die über 1000 physikalische Computer verteilt sind, innerhalb von 68 Sekunden sortieren zu können.

“We are excited to announce we were able to sort 1TB (stored on the Google File System as 10 billion 100-byte records in uncompressed text files) on 1,000 computers in 68 seconds.” Mit Begeisterung kündigen wir an, dass wir fähig sind, 1TB (gespeichert im Google File System als 10 Milliarden 100-byte Dokumenten in unkomprimierten Textdateien) verteilt auf 1000 computer, innerhalb von 68 Sekunden zu sortieren”

Um Millionen von Nutzern innerhalb von Bruchteilen von Sekunden Ergebnisse zu liefern, den Kauf eines Produktes zu ermöglichen oder via täglich Gigabytes an Kurznachrichten anzunehmen und an die Abonnenten durchzureichen, müssen die Systeme selbst hochskalierend ausgelegt sein. Klassischen IT-Ansätze wie relationale Datenbanken, zentralisierte Speicher (SANs, NAS) oder Gruppierungen von Rechnern im Verbund (“Clustering”) sind nicht fähig, diese Einsatzszenarien abzudecken.

Technische Realisierungen von Cloud Computing

Es gibt unterschiedliche Arten von Cloud Computing. Eine mögliche Gliederung ist der sogenannte technische Cloud-Stack mit drei Schichten, in der obere Schichten auf den unteren Schichten aufbauen können, es aber nicht müssen.

  • Infrastruktur,
  • Plattform und
  • Anwendung.

Jede Schicht stellt hier einen Grad an Abstraktion dar. Auf diese Art können auch die unterschiedlichen Typen von “Clouds” klassifiziert werden.

Geschichte

Die Cloud ist eines der ältesten Sinnbilder der Informationstechnik und steht als solches für Rechnernetze, deren Inneres unbedeutend oder unbekannt ist.

Der Begriff Cloud Computing wurde maßgeblich durch einige schnell wachsende Internetfirmen wie Amazon, Google und Yahoo geprägt. Diese Firmen standen auf Grund des schnellen Wachstums ihrer Nutzerbasis vor dem Problem, ständig wachsende Systeme vorhalten zu müssen, die auch zu Spitzenlastzeiten (für Amazon wäre dies z. B. das Weihnachtsgeschäft) ausreichende Performance bereitstellen.

Für Amazon war diese Spitzenlast im Jahr 2006 um den Faktor 10 höher als die Grundlast im Tagesgeschäft. Um diesem Problem zu begegnen, entschied man sich, die (serviceorientierte) Architektur und die Dienste, die man zum Bewältigen der zum Teil stark schwankenden oder auch sehr hohen Nutzerzahlen entworfen und etabliert hatte, zu einem Produkt zu machen, das man nach außen hin anbietet, d. h. dass dieses Problem in Spitzenlastzeiten auf die Nutzer der Cloud verteilt wird.

Für Amazon war dieser Schritt Mitte der 2000er Jahre eine logische Konsequenz, da man intern zu diesem Zeitpunkt schon auf kleine schnell-bewegliche Teams (fast-moving „two-pizza teams“) umgeschwenkt hatte, die neue Funktionalitäten auf Basis der bestehenden Cloud-Infrastruktur implementierten. Die Skalierungseffekte der Cloud-Dienste wurden damit zur Basis des Produktes Cloud Computing selbst, das man ab da nicht mehr nur intern, sondern auch extern anbot. Amazon ist heute weltweit der größte Anbieter von Cloud Computing.

Zwingende Voraussetzung für die Inanspruchnahme und Verbreitung von Cloud-Computing-Diensten sind so schnelle Breitbandverbindungen, dass es keinen Unterschied mehr macht, ob Daten lokal auf einem PC oder auf entfernten Servern einer Cloud gespeichert sind. Mithin ist die zunehmende Relevanz des Cloud Computing für Privatanwender an die Marktversorgung mit ebenso schnellen wie zuverlässigen und kostengünstigen DSL- und LTE-Verbindungen gekoppelt.

Das langsame Wachstum des Cloud Computing in Europa wird u. a. damit begründet, dass keine Pay-as-you-go-Dienste verfügbar sind und dass hier besondere Bedenken bestehen, ob im Falle einer Regulation des Cloud Computing alle Marktteilnehmer – also auch kleinere Unternehmen – fair behandelt und bepreist werden. Insbesondere ist auch unklar, ob angesichts der rechtlichen Zersplitterung in Europa das nationale IT- und Datenschutzrecht des Landes des Anwenders, des Providers oder des Landes gilt, in dem die Daten gespeichert werden.

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 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 gegenüber konventionellen Systemen. Dies ist der Fall, wenn sich beispielsweise 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. Eine Übersicht über die Probleme der Datensicherheit und des Datenschutzes im Rahmen des Public Cloud Computing mit dem Stand der Technik vom Januar 2011 geben Jansen und Grance vom NIST.

Kritiker befürchten, dass die Kontrolle der privaten Daten von Benutzern durch die marktdominanten Anbieter, wie etwa Google, hierdurch überhandnehme. 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 ist für einen massiven, großflächigen Einsatz, wie er in der Cloud nötig wäre. 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.

Datenschutz

Nach Urteil des Europäischen Gerichtshofs dürfen nur eingeschränkt Daten in die USA gelangen, wo sich über 90 % der Cloud Computing Infrastruktur befinden. Nationale Datenschutzagenturen stützen sich auf Arbeiten der ENISA, wenn sie darlegen, warum Cloud Computing trotz Safe Harbor beispielsweise für Schulen unzulässig ist. Auch die Datenschutzbeauftragten der Schweiz warnen insbesondere vor Verletzung des Datenschutzrechts bei Verwendung von Rechenzentren im Ausland.

Wenn personenbezogene Daten Dritter in die Cloud gegeben werden, müssen sich beispielsweise deutsche Auftraggeber vorab und anschließend regelmäßig nachvollziehbar vor Ort in der Cloud davon überzeugen, dass die Vorgaben des Bundesdatenschutzgesetzes eingehalten werden. Weil namhafte Cloud-Anbieter Datenbestände ihrer Kunden weitergeben, drohen den Kunden Bußgelder. Cloud-Betreiber mit Sitz in den USA unterliegen dem US-Recht und demnach dem Patriot Act. Unternehmen mit Sitz in den USA sind deshalb gezwungen, auch Daten an amerikanische Behörden auszuliefern, die sich auf Servern in fremdem Hoheitsbereich befinden. Dies ist beispielsweise von Amazon, und Google bestätigt worden.

Nicht zuletzt wegen dieser Problemlagen im Datenschutz sowie in der Frage, inwieweit der Einzelne die Verfügungsgewalt über seine Daten tatsächlich behält, erhielt die Cloud bzw. Cloud Computing als Technik 2012 den Negativpreis Big Brother Award in der Kategorie “Kommunikation”, die Laudatio hielt Rena Tangens vom FoeBuD.

Quelle: (://de..org/wiki/Cloud_Computing)

Related Posts

OOP – Objektorientierte Programmierung
Google Art Project
Cache