Die wichtigsten Fragen und Antworten zur PaaS-Einführung

Know-how  –  2 Kommentare

Die Nutzung der Cloud ist für viele Unternehmen selbstverständlich, sie beschränken den Einsatz allerdings zumeist auf SaaS und IaaS. Die Nutzung von PaaS kommt erst langsam in Schwung. Doch was müssen Unternehmen bedenken, bevor sie sich dafür entscheiden? Der Artikel gibt Antworten auf fünf wichtige Fragen vor der PaaS-Einführung.

Wo bringt PaaS überhaupt Vorteile?

Da Platform as a Service (PaaS) einen weitgehend neuen Ansatz darstellt, ist vielen Unternehmen oft nicht klar, wie das Konzept funktioniert und welche Vorteile sich daraus ergeben. Oft wird PaaS als reine Entwicklungsumgebung gesehen, oder es wird nur der Wegfall von Administrationsaufgaben wahrgenommen. Es lässt sich jedoch auch als Rückgrat für das Management des Software-Lebenszyklus einsetzen – von der Entwicklung bis zum Betrieb.

Die Entwicklung kann außerdem viel "agiler"nerfolgen, da PaaS eine Vielzahl Tools und Techniken unterstützt und Einsatzszenarien ermöglicht, die so auf "klassischen" Serverarchitekturen nicht realisierbar sind. Jeder Entwickler kann beispielsweise neue Ideen direkt in einer innerhalb kurzer Zeit bereitgestellten Testumgebung ausprobieren, die möglichst genau der späteren Produktivumgebung entspricht. Mit Tools für Lastsimulationen wie Blitz.io und Applikations-Analyse-Software wie New Relic können Entwickler vorab das Verhalten von Anwendungen unter nahezu realen Bedingungen analysieren und anpassen. Hersteller wie Cloud9 bieten sogar eine komplette Browser-IDE an, mit der man Software direkt in der Cloud entwickeln kann. Kurzum: Das können alles Gründe dafür sein, dass sich mit PaaS Effizienz und Qualität einer IT-Abteilung deutlich steigern.

In Verbindung mit Continuous Deployment werden die Arbeitsergebnisse der Entwickler dem Nutzer schneller zur Verfügung gestellt. Selbst kleine Änderungen lassen sich durch eine PaaS mehrfach täglich ausrollen, wobei Entwickler üblicherweise neuen Code über Git oder ähnliche Versionskontrollsyteme bei der PaaS einliefern. Die Softwarenutzer können während des Deployments neuer Versionen ohne Unterbrechungen mit den Applikationen weiterarbeiten. Continuous-Integration-Software wie Travis-CI bietet zudem die Möglichkeit, die Auslieferung von Software auf verschiedene Cloud-Plattformen in den CI-Prozess einzubinden.

Beim Software-Roll-out ist gewährleistet, dass jeder Server-Knoten die gleiche Laufzeitumgebung bereitstellt, sowohl in den Entwicklungs- als auch in den Produktivsystemen. Das vermeidet fehlende Komponenten und Versionskonflikte. Updates von Komponenten oder der Einsatz neuer Programmiersprachversionen lassen sich zuverlässig in isolierten Staging-Systemen vor der Auslieferung in den Live-Betrieb testen.

PaaS-Applikationen können im laufenden Betrieb in kurzer Zeit skaliert werden. Applikationsbetreiber garantieren so für den Endbenutzer eine dauerhaft hohe Performance. SaaS-Anbieter skalieren beispielsweise während der üblichen Geschäftszeit hoch und später wieder herunter, wenn die meisten Anwender im Feierabend sind. Bei Online-Games und Social Applications gestaltet es sich genau umgekehrt: Dort liegt der Höchstwert in den Abendstunden.

Für große Unternehmen, die eigene Rechenzentren unterhalten, könnte eine Private PaaS interessant sein. Sie sorgt dafür, dass firmeneigene Computing-Ressourcen und bestehende Assets effizienter genutzt werden. Dank Self-Service-Provisioning lassen sich Ressourcen auf Knopfdruck bereitstellen. Das ermöglicht effizientere und agilere Entwicklungsprozesse, was die Innovationszyklen verkürzt.

Durch den Einsatz von PaaS kann sich die IT schnell an wandelnde Anforderungen anpassen –
ohne von Ressourcenengpässen gebremst zu werden. Gerade in hochdynamischen Märkten, beispielsweise dem Konsumgüter- oder Telekommunikationsmarkt, stellt die damit verbundene Aufwands- und Zeitersparnis einen gewichtigen Wettbewerbsvorteil für Unternehmen dar.

PaaS bringt jedoch keine Vorteile, wenn Anwendungen von sehr statischer Natur sind oder wenn die Anpassung an PaaS unverhältnismäßig hohen Aufwand bedeutet. Beispiele hierfür sind kleinere CMS-Anwendungen, bestehende Standardsoftware oder alte Legacy-Software ohne Abstraktionslayer.

Welche Anwendungen funktionieren in der Cloud, welche nicht?

Die meisten Anwendungen können in PaaS-Umgebungen ausgeführt werden. Für Java, Ruby, Python, PHP, und .NET finden sich viele PaaS-Anbieter – manche spezialisieren sich auf eine Sprache, andere bieten Unterstützung für mehrere Sprachen.

Viele der Frameworks sind bereits so angepasst, dass sie optimal mit PaaS funktionieren. Dazu gehören Frameworks, die über eine Autokonfiguration verfügen oder eine Unterstützung von Block-Storages bieten. Unkompliziert auf PaaS einsetzbare Frameworks sind beispielsweise Rails, Symfony und Spring.

Bei zeitgemäßen Anwendungen können Cloud-APIs für die zentrale Datenablage konfiguriert werden – dadurch werden diese in den meisten Fällen PaaS-kompatibel. Bei älteren Anwendungen lassen
sich diese Funktionen normalerweise nachrüsten. Die Anpassungen an PaaS bedeuten primär Optimierungen, die der Performance, Ausfallsicherheit und der horizontalen Skalierung zuträglich sind, da PaaS-Anbieter ihre Plattformen mit der Orientierung auf "Best Practices" ausgelegt haben.

Das Implementieren von Auto-Konfigurationsroutinen ist nicht zwingend erforderlich, wird jedoch ausdrücklich empfohlen. Gewöhnlich stellen die PaaS-Anbieter jeder Anwendung Konfigurationsparameter per Datei oder Umgebungsvariablen zur Verfügung, die eine Anwendung für die Konfiguration verwenden kann. Damit lassen sich menschliche Fehler ausschließen. Gleichzeitig verhindert es, dass beispielsweise eine Anwendung in der Testumgebung versehentlich mit einer Produktivdatenbank "spricht".

Um den Umzug von Anwendungen zu vereinfachen, stellen PaaS-Anbieter benötigte Informationen zu Anwendungsanpassungen in Form von Dokumentation oder Schulungsmaterialien zur Verfügung. Alternativ kann auch auf das Know-how von Cloud-Consultants zurückgegriffen werden, um komplexe IT-Systeme auf einem PaaS angemessen abzubilden.

Noch nicht alle Techniken sind jedoch auf PaaS abbildbar. Ein Mail-Server lässt sich zum Beispiel in den mit dynamisch zugewiesenen IPs funktionierenden PaaS-Systemen nicht betreiben. Der Mail-Versand wird daher über Dritte abgewickelt. Streaming-Anwendungen, die abseits des HTTP-Standards arbeiten, haben es ebenfalls schwer, ihre Daten durch Web-optimierte Routing-Tiers und eventuelle Web-Caches zu übertragen.