Das „Rechnen in der Wolke“ oder sogenannte Cloud Computing beschreibt die Möglichkeit, Daten, Software und Dienstleistungen über ein Netzwerk oder das Internet zur Verfügung zu stellen. Dabei wird ein Teil der benötigten Daten (zum Beispiel Software), aber auch Hardware nicht mehr vom Nutzer selber betrieben, sondern von einem Anbieter gemietet. Die Daten befinden sich dabei nicht mehr auf dem eigenen Rechner, sondern in einer sogenannten Wolke, der Cloud.
Nicht verwechseln darf man die Cloud mit dem sogenannten Grid Computing. Während man beim Grid Computing gemeinsame Ressource ohne zentrale Steuerung nutzt, hat man beim Cloud Computing einen Anbieter, der Ressourcen anbietet, sowie einen Nutzer.
Die Geschichte der Cloud
Der Begriff der Cloud wurde vor allem durch die großen Anbieter Google, Amazon und Yahoo geprägt. Diese hatten aufgrund ihres schnellen Wachstums das Problem, auch in den Spitzenzeiten genug Ressourcen zu haben und eine ausreichende Performance für die Nutzer bereitzustellen. Bereits im Weihnachtsgeschäft 2006 war diese Spitzenlast zehn Mal so hoch wie die Last im Tagesgeschäft. Amazon löste dieses Problem dadurch, dass man die serviceorientierte Architektur und auch die Dienste, die stark schwankenden und hohen Nutzerzahlen unterworfen waren, in die Cloud verteilte.
In Europa hingegen entwickelte sich das Cloud Computing nur zögerlich. Der Grund dafür war zum einen, dass der Ausbau des Breitband-Internets langsamer war als in den USA, zum anderen aber auch, dass keine pay-as-you-go-Dienste verfügbar sind. Besondere Bedenken bestanden auch in der Frage, ob kleinere Unternehmen im Falle einer Regulation des Cloud Computing, fair behandelt würden.
Die Definition der Cloud
Das National Institute of Standards and Technology unterscheidet die Cloud oder das Cloud Computing in drei verschiedene Service Modelle:
- Infrastructure as a Service (IaaS): Ein virtueller Datenspeicher wird sozusagen in den eigenen Computer integriert. Der Nutzer kann Ressourcen auf anderen Rechnern, in anderen Netzwerken oder Speichern nutzen. Mit Hilfe von IaaS können Nutzer ihre eigenen Kapazitäten ausbauen, indem sie virtuelle Computer-Cluster nutzen.
- Platform as a Service: Nutzer haben über Rechnerwolken Zugang zu Programmierungs- oder Laufzeitumgebungen, die wiederum dynamisch anpassbare Rechen- und Datenkapazitäten je nach Nutzermenge haben. Nutzer können hier die Softwareumgebung des Dienstleisters nutzen und eigene Software-Anwendungen entwickeln oder ausführen.
- Software as a Service: Dienstanbieter, die Software as a Service anbieten, erlauben anderen Nutzern spezielle Software-Sammlungen oder Anwendungsprogramme zu nutzen. Ein Beispiel hierfür ist Google Docs. Google stellt seinen Nutzern ein komplettes Softwarepaket mit Tabellenkalkulation und Textverarbeitung zur Verfügung. Die erstellten Dokumente können dabei in der Cloud gespeichert werden.
Vor- und Nachteile von Cloud Computing
Das Cloud Computing bietet viele Vorteile. So kann der Nutzer die eigenen Computerkapazitäten schonen. Er benötigt weniger Rechenleistungen, um Software zu nutzen. Fehler in der Software können ohne weitere Installationen auf dem Computer des Nutzers aktualisiert werden, die Software wird sicherer. Oftmals bietet nämlich gerade Software, die nicht regelmäßig aktualisiert wird, ein Angriffsziel für Viren und Hacker. Auch benötigt der Nutzer lediglich einen Computer mit Internetzugang und kann von überall auf der Welt auf seine Daten zugreifen. Lästige Synchronisation sowie die Verwendung von Massendatenspeichern oder USB-Sticks entfällt.
Auf der anderen Seite steht natürlich die Frage nach der Sicherheit der eigenen Daten. Obwohl die Anbieter versichern, dass die eigenen Daten in der Cloud sicher sind, sind auch die Rechenzentren der Anbieter weder vor Angriffen aus dem Internet gefeit noch weiß man, ob Daten nicht auf irgendeine andere Weise zu Marktforschungszwecken genutzt werden.
Die Architektur der Cloud
Die Cloud ist hauptsächlich durch den Skalierungsgedanken entstanden, so ist es mit Hilfe der Cloud mehreren Menschen möglich, Dienste und Ressourcen gleichzeitig zu nutzen. Die Cloud hat wie ein herkömmlicher Computer Arbeitsspeicher, Prozessoren, eine Festplatte und Programme. Die Cloud besteht allerdings nicht nur aus einem Computer, sondern ist beliebig skalierbar. So hatte Google schon 2009 für sein Google File System schon 15.000 einzelne Rechner verteilt.
Die technische Realisierung der Cloud
Eine mögliche Gliederung der Cloud besteht darin, diese in die Infrastruktur, Plattform und Anwendung aufzusplitten. Dabei kann die obere Schicht (Anwendung) auf eine der unteren (Plattform und Infrastruktur) aufbauen, muss es aber nicht.
So stellt die Infrastruktur (IaaS) die unterste Schicht, auch Cloud Foundation genannt, dar. Dabei greift der Nutzer auf seine Recheninstanzen zu und verwaltet diese weitestgehend selbst. Dies ist zum Beispiel bei einem virtuellen Server der Fall. Je nach Anforderung können die Anforderungen an die Rechenleistung beliebig erweitert werden.
Die zweite Schicht ist die Plattform (PaaS). Dabei handelt es sich um eine Anwendung, die in die Cloud geladen wird. Hier hat der Nutzer keinen direkten Zugriff auf Recheninstanzen und er betreibt ebenfalls keine virtuellen Server. Vielmehr bringt er die eigene Programmlogik in die Cloud ein, die für ihn eine Programmierschnittstelle darstellt. Ein Beispiel für die Plattformschicht der Cloud sind die App Engine von Google oder Windows Azure von Microsoft.
Die oberste Schicht der Cloud, die Anwendungsschicht, ist der abstrakteste Cloud Dienst. Der Benutzer muss dabei weder Applikationen in die Cloud einbringen noch sich um Datennutzung oder Skalierbarkeit kümmern, er nutzt Applikationen, die ihm vom Anbieter bereitgestellt werden. Beispiele für die Anwendungsschicht sind Google Drive oder Office Communications Online.