Grundlagen des Cloud Computing

Cloud Computing tritt in verschiedenen Facetten auf, wodurch der Begriff für unterschiedlichste Technologien verwendet wird. Siehe auch Basistechnologien des Cloud Computing. Er ist bis heute nicht eindeutig definiert. Viele Bücher ziehen jedoch die Erläuterung der auf IT-Entwicklung spezialisierten Marktforschungsunternehmen Gartner und Forrester Research heran. Gartner beschreibt Cloud Computing als „a style of computing where massively scalable IT-related capabilities are provided „as a service“ using Internet technologies to multiple external customers.“
 

In der Arbeit wird der Begriff Cloud Computing für Dienste verwendet, die die folgenden Kriterien erfüllen:

  • Zentralisierter Dienst der es ermöglicht, Anwendungen zu betreiben und der über das Internet für jeden zugänglich ist
  • Die Kosten für den Dienst sind Nutzungsabhängig nach dem „pay as you use“ Prinzip
  • Die technische Infrastruktur ist von der physikalischen Infrastruktur abstrahiert
  • Einfache Skalierung der benötigten Ressourcen

Anwendungsfälle für Cloud Computing Web-Anwendungen

Cloud Web-Anwendungen können unterschiedlichste Anwendungsfälle abdecken. Die wichtigsten wurden durch das Projekt BEinGRID (Business Experiments in GRID) anhand konkreter Anwendungsfälle identifiziert. BEinGRID war das größte Projekt im 6. EU-Rahmenprogramm für Forschung, Technologische Entwicklung und Demonstration (FP6). Die nachfolgende Tabelle stellt die wichtigsten Anwendungsfälle dar:

 

Charakteristik der Anwendung

Beispiel Anwendung

Massive Skalierbarkeit

Soziale Netzwerke und Marketing Aktionen die über Soziale Netzwerke durchgeführt werden

Hohe Zuverlässigkeit

eCommerce Anwendungen

Variable Lasten

Online Shops wie Amazon (z.B. Lastspitzen zur Weihnachtszeit)

Unvorhersehbare & ggf. kurze Laufzeit

Webseiten für Events

Massives Parallel Computing

Große Datenberechnungen. Z.B. Genom Entschlüsselung

Bedarf an großen Speichermengen

Online Video Portale

Management der technische Infrastruktur einsparen

SaaS Anwendungen wie Google Docs

Anwendungen die nicht gut für On-Premise Hosting geeignet sind

Anwendungen die laufend aktualisiert werden.

Tab. 1 Anwendungsfälle für Cloud Computing

 

Ebenen des Cloud Computing

Cloud Computing Anbieter bieten Dienste auf unterschiedlichen Ebenen an, wobei die Ebenen theoretisch betrachtet aufeinander aufbauen. Die unterste Ebene bildet IaaS (Infrastructure as a Service) und stellt den darüber liegenden Ebenen die technische Infrastruktur zur Verfügung. Darauf baut die PaaS (Plattform as a Service)-Ebene auf, in der der Cloud Computing-Anbieter eine komplett verwaltete Systemumgebung mit diversen Services zur Verfügung stellt. In der höchsten Abstraktionsstufe SaaS (Software as a Service) werden komplette Web-Anwendungen zur Verfügung gestellt, die der Kunde nach dem „Pay-per-Use“ Prinzip nutzen kann.

Im nachfolgenden werden die einzelnen Ebenen genauer betrachtet:

 

CloudComputing_EbenenAbb. 2 Ebenen des Cloud Computing

Infrastructure as a Service (IaaS)

IaaS stellt die unterste Schicht im Cloud Computing dar. Der Cloud Computing Anbieter stellt eine virtuelle Infrastruktur zur Verfügung. Dazu zählen insbesondere virtuelle Server, Speichersysteme, Datenbanken und Netzwerke. Auf den virtuellen Servern kann der Kunde eigene Betriebssysteme und Software installieren. Die Flexibilität gegenüber PaaS ist deutlich höher, wird aber damit erkauft, dass der IaaS Nutzer die softwareseitige Administration der Server selbst übernehmen muss.

 

Die Kosten für IaaS-Lösungen sind nicht fix wie bei dem traditionellen Server Hosting, sondern abhängig von den verwendeten Ressourcen (u.a. CPU (Central Processing Unit) Zeiten und Speicherverbrauch).

Plattform as a Service (PaaS)

Die vorliegende Arbeit konzentriert sich überwiegend auf die PaaS-Ebene. Auf dieser Ebene stellen die Cloud-Anbieter einzelne Entwicklungswerkzeuge und Dienste zur Verfügung, die Anwendungsentwickler zu Programmierung neuer IT-Lösungen oder zur Anpassung bestehender IT-Lösungen an Cloud-Umgebungen nutzen können. Die entwickelten Anwendungen können als SaaS-Lösung über den Cloud-Anbieter bereitgestellt werden, der sich um die Administration der technischen Infrastruktur kümmert.

PaaS-Anbieter stellen Frameworks mit speziellen APIs für den Zugriff auf ihre Dienste wie Datenspeicherung, Datenbanken und Messaging Services zur Verfügung. Diese sind zumeist nicht kompatibel mit den APIs der konkurrierenden Cloud-Anbieter und führen zum „Vendor Lock-In“ genannten Problem, welches einen schnellen Wechsel zu einem anderen Cloud-Anbieter verhindert. Programme die für einen Anbieter entwickelt worden, müssen beim Wechsel auf eine andere Cloud-Plattform aufwändig angepasst werden. Wie groß der Aufwand ist, hängt von der speziellen Implementierung des Programmes ab. Daher sollte bereits beim Design der Anwendung auf eine möglichst große Interoperabilität geachtet werden. Diese kann beispielsweise durch Nutzung einer Zwischenschicht wie JPA (Java Persistence API) beim Zugriff auf die Datenbank des Cloud-Anbieters erhöht werden. Das IEEE (Institute of Electrical and Electronics Engineers) hat zu diesem Thema die Arbeitsgruppe P2301 gegründet, die die Interoperabilität der PaaS Cloud-Umgebungen erhöhen soll.

Software as a Service (SaaS)

SaaS arbeitet auf der obersten Schicht des Cloud Computing. Unternehmen, die SaaS anbieten, stellen ihren Kunden komplette Programme zur Verfügung, die über einen Browser abgerufen werden können. Die Software läuft auf der Infrastruktur des Cloud-Anbieters. Der Kunde spart somit Investitionen in Anwendungsserver und Softwarelizenzen. Er mietet die Software gegen eine monatliche Gebühr so lange er sie benötigt.

Gründe gegen die Nutzung einer SaaS Lösungen können die Datenhaltung beim SaaS-Anbieter und die erschwerte oder gar unmögliche Integration der SaaS-Anwendung in die bestehende Anwendungslandschaft des Kunden sein.

Cloud-Typen

Eine Cloud kann neben den verschiedenen Service-Ebenen auch durch den physischen Standort der Server Hardware und den Nutzerkreis, welcher auf die Cloud zugreifen darf, unterschieden werden.

CloudComputing_TypenAbb. 3 Cloud-Typen

Private Cloud

Bei der Private Cloud befindet sich die gesamte Hardware innerhalb des Unternehmens. Die IT-Abteilung des Unternehmens ist für die Administration des Cloud-Systems zuständig und kann die Sicherheit der unternehmenskritischen Daten gewährleisten. Es findet keine Ressourcenteilung mit anderen Cloud-Nutzern statt, sodass eine hohe Performance garantiert ist.

Eine Spezialform der Private Cloud ist die Community Cloud, bei der sich eine eingeschränkte Gruppe von Unternehmen eine Cloud teilen.

 

Public Cloud

Eine Public Cloud ist generell jedem zugänglich und stellt seine Dienste in einem öffentlichem Netzwerk wie dem Internet zur Verfügung. Es findet eine Ressourcenteilung statt, bei der mehrere Kunden sich die gleiche physikalische Hardware teilen. Die Trennung der Kunden wird per Software über Zugriffsbeschränkungen geregelt. Durch Load Balancing und Monitoring sorgen die Public Cloud-Anbieter dafür, dass immer genügend Leistungsreserven zur Verfügung stehen. Durch den großen Nutzerkreis können Skaleneffekte besonders gut genutzt werden, wodurch Public Cloud-Dienste relativ kostengünstig sind. Die Bezahlung der Dienste erfolgt meist monatlich auf Basis der in Anspruch genommen Ressourcen.

Hybrid Cloud

Die Hybrid Cloud stellt eine Mischform der beiden Ansätze dar und versucht die Vorteile der beiden Techniken zu vereinen und die Nachteile zu substituieren.
Aufgrund der verschiedenen Maßstäbe der Cloud-Typen in Bezug auf Sicherheit und zugesicherter Privatsphäre eigenen sich unternehmenskritische Anwendungen eher für den Betrieb in einer Private Cloud, wo hingegen weniger kritische Anwendungen auf IT-Ressourcen in einer Public Cloud ausgelagert werden können. Die Systeme oder Teile von einzelnen Systemen können somit als SOA umgesetzt werden und auf verschiedenen Cloud-Typen laufen. Die Kommunikation der Dienste läuft über gesicherte und standardisierte Interfaces. Dieser Zusammenschluss aus Private Cloud und Public Cloud wird als Hybrid Cloud bezeichnet.

Veröffentlicht in Cloud Computing.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert