Wolkenschubser

Webanwendungen in die Cloud migrieren
Kommentare

Cloud Computing ist für Viele höchst attraktiv. Wer möchte nicht lieber Anwendungen entwickeln als sich mit Servern, Betriebssystemen und Softwarekonfiguration zu plagen? Dennoch schlagen die meisten Versuche, bestehende Anwendungen in die Cloud zu migrieren, fehl. Warum das so ist und wie eine Firma in Kalifornien dem Missstand abzuhelfen gedenkt, ist das Thema des folgenden Artikels.

Laut Gartner ist Cloud Computing title=“Gartner Report: Hype Cycle for Cloud Computing, 2009, July“ target=“_blank“>der prominenteste IT-Trend des Jahres. Das bedeutet allerdings nicht, dass der Begriff unumstritten wäre. Im Gegenteil, Cloud Computing bezeichnet eine derartige Vielfalt von Konzepten, dass sich Wissenschaftler am Reliable Adaptive Distributed Systems Laboratory der University of California in Berkeley entschließen, title=“Armbrust et al.: Above the Clouds: A Berkeley View of Cloud Computing, Technical Report No. UCB/EECS-2009-28, 2009″ target=“_blank“>den Begriff zu definieren. Die von ihnen vorgeschlagene Klassifizierung hat sich mittlerweile durchgesetzt. Danach wird bei Cloud Computing in erster Linie danach unterschieden, worin der Dienst besteht und welche Zielgruppe angesprochen wird. Typische Dienste sind: Infrastruktur, d. h. Maschinen, Switches, Datenbanken, Storage etc., Anwendungsplattformen und Software. Dementsprechend wird von „Infrastructure as a Service“ (IaaS), „Platform as a Service“ (PaaS) und „Software as a Service“ (SaaS) gesprochen. Zielgruppe von IaaS sind Plattformanbieter, von PaaS Software-Anbieter, und von SaaS Enduser. Prominente Vertreter der IaaS- Kategorie sind z. B. Amazon, GoGrid, Rackspace und Terremark. Googles AppEngine, Heroku, Bungee Connect, Force.com und andere sind PaaS-Anbieter. Allerdings bestehen hier erhebliche Unterschiede bezüglich der Anpassungsfähigkeit dieser Plattformen. Googles AppEngine ist hier besonders restriktiv. Anwendungen können unter GAE z. B. weder Dateien oder Datenbanken verwenden, noch können sie auf volle Sprachunterstützung zurückgreifen. SaaS schließlich wird in der Regel mit Salesforce.com, Google Apps, Zoho etc. in Verbindung gebracht. Das Angebot ist hier jedoch bedeutend breiter als diese Auswahl suggeriert. Wenn im Folgenden von „Cloud Computing“ die Rede ist, beziehen wir uns in der Regel auf IaaS und PaaS.

Die Vorteile der Cloud

Die „Cloud“ ist für Firmen vor allem aus zwei Gründen attraktiv. Zum einen verspricht Cloud Computing Kostensenkungen, die über die durch Virtualisierung ermöglichte Serverkonsolidierung hinaus gehen. Zum anderen fallen die oft erheblichen Provisionierungsverzögerungen weg. Ein weiterer Treiber ist speziell für größere Firmen der Self-Service-Aspekt von Cloud-basierten Angeboten. Anwendungseigner können direkt per Kreditkarte auf pay-per-use-Ressourcen zurückgreifen, ohne langwierige Requirierungsprozesse durchlaufen zu müssen. Zusammen mit agilen Entwicklungsprozessen verspricht Cloud Computing daher das notorisch ungreifbare Fernziel nahezu jedes Unternehmens – Anwendungen, oder auch nur Änderungen in kürzester Zeit live zu stellen und somit effektiver auf Marktgegebenheiten reagieren zu können – Realität werden zu lassen. Cloud Computing wird daher heute von vielen Unternehmen als die wichtigste strategische IT-Initiative der letzten Dekade angesehen. Der Erfolg dieser Initiativen hängt dabei entscheidend davon ab, wie bestehende Anwendungen in die Cloud migriert und anschließend gemanagt werden können.

The Trouble with IaaS

Unglücklicherweise stellen sich hier viele Probleme. Nicht nur haben bestimmte Anwendungen topologische Anforderungen, die in der Cloud fehlen, oder unterliegen bestimmten regulatorischen Auflagen, die gegen ein Cloud-Deployment sprechen. Als größte Hürde entpuppt sich in der Regel gerade das, was der Attraktivität der Cloud zugrunde liegt: die virtuelle Natur der Infrastruktur und der damit verbundene Trend zu kurzen Lebensspannen. Gerade IaaS-Nutzer wissen ein Lied zu singen vom „Maschinenschieben auf Amazon“. Dienste wie RightScale oder Tools wie Elasticfox können zwar die Schmerzen lindern, letzten Endes aber nicht verhindern, was Cloud-Nutzern zu Recht als Horrorszenario vor Augen steht: Maschinen kommen und gehen wie sie wollen, und Prozesse, die bisher als Muster von Solidität galten, brechen zusammen. Instances werden vom IaaS-Provider lediglich auf Infrastrukturebene verwaltet und etwaiges existierendes Application Management von IaaS-Nutzern lässt sich nicht auf die Cloud übertragen. Angesichts eines solchen Managementvakuums sind Systemadministrationskatastrophen vorprogrammiert.

PaaS: Der Neue Stack

Die Alternative zu IaaS ist PaaS. Warum nicht, anstatt Maschinen zu mieten, die Anwendung auf eine Cloud-Plattform stellen, die sich um weniger relevante Details wie Systemadministrierung kümmert? Werner Vogels, der CTO von Amazon, hat zu Recht auf den Betrieb einer eigenen Datencenterinfrastruktur als diejenigen „70 % undifferenzierte Schwerarbeit“ hingewiesen (Werner Vogels: A Head in the Cloud – The Power of Infrastructure as a Service, MySQL Conference Keynote, 15. April 2008), die Entwicklungsteams besser auf Entwicklung verwenden sollten, sich aber darüber hinaus nicht zur Systemadministrationslast geäußert. Dabei ist die Mehrzahl von Anwendungen heute fast so weit vom Betriebssystem entfernt wie von der Hardware – von Webanwendungen ganz zu schweigen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -