Cloud Computing - Datenwolken im Internet

netplanet Werbung

Musik und Filme streamen, online Bilderalben verwalten, betriebliche Web-Anwendungen für geschlossene Benutzergruppen anbieten, Kalender und Adressbücher auf mehreren Geräten synchron führen - das alles funktioniert, weil alle zum Einsatz kommenden Daten nicht allein direkt auf den Geräten verarbeitet und gespeichert, sondern teilweise auf Servern im Internet bereitgehalten, verarbeitet und im Bedarfsfall zu Clients übertragen werden. Zum Einsatz kommen hier so genannte Cloud-Lösungen, die die Datenverarbeitung und -speicherung revolutionieren und ohne das Internet undenkbar wären.

Das moderne Internet im Alltag - undenkbar ohne Clouds.

Elektronische Geräte begleiten uns schon seit vielen Jahren und Jahrzehnten durch den Alltag, ob nun als Radiowecker, als Herd, als Fernseher oder vieles mehr. Üblicherweise sind die meisten dieser Geräte auch im Zeitalter der immer stärkeren Vernetzung nomadisch, haben also weder eine Verbindung zu einem "höheren" Dienst, noch untereinander. Die einzig verbindende Eigenschaft ist die Stromversorgung über die Steckdose (über die bei vielen Geräten immerhin eine rudimentäre Fernsteuerung durch Aktivierung beziehungsweise Deaktivierung der Stromversorgung möglich ist).

In unserer heutigen Zeit haben wir es immer häufiger mit Geräten und Anwendungen zu tun, die einen beträchtlichen Teil ihrer Eigenschaften durch eine Internet-Anbindung realisieren. Viele Geräte beispielsweise können über das Internet (sofern das Gerät über einen Internet-Zugang verfügen kann) Software-Updates beziehen und auf diesem Wege auf aktuellem Stand gehalten werden.

Einen Schritt weiter geht die Unterhaltungsbranche, denken wir hier nochmal an den Fernseher: Die meisten, heute erhältlichen Fernseher haben nicht nur herkömmliche Empfangsanlagen für Antennen-, Kabel- oder Satellitenempfang, sondern sind gleichzeitig auch so genannte Smart-TV - sie bringen zusätzlich einen eingebauten Computer mit Betriebssystem mit, der die Installation und Nutzung von vielen weiteren Fernsehprogrammen ermöglicht. Diese Programminhalte werden jedoch nicht über die herkömmlichen Wege empfangen, sondern über das Internet, wenn der Fernseher auf einen funktionierenden Internet-Anschluss zugreifen kann. Das Internet ist mit solchen Diensten also eine riesige, jederzeit bereite Videothek.

Noch dramatischer ist die Bedeutung von Cloud-Lösungen für mobile Kleincomputer wie Smartphones und Tablets (siehe hierzu auch Internet in der Handfläche: Mobile Computing). Um Batteriekapazität und große Datenübertragungsmengen einzusparen und gleichzeitig Daten zu sichern, greifen viele Anwendungen, die für mobile Gerätschaften konzipiert sind, auf Daten zurück, die in Cloud-Anwendungen der jeweiligen App-Anbieter gespeichert sind. Diese Datenbestände in der Cloud können dann in regelmäßigen Abständen mit den mobilen Gerätschaften synchronisiert werden - jederzeit, von dem Internet-Zugang aus und durchaus auch mit mehreren zu synchronisierenden Geräten unabhängig und gleichzeitig.

Solche Anwendungen wie global funktionierende Messenger oder Social Networks sind ohne Cloud-Systeme im Hintergrund heutzutage undenkbar, denn immer häufiger werden solche Anwendungen von vielen Millionen Anwendern gleichzeitig genutzt (beispielsweise über die hauseigenen Synchronisierungsdienste der mobilen Betriebssysteme auf iPhones und Android-Geräten). Zu dieser globalen Ausrichtung von solchen Diensten kommt dann noch das Phänomen, dass die Nutzerzahl dieser Dienste innerhalb kürzester Zeit um Millionen Nutzer an- und abschwellen kann. Man denke hierbei beispielsweise an globale Ereignisse wie ein Finale einer Fußballweltmeisterschaft, das üblicherweise Milliarden von Menschen gleichzeitig live verfolgen und darüber in ihren Social Networks kommunizieren.

Für die Bereitstellung solcher Dienste wird viel Rechenpower und vor allem sehr viel Speicherplatz benötigt, der dazu möglichst störungsfrei von überall aus dem Internet erreichbar sein sollte. Das wird mit sehr großen Rechenzentren realisiert, in denen Anbieter Online-Anwendungen und Daten für ihre Kundschaft zur Verfügung stellen können. Augenscheinlich ist das ähnlich wie klassisches Server-Hosting, allerdings ist beim Cloud Computing alles erheblich größer. So groß, dass einzelne Server und Festplatten zwar immer noch die kleinsten, gemeinsamen Bausteine darstellen, die meisten Cloud-Kunden jedoch nicht mehr nach Hardware bezahlen, sondern nur noch nach abgerufenen Dienstleistungen. Hard- und Software sind hier im Großeinsatz im Cloud Computing logisch betrachtet völlig voneinander entkoppelt.

Was ist Cloud Computing?

Cloud Computing bezeichnet zunächst einmal den Ansatz, vollständige Anwendungen auf Rechner im Internet zu verlegen und sie dadurch online verfügbar zu machen. Cloud Computing ist gewissermaßen eine Weiterentwicklung des Client-Server-Prinzips (siehe hierzu Host-Architekturen), indem der Server nicht mehr bezüglich Raum und Besitztum an den Betreiber der Anwendung gebunden ist, sondern die Anwendung in einer weitgehend abstrakten "Wolke" abgelegt und betrieben wird. Das Paradigma der Wolke wird deshalb genutzt, weil eine Wolke zwar ein sichtbares Objekt ist, aber keine fest definierten Grenzen besitzt und aus einer nahezu unendlichen Zahl an Partikeln besteht.

Für den Einsatz von Cloud Computing gibt es vor allem vier Hauptgründe:

  1. Kostenreduktion
    Das Hosting von Daten und Diensten erzeugt direkte Kosten hinsichtlich Hard- und Software, aber auch nicht zu unterschätzende indirekte Fixkosten für Internet-Anbindung, Raummieten, Personal, Energie und Klimatisierung. Cloud-Anbieter verteilen diese Fixkosten auf eine viel größere Zahl an Kunden und Geräteeinheiten und erreichen so eine deutlich günstigere Mischkalkulation.
  2. Verfügbarkeit der Dienste
    Rechenzentren, in denen Cloud-Dienste stationiert sind, sind üblicherweise besonders für Dienste ausgerüstet, die eine hohe Verfügbarkeit benötigen. Dazu gehört, dass Stromversorgung, Internet-Anbindung und Klimatisierung mehrfach redundant vorhanden sind und im Falle eines Ausfalles eines dieser Komponenten sehr schnell auf ein Ersatzsystem geschaltet werden kann. Zu dieser technischen Ausstattung gehören auch entsprechende Notfallpläne und versiertes, rund um die Uhr verfügbares Personal.
  3. Elastizität der Ressourcen
    Die wichtigsten Ressourcen können in Cloud-Umgebungen dynamisch eingesetzt und erweitert werden, beispielweise die Anzahl der verfügbaren Prozessoren, Arbeitsspeicher, Festplattenspeicherplatz etc. Für Anwendungen stehen üblicherweise bestimmte Scriptlaufzeiten zur Verfügung, die dynamisch je nach Wunsch angefordert und hinzugefügt werden können. Entsprechend dem Einsatz von Ressourcen wird eine Abrechnung der in Anspruch genommenen Leistungen und Ressourcen durchgeführt. Cloud-Anwender können so maßgeschneiderte Ressourcenpakete in Anspruch nehmen.
  4. Uniformität der Umgebung
    Die Systemumgebungen werden von Cloud-Anbietern vorgegeben und sind in der Regel innerhalb der gesamten Cloud uniform. Systemintegratoren können sich so auf Umgebungen einstellen und sich darauf verlassen, dass bei zusätzlichen Erweiterungen oder Instanzen vergleichbare Bedingungen herrschen. Beispielsweise stellen Cloud-Anbieter eine ganze Reihe von Betriebssystemen zur Verfügung, die Kunden ganz nach Bedarf auswählen, installieren (und bei kommerziellen Betriebssystemen auch lizenzieren) können.

Die Virtualisierung als Basis für Cloud-Computing.

Technische Basis des Cloud Computings und der meisten Cloud-Anbieter ist die Virtualisierung von Systemumgebungen. Betriebssysteme sind in solchen Umgebungen nicht fest auf die Hardware eines Computers installiert, sondern werden auf eine auf dem Computer installierten Software-Umgebung installiert, dem so genannten Hypervisor. Dieser Hypervisor ermöglicht es, dass Betriebssystem und Hardware prinzipiell unabhängig voneinander sind. Das Betriebssystem wird dabei in einem Hypervisor-Container installiert, dem entsprechende Hardware-Ressourcen zugeordnet werden.

Der Effekt dieser Vorgehensweise ist, dass die installierten "virtuellen Maschinen" beliebig mit Hardware-Ressourcen ausgestattet und auch auf andere Standorte verschoben und dort bereitgehalten werden können. Instanzen lassen sich kopieren und "einfrieren", um so vollständige Datensicherungen zu erzeugen oder auch um schnell neue Instanzen vorzubereiten.

Die Cloud kennt keinen zentralen Ort.

Obgleich Cloud-Lösungen von sehr großen Unternehmen wie Amazon, Google, Microsoft und vielen anderen Providern angeboten werden, sind die einzelnen Cloud-Lösungen keineswegs nur in einem Rechenzentrum beheimatet, auch wenn diese für Cloud-Computing eingesetzten Rechenzentren derartig gewaltig dimensioniert sind, dass hier eher von Data Center gesprochen wird. Solche Data Center haben viele zehntausend Quadratmeter Fläche, auf denen Netzwerkschränke mit kompakt eingebauten Servern aufgestellt sind. Die größten Data Center kommen hierbei problemlos auf Kapazitäten für mehrere 100.000 einzelne Server - die alle zuverlässig mit Strom, Netzwerk und Klimatisierung versorgt werden müssen.

Trotz der geballten Computerleistung in Data Centern werden Clouds üblicherweise auf mehrere, örtlich voneinander getrennte Rechenzentren verteilt, die teilweise sogar in anderen Regionen, Ländern oder gar anderen Kontintenten stationiert sind. Auf diese Weise kann eine größtmögliche Redundanz geboten werden, die dank der sehr leistungsfähigen Vernetzungen von Cloud-Standorten weitgehend in Echtzeit erfolgen kann.

Ebenfalls nicht unüblich ist, dass einzelne Cloud-Standorte von einzelnen Anbietern nicht in einem eigenen Data Center beheimatet sind, sondern bei externen Betreibern von Data Centern stationiert sind, beispielsweise bei kleineren Cloud-Standorten. Nicht selten kann es so vorkommen, dass in einem Data Center mehrere Cloud-Anbieter entsprechende Kapazitäten stationiert haben und diese völlig unabhängig voneinander betreiben.

Ein Kennzeichen einer Cloud-Lösung ist, dass es für die darin gehosteten Anwendungen und Daten und auch für die Entwickler dieser Anwendungen prinzipiell egal sein kann, an welchem Ort beziehungsweise in welchem Data Center genau die Anwendungen und die dazugehörigen Daten abgelegt sind. Wird eine Anbindung mit entsprechender Redundanz gehostet, kann es daher durchaus möglich sein, dass gehostete Daten und Anwendungen auf verschiedenen Systemen in unterschiedlichen Data Centern liegen. Viele Cloud-Anbieter bieten es an, Anwendungen explizit in Regionen zu stationieren, die möglichst nah an den Orten der Nutzer liegen, um Übertragungswege möglichst kurz zu halten. Auch gibt es vollautomatisch arbeitende Auslieferungsnetzwerke (so genannte Content-Delivery-Networks), die Zugriffe aus allen Teilen der Welt anhand der IP-Adresse des Absenders von Cloud-Servern beantworten und die regional möglichst nahe beim Empfänger der angeforderten Daten stationiert sind.

Servicemodelle im Cloud-Computing.

Es gibt verschiedene Servicemodelle im Cloud-Computing, die sich üblicherweise darin unterscheiden, wie der Anwender die Computerleistung der Cloud einsetzen möchte. Ähnlich wie bei Schichtenmodellen in der Datenübertragung (siehe hierzu auch Schichtenmodelle) wird beim Cloud-Computing bezüglich der Servicemodelle von einem Schichtenmodell gesprochen, das drei Schichten aufweist - "Infrastructure as a Service" (IaaS), "Platform as a Service" (PaaS) und "Software as a Service" (SaaS).

  • Infrastructure as a Service (IaaS)
    Das Hosten eines kompletten virtuellen Servers stellt im Cloud-Computing die unterste Schicht dar und wird auch "Cloud Foundation" genannt ("Foundation" steht hierbei für "Sockel" oder "Basis"). Dem Anwender arbeitet im Rahmen einer IaaS-Lösung also faktisch gesehen mit einem kompletten Server und der dazugehörigen Betriebssystemoberfläche. Auf diesen virtuellen Server kann der Anwender dann beliebige Anwendungen installieren und Daten ablegen. Der Cloud-Anbieter stellt hier demnach weitgehend nur Rechenleistung und Speicherplatz für die virtuelle Maschine bereit - diese Umgebung stellt jedoch technisch gesehen eine vollständige Rechnerumgebung dar. Viele Betreiber bieten hierzu nicht nur vorbereitete Betriebssysteminstallationen an, sondern gestatten es auch, dass der Kunde eine vollständig eigene Umgebung auf seinen virtuellen Server installieren kann.
  • Platform as a Service (PaaS)
    Diese Variante für Cloud-Computing stellt eine Schichtenebene höher dar. Hier sorgt der Cloud-Anbieter nicht nur für die Hardware, sondern auch für Installation und Unterhaltung des Betriebssystems. Zur Verfügung gestellt werden hier umfangreiche Programmierschnittstellen (API) und Datenbankanbindungen, auf die der Cloud-Kunde seine eigenen Anwendungen (beispielsweise PHP-Scripte) aufsetzen kann. Vom Prinzip her ist PaaS mit einem erweiterten und vor allem fast unbeschränkt skalierbaren Webhosting zu vergleichen.
  • Software as a Service (SaaS)
    In dieser Variante hat der Anwender nicht nur mit der Infrastruktur nichts mehr zu tun, sondern auch nichts mehr mit der Plattform. Er nutzt nur noch eine fertige Anwendung, die in einer Cloud abgelegt ist und Dienstleistungen zur Verfügung stellt. Das können dann beispielsweise Dateispeicherlösungen wie Dropbox oder Appe iCloud sein, aber auch komplexere Anwendungen wie Google Drive und die damit verbundenen Applikationen wie die Textverarbeitung oder die Tabellenkalkulationen. Sowohl diese Anwendungen, als auch die damit verarbeiteten Daten liegen in der Cloud.

Wie es in Schichtenmodellen üblich ist, können Schichten untereinander verschachtelt sein, ohne dass diese ineinander verschachtelten Schichtenmodelle miteinander interagieren oder gar Kenntnis voneinander haben. Im Falle von Cloud-Lösungen ist es also durchaus möglich und auch gängig, dass Cloud-Dienste selbst in anderen Cloud-Diensten gehostet werden. Ein gutes Beispiel hierfür ist der Cloud-Dienst Dropbox:

Verschiedene Schichtenmodell-Ebenen im Beispiel von Dropbox.

Dropbox ist einer der größten Online-Dienste zum Speichern von Dateien in einer Cloud-Umgebung. In einfach zu bedienenden Apps und Programmen können Dropbox-Benutzer Dateien bequem und einfach auf "ihre Dropbox" kopieren und diese Dateien damit in der Cloud sichern und zur Verfügung stellen.

Für Dropbox-Benutzer ist Dropbox damit ein SaaS-Cloud-Anwendung, da lediglich die Dropbox-Benutzeroberflächen als Anwendung genutzt werden. Dropbox-Benutzer haben demnach auch keinen Zugriff auf Infrastruktur oder Plattform, auf denen Dropbox betrieben wird.

Einen anderen Blickwinkel gibt es aus der Sicht der Betreiber von Dropbox selbst, die ihren Dienst selbst ebenfalls in einer Cloud-Umgebung hosten und die zum Dropbox-Dienst zugehörigen Programme, Scripte und Dateiverzeichnisse entweder als PaaS- oder auch als IaaS-Cloud-Anwendung betreiben.

Diese strenge Trennung der beiden Schichtemodelle ist der Garant dafür, dass der Dropbox-Dienst prinzipiell unabhängig davon ist, wo er genau gehostet wird.

Aspekte des Datenschutzes.

Beim Hosting von Daten und Anwendungen außerhalb der eigenen Organisation stellt sich immer auch die Frage nach der Sicherheit der extern gelagerten Informationen. Unternehmen müssen personenbezogene Daten effektiv schützen, zusätzlich sind Unternehmen natürlich daran interessiert, dass ihre Unternehmensgeheimnisse auch tatsächlich geheim bleiben. Dies müssen Unternehmen auch dann sicherstellen, wenn sie Cloud Computing betreiben.

Bereitstellung der Cloud für bestimmte Audienzen.

Die Form der Bereitstellung einer Cloud und der darauf stationierten Daten und Anwendungen zeichnet schon grundlegend den Sicherheitsbedarf des Besitzers aus. Drei Bereitstellungsszenarien unterscheidet man:

  • Public Cloud
    Public Clouds ("öffentliche Clouds") sind weitgehend öffentlich zu erreichen und basieren auf Cloud-Diensten, die öffentlich angeboten werden. Zu diesen Public Clouds gehören die großen Cloud-Anbieter wie Microsoft (Microsoft Azure), Google (Google Cloud Platform), Amazon (unter anderem Amazon Elastic Compute Cloud) und viele weitere, teilweise mit sehr speziellen Architekturen für Szenarien wie dem Einsatz für Web-Caches, Datenlieferanten für die Unterhaltungs- und Computerspieleindustrie oder Unternehmensanwendungen.
  • Private Cloud
    Eine Private Cloud ("private Cloud") ist weitgehend nichtöffentlich stationiert und wird von Unternehmen oftmals in eigenen Data Centern betrieben. Damit entfällt oft zwar einer der Vorteile des Cloud-Computings (die Kostenersparnis bei externem Hosting), aber mit einer Public Cloud können Unternehmen dem Sicherheitsbedarf für ihre Daten zusätzlich Rechnung tragen, indem diese Daten in eigenen Räumen stationiert sind und mit eigenen Ressourcen betrieben werden. Eine Abstufung der Private Cloud sind Anmietungen von eigenen, abgeschlossenen Räumen in Data Center, in denen das Unternehmen seine eigenen Cloud-Systeme betreibt.
  • Hybrid Clouds
    Hybride Cloud-Lösungen verstehen sich als eine Kombination aus Public und Private Clouds, die üblicherweise in zwei Abstufungen betrieben werden. In einem Szenario werden Private Clouds vor allem für datenschutzkritische Anwendungen genutzt (zum Beispiel Kundendatensätze), während weniger kritische Daten in Public Clouds gelagert sind. Ein anderes Szenario setzt Hybride Cloud-Lösungen vor allem ein, um in einer Private Cloud eine vollständige Sicherung aller Daten zu haben, die auf der Seite der Public Cloud verarbeitet werden. Auch bei hybriden Cloud-Lösungen ist der Faktor der Kosteneinsparung mehr oder weniger stark betroffen.

Schutz von Daten vor unbefugten Zugriffen.

Ein funktionierender Schutz von Daten beginnt üblicherweise mit dem physischen Schutz am Computer vor unbefugtem Zugriff. Das ist bei einem Server, der in einem unternehmenseigenen Data Center noch verhältnismäßig einfach, wenn der Raum, in dem der Server ist, abgeschlossen ist und nur von befugtem Personal betreten werden kann.

In einer Cloud-Umgebung muss für den physischen Zugangsschutz der Cloud-Anbieter Sorge tragen und dies so sicherstellen und dokumentieren, dass es den gesetzlichen Anforderungen und den Anforderungen von Cloud-Kunden entsprechen kann. Eine besondere Herausforderung für global tätige Cloud-Anbieter ist es, solche strengen Richtlinien für alle eigenen Data Center nach gleichen Maßstäben durchzusetzen.

Verpflichtung zur Speicherung von Daten im eigenen Land.

In einem internationalen und augenscheinlich grenzenlosen Kontext sind auch Übertragung und Speicherung von geschäftskritischen und personenbezogenen Daten technisch zunächst kein Problem - rechtlich aber durchaus. Die meisten Nationen der Welt haben unterschiedliche Auslegungen in Sachen Datenschutz. Hinzu kommt, dass Cloud-Standorte keine exterritorialen Gebiete sind und immer der Gesetzgebung des Landes unterstehen, in denen sie stehen.

Das führt besonders bei Abhörmaßnahmen zu Situationen, in denen Behörden und Geheimdienste anderer Nationen sich das Recht herausnehmen könnten, auf Daten zuzugreifen, die ein Cloud-Anbieter im jeweiligen Land abgelegt hat. Aus diesem Grund bieten viele Cloud-Anbieter an, dass Cloud-Nutzer festlegen können, dass in der Cloud gehostete Anwendungen und Daten nur in Cloud-Standorten bestimmter Regionen gespeichert sein dürfen beziehungsweise bestimmte Regionen ausgeschlossen werden.

Allerdings werden auch so noch eine ganze Reihe von rechtlichen Fragen aufgeworfen, deren Klärung nicht sehr einfach ist. Beispielsweise müssen US-Firmen auf Anordnung von US-Behörden jederzeit Daten aus ihren Netzwerken zur Verfügung stellen. Es stellt sich hier die Frage, ob so eine Anordnung innerhalb eines Cloud-Netzwerkes auch dann gelten kann, wenn Standorte physisch nicht in den USA liegen, der Cloud-Anbieter selbst aber ein US-Unternehmen ist oder eine Niederlassung in den USA unterhält.

Was passiert, wenn die Cloud nicht erreichbar ist?

Spannende Fragestellungen ergeben sich in Szenarien, in denen cloud-basierte Anwendungen ausfallen oder der Internet-Zugriff fehlt. Dies sind durchaus berechtigte Fragen, denn Internet-Anbindungen können trotz mehrfach redundanten Installationen ausfallen oder durch großflächige Störungen beeinträchtigt sein. Bei selbst gehosteten Anwendungen im eigenen Unternehmensnetzwerk sind solche Störungen "draußen" nicht unbedingt sehr problematisch. Liegt aber ein beträchtlicher Teil der IT-Infrastruktur eines Unternehmens in einer Public Cloud außer Haus, können solche Ausfälle sehr schnell zu produktions- oder gar unternehmenskritischen Situationen führen.

Cloud-Strategien und -Anwendungen sollten daher immer ein Havariekonzept enthalten. Kann mit einer ausfallenden Cloud-Infrastruktur mit der Unternehmensanwendung noch gearbeitet werden? Kann sichergestellt werden, dass bei einer ausgefallenen und wieder in Betrieb genommenen Cloud-Anwendung eventuell offline verarbeitete Daten synchronisiert werden?

Kern all dieser Fragen ist, dass schon bei der Konzeption einer Cloud-basierten Infrastruktur eine Reihe von architektonischen Fragen geklärt werden müssen, um auch in Situationen bei Nichterreichbarkeit der Cloud-Infrastruktur noch Zugriff auf eine handlungsfähige IT zu haben.

Dieser Artikel ist Klaus Möller (1952-2013) gewidmet.

WERBUNG
Zum Beginn dieser Seite