Cloud Computing

Was ist Cloud Computing?

Bisher konnte sich für den Begriff Cloud Computing keine Definition als allgemeingültig durchsetzen. In Publikationen oder Vorträgen werden häufig Definitionen verwendet, die sich zwar meist ähneln, aber die doch immer wieder variieren. Eine Definition, die in Fachkreisen meist herangezogen wird, ist die Definition der US-amerikanischen Standardisierungsstelle NIST (National Institute of Standards and Technology), die auch von der ENISA (European Network and Information Security Agency) genutzt wird:

„Cloud Computing ist ein Modell, das es erlaubt bei Bedarf, jederzeit und überall bequem über ein Netz auf einen geteilten Pool von konfigurierbaren Rechnerressourcen (z. B. Netze, Server, Speichersysteme, Anwendungen und Dienste) zuzugreifen, die schnell und mit minimalem Managementaufwand oder geringer Serviceprovider-Interaktion zur Verfügung gestellt werden können.“

Folgende fünf Eigenschaften charakterisieren gemäß der NIST-Definition einen Cloud Service:

  1. On-demand Self Service: Die Provisionierung der Ressourcen (z. B. Rechenleistung, Storage) läuft automatisch ohne Interaktion mit dem Service Provider ab.
  2. Broad Network Access: Die Services sind mit Standard-Mechanismen über das Netz verfügbar und nicht an einen bestimmten Client gebunden.
  3. Resource Pooling: Die Ressourcen des Anbieters liegen in einem Pool vor, aus dem sich viele Anwender bedienen können (Multi-Tenant Modell). Dabei wissen die Anwender nicht, wo die Ressourcen sich befinden, sie können aber vertraglich den Speicherort, also z. B. Region, Land oder Rechenzentrum, festlegen.
  4. Rapid Elasticity: Die Services können schnell und elastisch zur Verfügung gestellt werden, in manchen Fällen auch automatisch. Aus Anwendersicht scheinen die Ressourcen daher unendlich zu sein.
  5. Measured Services: Die Ressourcennutzung kann gemessen und überwacht werden und entsprechend bemessen auch den Cloud-Anwendern zur Verfügung gestellt werden.

Diese Definition gibt die Vision von Cloud Computing wieder, wobei davon abgesehen werden sollte, die einzelnen Punkte zu dogmatisch zu sehen.
So wird z. B. eine ubiquitäre Verfügbarkeit bei Private Clouds eventuell gar nicht angestrebt.

Nach der Cloud Security Alliance (CSA) hat Cloud Computing neben der oben erwähnten Elastizität und dem Self Service noch folgende Eigenschaften:

  • Service orientierte Architektur (SOA) ist eine der Grundvoraussetzungen für Cloud Computing. Die Cloud-Dienste werden in der Regel über ein sogenanntes REST-API angeboten.
  • In einer Cloud-Umgebung teilen sich viele Anwender gemeinsame Ressourcen, die deshalb mandantenfähig sein muss.
  • Es werden nur die Ressourcen bezahlt, die auch tatsächlich in Anspruch genommen wurden (Pay per Use Model), wobei es auch Flatrate-Modelle geben kann.

Begriffsdefinition

Um für alle künftigen Arbeiten rund um Cloud Computing eine einheitliche Grundlage zu haben, hat das BSI folgende Definition für den Begriff „Cloud Computing“ festgelegt:

Cloud Computing bezeichnet das dynamisch an den Bedarf angepasste Anbieten, Nutzen und Abrechnen von IT-Dienstleistungen über ein Netz. Angebot und Nutzung dieser Dienstleistungen erfolgen dabei ausschließlich über definierte technische Schnittstellen und Protokolle. Die Spannbreite der im Rahmen von Cloud Computing angebotenen Dienstleistungen umfasst das komplette Spektrum der Informationstechnik und beinhaltet unter anderem Infrastruktur (z. B. Rechenleistung, Speicherplatz), Plattformen und Software.

Was unterscheidet eine Public Cloud von einer Private Cloud?

NIST unterscheidet vier Bereitstellungsmodelle (Deployment Models):

  1. In einer Private Cloud wird die Cloud-Infrastruktur nur für eine Institution betrieben. Sie kann von der Institution selbst oder einem Dritten organisiert und geführt werden und kann dabei im Rechenzentrum der eigenen Institution oder einer fremden Institution stehen.
  2. Von einer Public Cloud wird gesprochen, wenn die Services von der Allgemeinheit oder einer großen Gruppe, wie beispielsweise einer ganzen Industriebranche, genutzt werden können und die Services von einem Anbieter zur Verfügung gestellt werden.
  3. In einer Community Cloud wird die Infrastruktur von mehreren Institutionen geteilt, die ähnliche Interessen haben. Eine solche Cloud kann von einer dieser Institutionen oder einem Dritten betrieben werden.
  4. Werden mehrere Cloud Infrastrukturen, die für sich selbst eigenständig sind, über standardisierte Schnittstellen gemeinsam genutzt, wird dies Hybrid Cloud genannt.

Die oben genannten Definitionen decken aber nicht alle Varianten von Cloud Angeboten ab, was zu weiteren Definitionen wie „Virtual Private Cloud“, etc. führt.

Welche verschiedenen Servicemodelle werden im Cloud Computing angeboten?

Grundsätzlich können drei verschiedene Kategorien von Servicemodellen unterschieden werden:

  1. Infrastructure as a Service (IaaS) Bei IaaS werden IT-Ressourcen wie z. B. Rechenleistung, Datenspeicher oder Netze als Dienst angeboten. Ein Cloud-Kunde kauft diese virtualisierten und in hohem Maß standardisierten Services und baut darauf eigene Services zum internen oder externen Gebrauch auf. So kann ein Cloud-Kunde z. B. Rechenleistung, Arbeitsspeicher und Datenspeicher anmieten und darauf ein Betriebssystem mit Anwendungen seiner Wahl laufen lassen.
  2. Platform as a Service (PaaS) Ein PaaS-Provider stellt eine komplette Infrastruktur bereit und bietet dem Kunden auf der Plattform standardisierte Schnittstellen an, die von Diensten des Kunden genutzt werden. So kann die Plattform z. B. Mandantenfähigkeit, Skalierbarkeit, Zugriffskontrolle, Datenbankzugriffe, etc. als Service zur Verfügung stellen. Der Kunde hat keinen Zugriff auf die darunterliegenden Schichten (Betriebssystem, Hardware), er kann aber auf der Plattform eigene Anwendungen laufen lassen, für deren Entwicklung der CSP in der Regel eigene Werkzeuge anbietet.
  3. Software as a Service (SaaS) Sämtliche Angebote von Anwendungen, die den Kriterien des Cloud Computing entsprechen, fallen in diese Kategorie. Dem Angebotsspektrum sind hierbei keine Grenzen gesetzt. Als Beispiele seien Kontaktdatenmanagement, Finanzbuchhaltung, Textverarbeitung oder Kollaborationsanwendungen genannt.

Der Begriff „as a Service“ wird noch für eine Vielzahl weiterer Angebote benutzt, wie z. B. für Security as a Service, BP as a Service (Business Process), Storage as a Service, so dass häufig auch von „XaaS“ geredet wird, also „irgendwas als Dienstleistung“. Dabei lassen sich die meisten dieser Angebote zumindest grob einer der obigen Kategorien zuordnen.

Die Servicemodelle unterscheiden sich auch im Einfluss des Kunden auf die Sicherheit der angebotenen Dienste. Bei IaaS hat der Kunde die volle Kontrolle über das IT-System vom Betriebssystem aufwärts, da alles innerhalb seines Verantwortungsbereichs betrieben wird, bei PaaS hat er nur noch Kontrolle über seine Anwendungen, die auf der Plattform laufen, und bei SaaS übergibt er praktisch die ganze Kontrolle an den CSP.

Was unterscheidet Cloud Computing von klassischem IT-Outsourcing?

Beim Outsourcing werden Arbeits-, Produktions- oder Geschäftsprozesse einer Institution ganz oder teilweise zu externen Dienstleistern ausgelagert. Dies ist ein etablierter Bestandteil heutiger Organisationsstrategien. Das klassische IT-Outsourcingist meist so gestaltet, dass die komplette gemietete Infrastruktur exklusiv von einem Kunden genutzt wird (Single TenantArchitektur), auch wenn Outsourcing-Anbieter normalerweise mehrere Kunden haben. Zudem werden Outsourcing-Verträge meistens über längere Laufzeiten abgeschlossen.

Die Nutzung von Cloud Services gleicht in vielem dem klassischen Outsourcing, aber es kommen noch einige Unterschiede hinzu, die zu berücksichtigen sind:

  • Aus wirtschaftlichen Gründen teilen sich in einer Cloud mehrere Nutzer eine gemeinsame Infrastruktur.
  • Cloud Services sind dynamisch und dadurch innerhalb viel kürzerer Zeiträume nach oben und unten skalierbar. So könnenCloud-basierte Angebote rascher an den tatsächlichen Bedarf des Kunden angepasst werden.
  • Die Steuerung der in Anspruch genommenen Cloud-Dienste erfolgt in der Regel mittels einer Webschnittstelle durch denCloud-Nutzer selbst. So kann der Nutzer automatisiert die genutzten Dienste auf seine Bedürfnisse zuschneiden.
  • Durch die beim Cloud Computing genutzten Techniken ist es möglich, die IT-Leistung dynamisch über mehrere Standorte zu verteilen, die geographisch weit verstreut sein können (Inland ebenso wie Ausland).
  • Der Kunde kann die genutzten Dienste und seine Ressourcen einfach über Web-Oberflächen oder passende Schnittstellen administrieren, wobei wenig Interaktion mit dem Provider erforderlich ist.