Cloud Computing

Aus Zebradem WIKI
Zur Navigation springenZur Suche springen

Cloud Computing umschreibt den Ansatz, abstrahierte IT-Infrastrukturen (z. B. Rechenkapazität, Datenspeicher, Netzwerkkapazitäten oder auch fertige Software) dynamisch an den Bedarf angepasst über ein Netzwerk zur Verfügung zu stellen. Aus Nutzersicht scheint die zur Verfügung gestellte abstrahierte IT-Infrastruktur fern und undurchsichtig, wie in einer „Wolke“ verhüllt, zu geschehen. Vereinfacht kann das Konzept wie folgt beschrieben werden: Ein Teil der IT-Landschaft (in diesem Zusammenhang etwa Hardware wie Rechenzentrum, Datenspeicher sowie Software) wird auf Nutzerseite nicht mehr selbst betrieben oder örtlich bereitgestellt, sondern bei einem oder mehreren Anbietern als Dienst gemietet, der meist geografisch fern angesiedelt ist. Die Anwendungen und Daten befinden sich dann nicht mehr auf dem lokalen Rechner oder im Firmenrechenzentrum, sondern in der (metaphorischen) Wolke (engl. „cloud“). Das Gestaltungselement eines abstrahierten Wolkenumrisses wird in Netzwerkdiagrammen häufig zur Darstellung eines nicht näher spezifizierten Teils des Internets verwendet. Der Zugriff auf die entfernten Systeme erfolgt über ein Netzwerk, beispielsweise das des Internets. Es gibt aber im Kontext von Firmen auch sogenannte „Private Clouds“, bei denen die Bereitstellung über ein firmeninternes Intranet erfolgt. Die meisten Anbieter von Cloudlösungen nutzen die Poolingeffekte, die aus der gemeinsamen Nutzung von Ressourcen entstehen, für ihr Geschäftsmodell.

Geschichte des Begriffes

Der Begriff „Cloud Computing“ wurde maßgeblich durch einige schnell wachsende Internetfirmen wie Amazon, Google und Yahoo geprägt. Diese Firmen standen aufgrund des schnellen Wachstums ihrer Nutzerbasis vor dem Problem, ständig wachsende Systeme vorhalten zu müssen, die auch zu Spitzenlastzeiten (für Amazon wäre dies z.B. das Weihnachtsgeschäft) ausreichende Performance bereitstellen.[1] Für Amazon war diese Spitzenlast im Jahre 2006 um den Faktor 10 höher als die Grundlast im Tagesgeschäft. Um diesem Problem zu begegnen, entschied man sich, die Architektur und die Dienste, die man zum Bewältigen der zum Teil stark schwankenden oder auch sehr hohen Nutzerzahlen entworfen und etabliert hatte, zu einem Produkt zu machen, das man nach außen hin anbietet, d.h. dass dieses Problem in Spitzenlastzeiten auf die Nutzer der Cloud verteilt wird. Für Amazon war dieser Schritt Mitte der 2000er Jahre eine logische Konsequenz, da man intern zu diesem Zeitpunkt schon auf kleine schnell-bewegliche Teams (fast-moving „two-pizza teams“) umgeschwenkt hatte, die neue Funktionalitäten auf Basis der bestehenden Cloud-Infrastruktur implementierten. Die Skalierungseffekte der Cloud-Dienste wurden damit zur Basis des Produktes „Cloud Computing“ selbst, das man ab da nicht mehr nur intern, sondern auch extern anbot.

Definition

Es existiert eine Reihe von pragmatischen Definitionsansätzen:

  • „Cloud Computing“ steht für einen Pool aus abstrahierter, hochskalierbarer und verwalteter IT-Infrastruktur, die Kundenanwendungen vorhält und falls erforderlich nach Gebrauch abgerechnet werden kann.<ref>Forrester Research.</ref>
  • „Cloud Computing“ umfasst On-Demand-Infrastruktur (Rechner, Speicher, Netze) und On-Demand-Software (Betriebssysteme, Anwendungen, Middleware, Management- und Entwicklungs-Tools), die jeweils dynamisch an die Erfordernisse von Geschäftsprozessen angepasst werden. Dazu gehört auch die Fähigkeit, komplette Prozesse zu betreiben und zu managen.<ref>Saugatuck Technology.
  • 2009 veröffentlichte das National Institute for Standards and Technology (NIST) eine Definition,[4] die auf weitgehende Akzeptanz stieß und verschiedene Definitionsansätze bündelt. Sie enthält die drei verschiedenen Servicemodelle
    • IaaS – Infrastructure as a Service – Rechnerwolken bieten Nutzungszugang von virtualisierten Computerhardware Ressourcen, wie Rechnern, Netzwerken und Speicher. Mit IaaS gestalten sich Nutzer frei ihre eigenen virtuellen Computer-Cluster und sind daher für die Auswahl, die Installation, den Betrieb und das Funktionieren ihrer Software selbst verantwortlich.
    • PaaS – Platform as a Service – Rechnerwolken bieten Nutzungszugang von Programmierungs- oder Laufzeitumgebungen mit flexiblen, dynamisch anpassbaren Rechen- und Datenkapazitäten. Mit PaaS entwickeln Nutzer ihre eigenen Software-Anwendungen oder lassen diese hier ausführen, innerhalb einer Softwareumgebung, die vom Dienstanbieter (Service Provider) bereitgestellt und unterhalten wird.
    • SaaS – Software as a Service – Rechnerwolken bieten Nutzungszugang von Software-Sammlungen und Anwendungsprogrammen. SaaS Diensteanbieter offerieren spezielle Auswahlen von Software, die auf ihrer Infrastruktur läuft. SaaS wird auch als Software on demand (Software bei Bedarf) bezeichnet.
Datei:Cloud computing types.svg
Darstellung von Cloud-Liefermodellen

Zudem enthält die Definition des National Institute for Standards and Technology (NIST) vier Liefermodelle:

    • Public Cloud – die öffentliche Rechnerwolke – bietet Zugang zu abstrahierten IT-Infrastrukturen für die breite Öffentlichkeit über das Internet. Public Cloud Diensteanbieter erlauben ihren Kunden IT-Infrastruktur zu mieten auf einer flexiblen Basis des Bezahlens für den tatsächlichen Nutzungsgrad bzw. Verbrauch (pay-as-you-go), ohne Kapital in Rechner- und Datenzentrumsinfrastruktur investieren zu müssen.
    • Private Cloud – die private Rechnerwolke – bietet Zugang zu abstrahierten IT-Infrastrukturen innerhalb der eigenen Organisation (Behörde, Firma, Start-Up, Verein), z. B. Ubuntu One.
    • Hybrid Cloud – die hybride Rechnerwolke – bietet kombinierten Zugang zu abstrahierter IT-Infrastrukturen aus den Bereichen von Public Clouds und Private Clouds, nach den Bedürfnissen ihrer Nutzer.
    • Community Cloud – die gemeinschaftliche Rechnerwolke – bietet Zugang zu abstrahierten IT-Infrastrukturen wie bei der Public Cloud – jedoch für einen kleineren Nutzerkreis, der sich, meist örtlich verteilt, die Kosten teilt (z.B. mehrere städtische Behörden, Universitäten, Betriebe/Firmen mit ähnlichen Interessen, Forschungsgemeinschaften).

… und listet fünf essenzielle Charakteristika für Cloud Computing:

    • Selbstzuweisung von Leistungen aus der Cloud durch den oder die Nutzer, welche bei Bedarf bereitstehen soll (Self-service provisioning / As-needed availability).
    • Skalierbarkeit bietet die Entkopplung von Nutzungsschwankungen und Infrastrukturbeschränkungen (Scalability) .
    • Zuverlässigkeit und Fehlertoleranz garantiert permanent definierte Qualitätsstandards der IT-Infrastruktur für den Nutzer (Reliability and fault-tolerance).
    • Optimierung und Konsolidierung bietet Effizienz und Ökonomie in Anpassung an fortlaufende Umweltschutzstandards, die sukzessive vom Cloud-Diensteanbieter optimiert werden können (Optimization/Consolidation).
    • Qualitätssicherung und -kontrolle kann fortlaufend durch den Diensteanbieter überwacht und sicher gestellt werden, ohne dass die Nutzer belastet werden müssten (QoS - Quality of Service).

Demzufolge geht „Cloud Computing“ über andere gegenwärtig diskutierte Ansätze („Organic Computing“) (Virtualisierung (Informatik)|Virtualisierung) hinaus. Unter der Bedingung einer öffentlichen Verfügbarkeit, ähnlich beispielsweise dem öffentlichen Telefonnetz, kann man „Cloud Computing“ je nach Architektur auch als Summe von SaaS und „Utility Computing“ ansehen.