Heiter bis holprig
Sogenannte Cloud Services revolutionieren die IT. Sagt jedenfalls das Marketing. Auch wenn es unbestrittene Vorteile gibt: Wer die Sache nĂŒchtern betrachtet, stellt schnell fest, dass zahlreiche HĂŒrden den Weg in die Wolke verstellen. Vor besonderenâSchwierigkeiten stehen Kunden und Dienstleister, wenn es darum geht, Integrationsprobleme zu lösen.
- Markus Kopp
Viele von den Cloud-Anbietern in die Welt gesetzte Erfolgsgeschichten vermitteln den Eindruck, als lieĂe sich eine Anwendung einfach in âdie Cloudâ ĂŒbertragen und dort je nach Bedarf hoch- oder herunterskalieren. In der Praxis eignet sich jedoch lĂ€ngst nicht jede Software fĂŒr diese Variante des Outsourcings. Es sind etliche technische Klippen zu umschiffen, besonders die AbhĂ€ngigkeit des fraglichen Programms von anderen Systemen wirft Fragen auf.
Vorab eine Klarstellung: Es gibt nicht âdieâ Cloud, denn die meisten Anbieter haben eigene Spielarten entwickelt. Folgende Definition hat sich jedoch als praktikabel erwiesen: Cloud Services bezeichnen den bedarfsgerechten Einsatz eines Dienstes (zum Beispiel Infrastruktur, Plattform oder Anwendung), der sich schnell an neue Bedingungen anpassen lĂ€sst und der basierend auf dem tatsĂ€chlichen Gebrauch der bereitgestellten Ressourcen abgerechnet wird.
Zwei wichtige Argumente sprechen also fĂŒr solche Services: Ihre FlexibilitĂ€t, denn die Anwender können schnell reagieren, wenn sich ihr GeschĂ€ftsumfeld Ă€ndert, und durch das individuelle Abrechnen lĂ€sst sich potenziell Geld sparen. Letzteres ergibt sich in erster Linie durch die Umlage von Investitions- auf Betriebskosten [1]. Insgesamt sind dadurch schnellere ProdukteinfĂŒhrungszeiten fĂŒr alle GeschĂ€ftsbereiche möglich. Das gilt auch fĂŒr die Dienstleister selbst.
Verschiedene Wolkenformationen
Bisher sind drei Arten von Cloud Services verbreitet, nĂ€mlich IaaS, PaaS und SaaS. IaaS steht fĂŒr Infrastructure as a Service. Darunter fallen Komponenten wie CPUs, Speicher und Netzwerke. Plattform as a Service (PaaS) enthĂ€lt neben Infrastrukturelementen ein Betriebssystem sowie eine technische Ablaufplattform, etwa einen Applikationsserver oder eine Datenbank. Software as a Service bezeichnet ein vollstĂ€ndiges Anwendungssystem. Wer eine Applikation in eine Cloud ĂŒbertragen will, muss also zunĂ€chst die Frage beantworten, welche Servicekategorie sich am besten dafĂŒr eignet. Zu bedenken ist, dass die AbhĂ€ngigkeit vom Anbieter steigt, je mehr Komponenten man extern von ihm betreiben lĂ€sst.
Infrastrukturdienste wie Amazon Web Services bieten die gröĂte FlexibilitĂ€t, da sich dort beinahe jede Software ausfĂŒhren lĂ€sst. Eine Webanwendung, die in die Cloud verlagert werden soll, ist jedoch selten völlig autark. HĂ€ufig nutzt sie eine SQL-Datenbank und ein Identity Management System (IMS), das alle Zugriffe prĂŒft. Vor der Migration mĂŒssen die Verantwortlichen daher klĂ€ren, wie sich die Rolle von Datenbank und IMS kĂŒnftig darstellt. Da sich der direkter Zugang auf solche Backend-Komponenten aus SicherheitsgrĂŒnden verbietet, lĂ€sst sich eine damit gekoppelte Anwendung nicht ohne Weiteres in eine öffentliche Cloud auslagern.
Geeignete Applikationen dĂŒrfen daher nur direkt mit Systemen zusammenarbeiten, die aus der Cloud heraus ebenfalls zugĂ€nglich sind. Im genannten Beispiel muss der Entwickler die Datenbank und das IMS (sowie alle anderen benötigten Teile) ebenfalls migrieren. FĂŒr IaaS-Umgebungen ist dies technisch machbar. Ob es sinnvoll ist, entscheidet der Einzelfall.
Wer eine Applikation in die Cloud verschieben will, verspricht sich vor allem FlexibilitÀtsvorteile. Dazu muss die Anwendung skalierbar und idealerweise zustandslos sein. Ist das Halten eines Zustands unbedingt notwendig, bieten sich zwei Optionen an: das Verwenden von Sticky Sessions im Load Balancer oder das Festschreiben der Sessions in einer Datenbank.
Einen Zustand sicher festhalten
Ăber Sticky Sessions verteilt ein Load Balancer Anfragen immer an den gleichen Server, der intern eine Sitzung fĂŒr jeden Anwender vorhĂ€lt. Es gibt jedoch einen Engpass: den IaaS-Anbieter selbst. So unterstĂŒtzt Amazon derzeit Sticky Sessions nur fĂŒr HTTP-Anfragen und nicht fĂŒr HTTPS. Ein Load Balancer vor Ort schafft eine weitere Möglichkeit, Sticky Sessions einzusetzen. Er nimmt die Anfragen entgegen und leitet sie an die verschiedenen Cloud-Instanzen weiter. Allerdings muss diese technische Konstruktion in der eigenen Systemumgebung angemessene VerfĂŒgbarkeit und notwendigen Durchsatz garantieren. Beide Optionen eignen sich deshalb nur bedingt zum Halten eines Zustandes. Wer Sessions unbedingt einsetzen muss, sollte sie in einer Datenbank ablegen, sodass alle Anwendungen darauf zugreifen können. Viele IaaS-Provider bieten fĂŒr diesen Zweck NoSQL-Datenbanken mit hohem Durchsatz an. Vertreter dieser Gattung sind etwa Google BigTable, Amazon SimpleDB sowie die freien Apache-Implementierungen CouchDB und Cassandra. Da SQL-Datenbanken nicht zustandslos sind, stellen sich die Vorteile der FlexibilitĂ€t hier nicht ein. Zum Skalieren von Datenbanken in der Cloud stellen viele Dienstleister spezielle Services zur VerfĂŒgung.
Bei der PaaS-AusprĂ€gung betreibt der Anbieter einen vollstĂ€ndigen Application Server und richtet die Webanwendung hier ein. Die Ressourcen fĂŒr die Webanwendung teilt er je nach Preismodell zu. Microsofts Azure arbeitet beispielsweise nach dem PaaS-Modell. Weitere Vertreter dieser Gattung sind Googles App Engine, Force.com von Salesforce sowie VMforce, eine Cloud fĂŒr Java-Programmierer.
ZunĂ€chst muss der Entwickler klĂ€ren, ob es ĂŒberhaupt einen Anbieter gibt, der in der Lage ist, die zu migrierende Anwendung zu betreiben. Die EinschrĂ€nkung, dass sie nur mit Systemen kooperieren dĂŒrfen, die von dieser Plattform ebenfalls erreichbar sind, gilt hier ebenfalls â sogar in verschĂ€rfter Form, da einige PaaS-Protagonisten das Anbinden externer Systeme nicht zulassen. Somit mĂŒssen alle benötigten Komponenten in der PaaS-Cloud laufen. Fast alle Dienstleister stellen neben dem Application Server auch Datenbanken und andere Services bereit. Dennoch wird man in der Regel kein Cloud-Unternehmen finden, das in der Lage ist, alle involvierten Programme zu hosten. So kann es beispielsweise notwendig sein, die Schnittstelle der Datenbank anzupassen. FĂŒr das Identity Management System haben die meisten Provider entsprechende Services im Angebot. Ohne Migrationsaufwand geht es hier also nicht. Zudem muss sich der Kunde meist auf proprietĂ€re Dienste des Anbieters einlassen, was das AbhĂ€ngigkeitsverhĂ€ltnis vertieft. DafĂŒr kĂŒmmert sich der PaaS-Anbieter um die Skalierungsfragen sowie das Session Handling (Abbildung 1).
SaaS: Alles aus einer Hand
Bei SaaS geht es nicht um das Verlagern einer Anwendung in eine Cloud, sondern um ihre Ablösung durch einen Online-Service. Wenn der entsprechende Anbieter gefunden ist, muss man die relevanten Daten zu ihm ĂŒbertragen. Es bleibt zu klĂ€ren, wie der Dienst mit externen Softwarekomponenten klarkommt. In einer Umfrage des IDC (siehe iX-Link) nannte die Mehrzahl der Befragten Sicherheitaspekte als gröĂte Herausforderung in diesem Umfeld. Diejenigen, die bereits einen solchen Service nutzen, stellten hingehen die Integration mit anderen Systemen in den Vordergrund. Interessierte sind daher gut beraten, sich schon vor der Inbetriebnahme eines Dienstes Gedanken ĂŒber potenzielle IntegrationshĂŒrden zu machen (Abbildung 2).
Als weitere Variante kann das Migrieren von Anwendungen in eine Virtual Private Cloud gelten. Dabei handelt es sich nicht um eine hausinterne private Wolke, sondern ebenfalls um eine von einem Dienstleister bereitgestellte. Der Zugang erfolgt ĂŒber ein gesichertes Virtual Private Network (VPN). Die verlagerte Anwendung ist netzwerktechnisch komplett von der AuĂenwelt abgeschirmt und lĂ€sst sich ausschlieĂlich ĂŒber das interne Netz erreichen. Durch diesen Kniff ist es möglich, ausschlieĂlich die Webanwendung und nicht die abhĂ€ngigen Systeme in die Cloud zu verlagern (Abbildung 3). Virtual Private Clouds existieren derzeit fĂŒr IaaS und PaaS. Amazon bietet beispielsweise in Nordamerika einen solchen Service an. Andere Mitspieler, etwa Microsoft, haben Ă€hnliche Offerten angekĂŒndigt.
Welche Cloud die richtige ist, hĂ€ngt von zahlreichen Faktoren ab, pauschale Antworten gibt es nicht. Zu Sicherheitsaspekten und Integrationsfragen lassen sich derzeit noch wenige allgemeingĂŒltige Aussagen treffen. Im ersten Schritt sollte man seine Anforderungen formulieren und die Vor- und Nachteile der verschiedenen Services abwĂ€gen. Die richtige Auswahl hĂ€ngt leider wie so hĂ€ufig vom Einzelfall ab.
Markus Kopp
ist Management Consultant und Cloud Service Manager bei Logica in Deutschland.
Literatur
[1] Constantin Christmann, JĂŒrgen Falkner, Dietmar Kopperger, Anette WeisbĂ€cker; Wirtschaft; Schein oder Sein; Kosten und Nutzen von Cloud Computing; iX Special 2/2010 Cloud, Grid, Virtualisierung, S. 6
Alle Links: www.ix.de/ix1105044
Cloud Computing â Pro und Contra
Cloud ist zwar schon jetzt das IT-Modewort des Jahres â aber muss wirklich jeder mitmachen? Analysen der Voraussetzungen fĂŒr die Migration in die Cloud geben Entscheidungshilfen, ein Exkurs zum Open-Source-Werkzeug OpenNebula ergĂ€nzt das Bild.
- Kosten und Nutzen von Cloud Computing - iX 5/2011, S. 38
- Quelloffenes Projekt zur Cloud-Verwaltung: OpenNebula - iX 5/2011, S. 48
(jd)