Überblick 2: Was macht Cloud Services aus?

Nachdem ich im vorigen Artikel einen Überblick über die Cloud-Plattform von Microsoft gegeben habe möchte ich dieses Mal darauf eingehen, was Cloud Services eigentlich ausmacht. Welche Eigenschaften müssen gegeben sein, damit ein Dienst ein Cloud Service ist und was ist der Unterschied zum klassischen Hosting oder Outsourcing?

Die Basis für diese Betrachtung ist ein Gartner-Artikel, den ich als Überblick ziemlich gut finde.

Gartner nennt 5 Merkmale von Cloud Computing:

  • Service-Based
  • Scalable and Elastic
  • Shared
  • Metered by Use
  • Uses Internet Technologies

Bei Service-Based (dienstorientiert oder -basiert) fällt einem natürlich gleich die Serviceorientierte Architektur (SOA) ein. Aber auch wenn Cloud Services häufig als SOA aufgebaut sind ist der Begriff Dienst hier viel weiter gefasst. Gemeint ist, dass ein Cloud-Dienst über eine wohldefinierte Schnittstelle mit klar umrissenen Eigenschaften verfügt und ohne kundenspezifische Anpassungen vertrieben wird. Cloud Services sind also Konfektion, kein Maßanzug. Mich erinnert das immer an die alte Aussage von Henry Ford zum T-Modell: „Sie können das Auto in jeder Farbe haben, solange es schwarz ist“. Die konkrete Implementation des Dienstes ist dabei dem Anbieter überlassen, er garantiert dem Kunden gegenüber nur Service Level und IT-Ergebnisse (wie Funktionalität, Verfügbarkeit, Performance, Preis). In SQL Azure zum Beispiel mietet der Kunde Datenbanken mit definiertem API und T-SQL Befehlssatz und einer garantierten monatlichen Verfügbarkeit von 99,9%. Wie diese Verfügbarkeit erreicht wird, auf welchem Betriebssystem genau welche SQL Server Version betrieben wird ist dabei Sache des Dienstanbieters Microsoft, nicht des Kunden.

Unter Scalable and Elastic (skalierbar und elastisch) ist zu verstehen, dass die Kapazität des Dienstes (Benutzerzahl, Performance, Speicherplatz usw.) entsprechend der Kundenanforderungen schnell (in Sekunden bis Stunden) angepasst werden kann. Der Kunde bestellt also nicht wie beim Hosting für eine feste Laufzeit einen festen Satz an Maschinen mit bestimmten Eigenschaften, sondern er kann entsprechend seiner aktuellen Bedürfnisse jederzeit Kapazität hinzumieten oder entfernen. Dadurch sind Cloud Services besonders gut für Anwendungen mit einem ungleichmäßigen Lastprofil geeignet. Allerdings müssen die Anwendungen auch so geschrieben sein, dass sie auf mehreren Maschinen skaliert werden können – die Skalierbarkeit wird durch Scale Out, nicht Scale Up erreicht. Bei Windows Azure zum Beispiel kann der Kunde seien Anwendung auf so vielen Instanzen deployen wie die aktuelle Last es erfordert und ebenso leicht Instanzen wieder entfernen, wenn sie nicht mehr benötigt werden. Bezahlen muss der Kunde nur für die gerade deployten Instanzen (siehe vorletzter Punkt: Metered by Use)

Unter Shared (gemeinsam genutzt) versteht man, dass Cloud-Rechenzentren von verschiedenen Nutzern gemeinsam genutzt werden. Im üblichen Fall der „Public Cloud“, bei dem ein Dienstanbieter seine Dienste öffentlich anbietet teilen sich mehrere oder alle Benutzer dasselbe Rechenzentrum. Der Dienstanbieter garantiert dabei, dass der Dienst voll mandantenfähig ist, ein Kunde also nicht auf die Dienste oder Daten eines anderen Kunden zugreifen kann. Bei einer „Private Cloud“ baut sich eine Firma ein eigenes Cloud-Rechenzentrum auf, das analog von verschiedenen Bereichen oder Abteilungen des Kunden genutzt wird. Bei BPOS zum Beispiel mietet der Kunde eine Anzahl von Exchange-Postfächern sowie die zugehörigen Dienste für E-Mail. Welche anderen Kunden gegebenenfalls ihre Postfächer auf denselben Maschinen haben ist Sache des Anbieters. Der Anbieter garantiert nur, dass nur der Kunde selbst Zugriff auf seine Postfächer hat.

Die Abrechnung von Cloud Services erfolgt entsprechend der Nutzung (Metered by Use). Dabei sind verschiedene Abrechnungsmodelle möglich: direkte Verbrauchsabrechnung (etwa pro Transaktion), Abonnements, Integration in Rahmenverträge. Die Abrechnung hat aber immer die Nutzung des Kunden (bzw. die bereitgestellten Leistungen bei einem Abonnement) als Kriterium, nicht die Kosten der Infrastruktur des Anbieters. So wird SQL Azure zum Beispiel nach Anzahl Datenbanken und Datenbankgrößen pro Tag abgerechnet, während Exchange Online in BPOS nach abonnierten Postfächern abgerechnet wird.

Auch wenn im ersten Punkt beschrieben wurde, dass die Implementation des Dienstes Sache des Anbieters ist so basieren Cloud Services doch immer auf Internettechnologien (Uses Internet Technologies) wie http, URLs, IP, Web Services. Dadurch ist eine einfache Einbindung in die Infrastruktur des Kunden möglich und die Absicherung der Verbindung erfolgt mit bekannten, erprobten Mitteln. Alle Microsoft Cloud-Dienste basieren auf Internettechnologien. Wobei SQL Azure als Protokoll nicht (wie die erste CTP) REST oder ein anderes http-basiertes Protokoll verwendet sondern TDS, das “normale” SQL Server Netzwerkprotokoll. Warum? Weil die Kunden es so wollten.

Durch diese 5 Punkte ist eine klare Abgrenzung zu Hosting-Szenarien (z.B nicht Punkt 2) oder Outsourcing (nicht Punkt 1) möglich.

Im nächsten Teil beschäftige ich mich mit der Frage: Welche Aufgaben bleiben dem IT Professional und Administrator eigentlich noch in einer Cloud-Welt und wie verändert sich sein Arbeitsgebiet?

Gruß,
Steffen