Platform as a Service (PaaS) als Cloud-Modell, bei dem höherwertige Dienste als Cloud Services bezogen werden können, wird für Unternehmen immer attraktiver. Typische PaaS-Angebote stellen Enwicklungswerkzeuge, Datenbanken, Laufzeitumgebungen und technische Frameworks bereit, die helfen, benutzerdefinierte Anwendungen als Services zu erstellen und auszuführen.
Solche Cloud-Umgebungen bieten für Entwickler vor allem den Vorteil, dass sie für die gesamte Infrastruktur, die oft aufwändig bereitgestellt werden muss, nicht mehr selbst sorgen müssen. Die Nutzer müssen sich mit der technischen Umsetzung der Services nicht mehr befassen, alles Erforderliche steht im PaaS-Umfeld als Cloud-Service zur Verfügung.
Die zugrunde liegende Infrastruktur befindet sich für den Bezieher der Dienste unsichtbar hinter Services und Schnittstellen versteckt, er kann sich voll und ganz auf die Anwendungsentwicklung konzentrieren. Entwicklung, Erprobung, Einführung und laufende Wartung von Anwendungen werden damit immens erleichtert - und der Zeitaufwand radikal verringert.
PaaS galt noch vor ein oder zwei Jahren als Cloud-Dienst für Start-ups und kleinere Betriebe. Doch das hat sich gründlich geändert. Gerade für große Unternehmen, die ihre Geschäftsprozesse und Kundenbeziehungen digitalisieren, bieten PaaS-Plattformen enorme Vorteile. Denn hier lassen sich neue Entwicklungsmethoden ohne große Investitionen ausprobieren und aktuelle Anwendungen zum Beispiel für Marketing und Vertrieb mit kurzem "Time-to-Market" entwickeln und testen.
Google App Engine
Google App Engine ist eine Plattform zum Entwickeln und Hosten von Webanwendungen auf den Servern von Google. Die Plattform stellt Applikationen verschiedene Services zur Verfügung, denen Google-Technologien zugrunde liegen und die auch in anderen Google-Applikationen und Dienstleistungen Verwendung finden.
Im Zentrum der Google App Engine stehen die SDKs. Sie bilden die Basis für die Entwicklung und das Deployment der App-Engine-Anwendungen. Als Entwicklungsumgebungen stehen Python und Java VM zur Verfügung. Außerdem erhalten die Anwender eine Reihe nützlicher Entwickler-Tools, die Programmieraufgaben vereinfachen und beschleunigen können. Dazu gehören beispielsweise anspruchsvollere Bildbearbeitungs-, Authentifizierungs- und E-Mail-Services.
Auch das Handling von Datenbanken erleichtert die App Engine. Der automatisierte Datenbankdienst Google Cloud SQL ermöglicht das Generieren und Verwalten relationaler Datenmodelle, ohne dass man sich weiter um Konfiguration und Wartung des Datenbanksystems kümmern muss.
Die App Engine ist vor allem für Unternehmen interessant, die Apps in derselben Infrastruktur betreiben, die auch Google für seine Online-Dienste verwendet. Zielgruppe sind vor allem Software-Hersteller, die mit Java oder Python entwickeln. Es gibt aber bereits SKDs für PHP und für die Skriptsprache Go.
Der Service ist für kleinere Anwendungen mit gewissen Mengenbeschränkungen kostenlos. Weitere Ressourcen sind zukaufbar. Abgerechnet wird entsprechend dem tatsächlichen Mehrverbrauch auf Basis des Verbrauchs von Ressourcen wie Rechenleistung, Speicherkapazität und Bandbreite.
Amazon Elastic Beanstalk
Bei Amazons PaaS-Plattform Elastic Beanstalk laden die Nutzer ihre Anwendung in die Cloud der Amazon Web Services (AWS) hoch. Elastic Beanstalk verwaltet dann automatisch die Details der Kapazitätsbereitstellung, Lastverteilung, automatischen Skalierung und Statusüberwachung. Im Vergleich zu Google behält der Anwender bei Amazon die Kontrolle über die Server-Infrastruktur, alle Instanzen sind frei konfigurier- und administrierbar.
Auch können Entwickler auf eine breitere Vielfalt an Werkzeugen zurückgreifen. Neben Java und Python unterstützt Elastic Beanstalk .NET, PHP, Node.js und Ruby. Zusätzlich werden weitere Dienste bereitgestellt wie beispielsweise Simple Workflow Service (SWS), Simple Email Service (SES), Simple Queue Service (SQS) oder Simple Notification Service (SNS). Letzterer eignet sich dazu, Benachrichtigungen über bestimmte Ereignisse anderer AWS-Dienste per E-Mail oder SMS zu versenden. Ferner können Anwendungen auf Amazon Web Services im sogenannten AWS Marketplace bereitgestellt werden, wo sie durch Dritte gebucht werden können.
Bei den Datenbanken haben Amazon-Kunden die Wahl zwischen traditionellen relationalen Datenbanksystemen wie MySQL, SimpleDB, Oracle und Microsoft SQL Server. Verfügbar sind aber auch spezielle Datenbanklösungen, die Amazon selbst entwickelt hat. Dazu zählen vor allem der relationale Datenbank-Service Amazon RDS und die NoSQL-Lösungen Amazon DynamoDB und Amazon SimpleDB.
Elastic Beanstalk wendet sich ausschließlich an bestehende Kunden von Amazon Web Services, vor allem Amazon EC2 und Amazon S3, und wird als kostenloser Zusatzservice angeboten.
- Der Cloud-Readiness-Check
Bevor sich CIO und die IT-Abteilung für eine Cloud-Lösung entscheiden, muss sie unter speziellen Gesichtspunkten wie Strategie, Prozesse, Organisation, Technik und Sicherheit genau unter die Lupe genommen werden. - 1. Cloud-Integration prüfen
Im ersten Schritt gilt es zu prüfen, wie sich eine potenzielle Cloud-Lösung in die bereits bestehende IT-Infrastruktur, das Finanz-Management sowie Multivendor-fähige Prozesse einfügt. - 2. Mitarbeiter-Skills verbessern
Mit der Frage nach einer Cloud-Anwendung geht auch die Frage einher, ob Mitarbeiter-Skills auf- oder ausgebaut werden müssen, und ob ein Wandel in der Unternehmenskultur erfolgen sollte. - 3. IT-Kapazitäten ausloten
Im Vorfeld muss vom technologischen Standpunkt aus unbedingt Augenmerk auf Zugriffsmöglichkeiten, abgesicherte Anbindungen sowie auf Kapazitäten und Varianzen der benötigten Rechenleistung gelegt werden. - 4. Rechtliche Aspekte abklären
Der rechtliche Aspekt ist ein wesentlicher und nicht zu vergessender Analysepunkt. Er sollte klare Antworten auf die Fragen nach der Absicherung von Service-Level-Agreements, die Sicherheit vor der Deaktivierung der Cloud-Dienste durch den Anbieter sowie über ausländische Vertragsstrukturen geben. - 5. Transparenz sicherstellen
Wer Cloud-Lösungen anstrebt, muss bereits im Vorfeld die Transparenz hinsichtlich der Speicherungsorte und der Sicherheit in der Datenverarbeitung untersuchen und einfordern.