Cloud Computing
Cloud-Computing Definition Framework
Cloud Computing ist heutzutage ein viel benutzter Begriff, der sowohl in den Medien als auch im Unternehmensumfeld reges Interesse findet. Insbesondere die Publizität des Cloud-Ansatzes sorgt jedoch dafür, dass oft Unklarheit bezüglich seiner Bedeutung herrscht. Zwar erkennt die Mehrheit, dass Cloud Computing mit einer Auslagerung von Informationen oder Diensten gleichzusetzen ist. Eine weitere Spezifizierung ist aber nur den Wenigsten möglich.
Hierzu wird im weiteren auf das Cloud-Computing Definition Framework eingegangen, welches vom National Institute of Standards and Technology (NIST) entwickelt und von Zalazar, Ballejos und Rodriguez um weitere Elemente erweitert wurde. Das Modell vollzieht eine Abstraktion der Cloud in verschiedene Schichten, welche sich teilweise bedingen. Zum einen wird auf die Teilnehmer eines Cloud-Szenarios eingegangen. Eine weitere Schicht beschäftigt sich mit den vertraglichen Bedingungen, welche zwischen den jeweiligen Teilnehmern herrschen können. Außerdem erfolgt die Aufzählung der typischen Charakteristiken einer Cloud. Abschließend wird darauf eingegangen, welche Art von Ressourcen eine Cloud bereitstellen kann bzw. wie offen eine Cloud für andere Teilnehmer ist.
Abbildung Cloud-Computing-Definition-Framework (Quelle = Web)
Rollen
Das Cloud-Computing Definition Framework beinhaltet eine einheitliche Rollenbeschreibung. Hiermit ist es möglich, Zuständigkeiten und Verantwortungen in einem Cloud-Szenario exakt abzugrenzen und vertraglich festzuhalten. Generell wird zwischen fünf verschiedenen Rollen unterschieden, wobei nicht jede Rolle zwangsläufig eingenommen werden muss.
- Consumer: Der Consumer bzw. Konsument nimmt eine zentrale Rolle in einem Cloud-Szenario ein. Er hat das Bedürfnis, einen Cloud-Dienst anzuwenden. Somit kann er als Aktor angesehen werden, von dem die initiale Nutzungsanfrage ausgeht. Der Konsument hat zudem bestimmte Anforderungen im Hinblick auf die Eigenschaften des benötigten Dienstes. Beispielsweise kann er ein bestimmtes Maß an Erreichbarkeit oder Performanz einfordern bzw. hat spezifische Preisvorstellungen.
- Provider: Der Provider bzw. Anbieter definiert das Gegenstück zum Konsumenten. Er bietet Cloud-Dienste an und steht in der Verantwortung, die vom Konsumenten geforderte Leistung zu erbringen. Der Anbieter kann dabei eine beliebige Anzahl an Konsumenten jeweils mit gleichen oder unterschiedlichen Diensten bedienen.
- Auditor: Der Auditor bzw. Prüfer ist eine unabhängige Instanz, welche Gutachten bezüglich der erbrachten Leistungen seitens des Anbieters erstellt. Sind diese Leistungen unterhalb der zwischen Konsument und Anbieter vertraglich festgelegten Mindestleistungen befindlich, erstattet der Prüfer Meldung an den Konsumenten. Anschließend kann dieser beispielsweise vom Anbieter Schadensersatz verlangen.
- Carrier: Der Carrier bzw. Bote regelt und vollzieht die Übermittlung von Daten zwischen dem Anbieter und Konsumenten. Hierunter ist in den meisten Fällen der Internet-Provider zu verstehen. Seine erbrachten Leistungen haben erheblichen Einfluss auf die Zufriedenheit der Konsumenten. Können Daten nicht zeitnah und vollständig ausgeliefert werden, gefährdet dies ihre Wirtschaftlichkeit.
- Broker: Der Broker bzw. Vermittler ist ein Intermediär, welcher als Schnittstelle zwischen Konsument und Anbieter agieren kann. Ist aus spezifischen Gründen ein direkter Austausch von Leistungen zu unterlassen, trägt er dafür Sorge, dass Dienste von Teilnehmern gefunden sowie von bzw. an diese überbracht werden können.
Schlüsselmerkmale
Es existieren diverse Arten von Cloud-Computing. Allen Arten liegen jedoch im Regelfall dieselben Merkmale zugrunde, welche somit die Grundlage einer jeden Cloud bilden. Die Schlüsselmerkmale werden im Folgenden dargelegt.
- On-demand self-service: Jeder Konsument kann zu jeder Zeit und ohne eine weitere menschliche Interaktion seitens des Anbieters einen Dienst wahrnehmen.
- Broad network access: Alle Dienste sind über das Internet und unabhängig von der Plattform des Endgeräts erreichbar.
- Resource Pooling: Der Anbieter legt seine gesamten Hard- und Softwareressourcen zusammen. Alle Konsumenten kommunizieren hierdurch mit demselben IT-System. Da dieses System mandantenfähig ist, arbeiten die einzelnen Nutzer jedoch logisch gesehen auf verschiedenen Systemen und haben keine Einsicht in die Bereiche anderer Konsumenten.
- Rapid elasticity: Der Anbieter kann seinen Konsumenten dynamisch Ressourcen zuteilen und wieder entziehen. Der Bedarf des Konsumenten kann also stetig variieren, ohne dass ihm jemals Ressourcen fehlen bzw. Ressourcen von ihm ungenutzt sind. Die Ressourcenzuteilung seitens des Anbieters geschieht dabei im Idealfall automatisch.
- Measured Service: Die Auslastung des Cloud-Services seitens des Konsumenten ist sowohl für Anbieter als auch Konsument jederzeit einsehbar. Hierzu zählen beispielsweise der genutzte Speicher, die Anzahl der übermittelten Daten oder die Anzahl der aktiven Benutzeraccounts. Durch dieses Vorgehen besitzt der Konsument sowohl Transparenz über sein Nutzungsverhalten als auch über die daraus resultierenden Kosten.
Dienstdimensionen
Ein typisches Cloud-Szenario umfasst grob betrachtet zwei Rollen. Ein Anbieter stellt einen Dienst zur Verfügung, den ein Konsument wiederum nutzt. In dieser Konstellation hat jede Partei Anforderungen an die andere Partei. Der Konsument möchte beispielsweise eine bestimmte Performanz der angebotenen Cloud-Services gewährleistet haben, während der Anbieter auf eine pünktliche und leistungsgerechte Bezahlung Wert legt. Die Gesamtheit der Anforderungen, welche die beiden Parteien jeweils an ihr Gegenüber stellen, lassen sich fünf verschiedenen Bereichen bzw. Dimensionen zuordnen.
- Contractual: Contractual bzw. vertragliche Anforderungen sind die grundlegenden Richtlinien, die der Dienst-Vertrag zwischen Anbieter und Konsument umfasst. Hierin wird festgelegt, welche Parteien in welcher Rolle an dem Geschäft beteiligt sind. Die Aufführung von Vermittlern, Prüfern und Boten sei an dieser Stelle möglich. Weiterhin ist definiert, wie lang der Vertrag gültig ist bzw. wann die Nutzung des Services seitens des Konsumenten startet und endet. Letztlich kann auch spezifiziert werden, wann die Löschung der Anbieterdaten nach Ablauf des Vertrages frühestens erfolgen darf bzw. spätestens erfolgen muss. Die vertraglichen Anforderungen sind meistens statisch und ändern sich während der Vertragslaufzeit demnach nur selten.
- Financial: Financial bzw. finanzielle Anforderungen werden hauptsächlich vom Anbieter gestellt und dienen seiner gerechten Entlohnung. Zum einen ist hier das Modell zu spezifizieren, nach dem die Bezahlung erfolgen soll. Beim tiered pricing erfolgt die Abrechnung anhand der Zeit, in der der Konsument den Dienst tatsächlich genutzt hat. Per-unit pricing bedeutet, dass der Konsument einen festen Preis für jede genutzte Einheit zahlt. Eine Einheit sei beispielsweise ein Gigabyte an Speicherplatz, welches der Konsument auf Seiten des Anbieters belegt hat. Beim subscription-based pricing bezahlt der Konsument ähnlich dem ersten Modell für einen Zeitraum. Der Unterschied liegt jedoch darin, dass es nicht von Relevanz ist, ob bzw. wie oft er den Service in diesem Zeitraum tatsächlich wahrgenommen hat. Dieses Bezahlmodell kann heutzutage mit einer Flatrate verglichen werden. Neben dem Bezahlmodell umfassen die finanziellen Anforderungen zudem die Höhe der Bezahlung sowie den Bezahlrhythmus. Weiterhin ist festgelegt, mit welcher Methode die Zahlung erfolgen muss, beispielsweise per Pay-Pal oder normaler Überweisung.
- Compliance: Compliance-Anforderungen betreffen die Einhaltung von Vorgaben. Insbesondere der Konsument muss sicherstellen, dass seine ausgelagerten Dienste bestimmte Gesetze, Normen und Standards einhalten. Andernfalls kann dies für ihn rechtliche bzw. wirtschaftliche Konsequenzen nach sich ziehen. Beispielhaft sind hierfür rechtliche Vorgaben zur Lagerung sensibler Daten bzw. strikte Zugangskontrollen zu bestimmten Ressourcen. Neben den eigentlichen Vorgaben beinhaltet diese Dimension zudem Strafen bzw. Entschädigungen, die bei Nichteinhaltung von vertraglichen Bestimmungen an den Anbieter verhängt werden können.
- Operational: Operational bzw. betriebliche Anforderungen sollen die Erreichbarkeit eines Cloud-Dienstes sicherstellen. Es wird initial festgelegt, wie lange der Dienst pro Zeiteinheit maximal ausfallen darf. Des Weiteren sind Maßnahmen zur Instandhaltung und Wiederherstellung der Systeme angegeben. Auch eine geeignete Bewertung bzw. Behandlung von Ausfällen wird vereinbart, um den bestmöglichen Betrieb zu gewährleisten. Letztlich sind geeignete Skalierungsvorgaben auszumachen, da die Bereitstellung von Ressourcen seitens des Anbieters ab einem bestimmten Punkt limitiert ist.
- Technical: Technical bzw. technische Anforderungen beziehen sich maßgeblich auf die Leistung des Dienstes. Der Konsument will sicherstellen, dass seine Bedürfnisse zu jeder Zeit in ausreichendem Maß befriedigt werden. Hierfür werden diverse Kennzahlen festgelegt, welche seitens des Anbieters zu erfüllen sind. Beispielhaft hierfür sind die Performanz und die Speicherkapazität seines IT-Systems sowie der Datendurchsatz des Netzwerks. Abhängig vom tatsächlichen Dienst sind weiterhin Schnittstellen oder vorinstallierte Betriebssysteme sowie Softwarebibliotheken aufzuführen, welche das IT-System umfassen muss.
Dienstmodelle
Der bisherige Dienst-Begriff ist allgemein formuliert und umfasst alle Arten von Leistungserbringungen. Das National Institute of Standards and Technology vollzieht hier eine weitere Spezifizierung, um verschiedenartige Dienste effektiver voneinander abgrenzen zu können. Im Folgenden werden die drei verschiedenen Dienstmodelle erläutert.
- Infrastructure as a Service (IaaS): Das IaaS-Modell zielt auf die Bereitstellung gesamter Rechnerinstanzen ab. Hierunter sind sowohl Server als auch Datenbanken bzw. Speichermedien im Allgemeinen zu verstehen. Der Konsument hat grundlegenden Zugriff auf die Hardware-Komponenten, die ihm der Anbieter bereitstellt. Es ist ihm somit möglich, seine eigenen Konfigurationen vorzunehmen sowie eigene Anwendungen aufzuspielen. Die Aufgabe seitens des Anbieters besteht lediglich darin, einen störungsfreien Betrieb der Hardware sicherzustellen. Hierzu zählt auch die kontinuierliche Überwachung der Performanz, Speicherbelegung sowie Datentransferrate. Das Dienstmodell bietet sich für solche Konsumenten an, die bereits über stabil laufende Anwendungen verfügen und lediglich eine flexible Skalierung der Rechenleistung benötigen.
- Platform as a Service (PaaS): Das PaaS-Modell baut auf dem des IaaS auf. Zusätzlich zu den Rechnerinstanzen stellt der Anbieter hier noch komplette Systemumgebungen bereit. Je nach Wunsch des Konsumenten sind auf den Hardware-Knoten bestimmte Betriebssysteme, Entwicklungsumgebungen sowie Programmbibliotheken installiert. In manchen Fällen können zudem grundlegende Prozeduren bezüglich Zugriffskontrolle, Synchronisierung oder Datenhaltung vorgefunden werden. Die bereits vorkonfigurierten Container erleichtern den Konsumenten die Software-Entwicklung, da keine zusätzlichen Anstrengungen für die Konfiguration einer Systemumgebung nötig sind.
- Software as a Service (SaaS): Beim SaaS-Modell gestattet der Anbieter den Konsumenten die Nutzung einer speziellen Software, welche auf seinem IT-System arbeitet. Der Konsument hat von jedem Endgerät, zu jeder Zeit und an jedem Ort Zugriff auf die Applikation. Er besitzt jedoch keinen Einfluss auf die darunterliegenden Hardware-Komponenten sowie deren Konfiguration. Dieses Recht bleibt dem Anbieter vor, der für den reibungsfreien Betrieb der Software verantwortlich ist. Die Hauptvorteile des Dienstmodells liegen in den geringeren Investitionskosten sowie in der schnelleren Einsatzfähigkeit der Software.
Deployment-Modelle
Innerhalb des Cloud-Computing existieren vier unterschiedliche Deployment-Modelle. Diese definieren jeweils, welche Zugriffsmöglichkeiten auf die Cloud-Dienste herrschen.
- Private cloud: Die Dienste einer privaten Cloud sind auf einzelne Organisationen bzw. Individuen beschränkt. Typischerweise hat ein Unternehmen Zugriff auf seine eigene private Cloud, welche ausschließlich ihm zur Verfügung steht. Im Fall einer typical private cloud hostet das Unternehmen die Cloud in ihrem eigenen Rechenzentrum und ermöglicht den Zugriff per Internet. Eine Firewall trägt dafür Sorge, dass nur unternehmensinterne Mitarbeiter Zugang zu den Applikationen bzw. Informationen haben. Die managed private cloud ähnelt dem Vorgänger, mit Ausnahme dass das Rechenzentrum des Unternehmens von einem externen Anbieter verwaltet wird. Dies hat jedoch keinen Einfluss auf die Lokalität der Hardware. Bei einer hosted private cloud laufen die Cloud-Anwendungen direkt auf den Hardware-Komponenten des externen Anbieters. Weiterhin hat ausschließlich das spezifische Unternehmen Zugriff. Die letzte Variation ist die virtual private cloud, welche im eigentlichen Sinn eine öffentliche Cloud ist, auf die mehrere Unternehmen Zugriff haben. Durch VPN wird jedoch in dieser öffentlichen Cloud eine virtuelle private Cloud erzeugt, auf der ausschließlich das Unternehmen arbeiten kann.
- Public Cloud: Die öffentliche Cloud ist das Gegenstück zur privaten Cloud. Sie erlaubt verschiedenen Konsumenten den Zugriff auf ihre Funktionen. Dem Anbieter gehören dabei sämtliche Anwendungen, welche öffentlich zur Verfügung stehen. Typischerweise verfügt dieses Deployment-Modell über einfache Anmeldestrukturen und standardisierte Services, um möglichst vielen Konsumenten gerecht zu werden. Die öffentliche Cloud ist für viele Benutzer der Inbegriff von Cloud Computing.
- Community Cloud: In einer Community Cloud schließen sich verschiedene Organisationen zusammen, welche ein gemeinsames Ziel verfolgen. Beispielhaft hierfür sind verschiedene Krankenhäuser, die dieselben medizinischen Geräte verwenden oder ihre Erkenntnisse untereinander teilen wollen. Demnach ist die Community Cloud eine öffentliche Cloud für eine homogene Gruppe von Konsumenten. Bei einer federated community cloud greifen die Organisationen innerhalb der Gruppe gegenseitig auf ihre eigenen Ressourcen zu (siehe Abb. 2). Bei einer brokered community cloud erfolgt der Zugriff über einen Vermittler, welcher die Anfragen an einen zentralen Anbieter weiterleitet.
- Hybrid Cloud: Eine hybride Cloud ist der Zusammenschluss von mindestens zwei der vorangegangenen Deployment-Modelle. Beispielsweise kann ein Unternehmen sensible Daten in eine private Cloud auslagern, während rechenintensive und unsensible Dienste in einer öffentlichen Cloud ablaufen.
Das Cloud-Computing Definition Framework trägt zur Präzision und Vereinheitlichung des Cloud-Begriffs bei. Insbesondere die Kommunikation sowie Entwicklung im Cloud-Umfeld wird hierdurch erleichtert.