PaaS (Platform as a Service): Entwicklungsumgebungen im Web

Technologie

Technologie

Datum 14.05.2019
Lesezeit 7 Min.

PaaS (Platform as a Service): Entwicklungsumgebungen im Web

Mit „Platform as a Service”-Anwendungen („PaaS”) können Sie cloudbasiert programmieren, ohne eine entsprechende Entwicklungsumgebung lokal auf Ihrem Rechner installieren zu müssen. Das steckt dahinter.

Gerade bei anspruchsvollen Entwicklungsprojekten fällt normalerweise eine Menge Installations- und Pflegeaufwand für die benötigte Programmierumgebung an. Mit einer gemieteten Web-Plattform für Ihre Entwicklungsarbeit profitieren Sie wie bei anderen „as-a-Service”-Lösungen unter anderem von automatischen Back-ups und Updates ohne jeglichen Installationsaufwand. Wir zeigen auf, was Sie bei der Migration Ihrer Entwicklungsarbeit in die Cloud beachten sollten.

 

PaaS (Platform as a Service): Das steckt dahinter

Neben SaaS („Software-as-a-Service”)– und IaaS („Infrastructure as a Service”)-Angeboten gibt es weitere cloudbasierte Lösungen für orts- und Infrastruktur-unabhängiges Arbeiten.

Mit „Platform as a Service”-Anwendungen können Sie beispielsweise Apps für Smartphones, aber auch komplexe Webdienstleistungen und native Software für Mac oder PC in der Cloud entwickeln. Der Anbieter der PaaS-Lösung kümmert sich dabei um die entsprechende Entwickleroberfläche, führt notwendige Updates durch und sorgt dafür, dass Ihre wertvolle Programmierarbeit durch Back-ups gesichert ist. Das Hosting Ihrer Entwürfe, Quellcodes und Daten erfolgt auf Cloud-Servern, die je nach Anbieter weltweit verteilt sein können.

Eine PaaS-Lösung unterstützt normalerweise den gesamten Software-Lebenszyklus, beginnend beim Entwurf über die eigentliche Programmierung bis hin zum Test und die Auslieferung beziehungsweise den Betrieb als Webanwendung. Die verschiedenen „as a Service”-Modelle bauen dabei hierarchisch aufeinander auf: Ohne passende Infrastruktur gibt es keine Cloud-Plattform und ohne PaaS-Entwicklungsarbeit letztlich keine Cloud-Software. PaaS stellt somit in diesem Modell die mittlere Schicht dar:

 

Ausklappbare Informationsgrafik

Die drei typischen Cloud-Anwendungen IaaS, PaaS und SaaS bauen aufeinander auf. PaaS stellt hierbei die mittlere Schicht dar.

 

Oftmals verschwimmen jedoch die Grenzen zwischen den einzelnen Ebenen im Cloud Stack. IaaS-Anbieter stellen oft nicht nur die vom Kunden benötigte Server-Infrastruktur, sondern auch dazugehörige Entwickler-Plattformen zur Verfügung. Vodafone etwa fasst seine IaaS- und PaaS-Dienstleistungen unter dem Namen Alibaba Cloud zusammen.

Ähnliches gilt für die Microsoft Azure Cloud: Hier kann der Kunde ebenfalls entscheiden, ob er nur PaaS-, nur IaaS- oder diese Dienstleistungen in Kombination miteinander nutzen möchte. Und in PaaS-Entwicklungsumgebungen werden häufig Anwendungen entwickelt, die später dann als SaaS-Angebot laufen.

 

IBM, Amazon & Co.: PaaS-Anbieter im Überblick

Mehrere Unternehmen, die teils ausschließlich Webdienstleistungen anbieten, aber auch Anbieter klassischer Installationslösungen haben inzwischen ein Cloud-Plattform-Angebot für Anwendungsentwicklung im Portfolio. Während einige dieser PaaS-Dienste im sogenannten Freemium-Modell laufen und grundlegende Leistungen kostenlos anbieten, sind andere ausschließlich gegen Bezahlung buchbar. Zu den wichtigsten Vertretern dieser Art von Lösungen zählen unter anderem die folgenden Dienste:

Amazon Web Services: Relationale Datenbanken und mehr

Amazon ist einer der Pioniere im Cloud-Geschäft. Die Amazon Web Services (AWS) wurden 2006 als Spin-off des bekannten Online-Versandhändlers gegründet und haben mit dem Universal-Onlinehandel nur den Namen des Mutterkonzerns gemein. Das Angebot von AWS umfasst neben IaaS-Angeboten wie der Elastic Compute Cloud (EC2), dem S3-Cloud-Speicherdienst sowie CloudFront auch eine Reihe von PaaS-Komponenten:

  • Relationale Datenbanken: Der RDS-Dienst von Amazon bietet als Abfragesprachen mySQL, MS SQL Server und Oracle an. Die Abrechnung richtet sich nach dem jeweiligen Speicherbedarf und der benötigten Rechenleistung in der jeweiligen Instanz.
  • SimpleDB: Wie der Name schon sagt, liegt bei SimpleDB der Fokus auf einfacher Entwicklung, schneller Bereitstellung von Funktionalität und größtmöglicher Skalierbarkeit. Die zugrundeliegende Abfragesprache NoSQL dient zur Abfrage dieser nicht-relationalen Datenbank mit flexiblen Datenmodellen. Die Abrechnung richtet sich nach dem Speicherverbrauch.
  • Elastic Beanstalk: Dieses PaaS-Modul dient zur Entwicklung von Anwendungen in Java oder Python und unterstützt die Virtualisierung von Containern beispielsweise mit Docker. Diverse Schnittstellen sorgen für eine nahtlose Integration in andere, bei Amazon eventuell gebuchte Dienstleistungen.

 

Microsoft Azure Cloud: Anwendungen für das Web und für Windows entwickeln

Auch Microsoft besitzt ein eigenes PaaS-Angebot, das in die Azure-Cloud-Services integriert ist. Seit Anfang 2010 können Entwickler mit den Sprachen SQL Azure und AppFabric arbeiten. Außerdem wurde eine neue Version des beliebten .NET-Frameworks in die Azure Cloud integriert. Die Dateien der Entwickler werden in der Cloud abgelegt und Back-ups werden automatisch angelegt.

Die Azure Cloud unterstützt die üblichen Programmiersprachen wie Java und Co. und arbeitet mit sogenannten Rollen („Roles”):

  • „Web Roles” dienen als Container für Webanwendungen.
  • „Worker Roles” übernehmen beispielsweise rechenintensive Nebenaufgaben.
  • „VM Roles” sorgen dafür, dass beispielsweise Windows-Server-Instanzen in der Cloud gehostet werden können.

Die Microsoft-Azure-Plattform dient hierbei zur eigentlichen Anwendungsentwicklung und ist auf .NET und Visual Studio zugeschnitten. Die meisten der angebotenen Services sind, insbesondere was die Eclipse-Umgebung angeht, jedoch auf Windows-Nutzer als Zielgruppe ausgerichtet. Fertige Anwendungen können nach entsprechender Freigabe über den Microsoft-eigenen App-Marktplatz vertrieben werden.

Einige Dienste sind aktuell für bis zu zwölf Monate kostenlos nutzbar. Danach richten sich die fälligen Gebühren entweder nach der Nutzungsdauer oder der benötigten Speicherkapazität.

 

Video: YouTube / Microsoft Azure

 

Google App Engine: Web-Entwicklung mit Python, Java und Co.

Vor einigen Jahren hat Google seine Dienste unter einem einzigen Log-in, dem sogenannten Google-Konto, gebündelt. Auch für das PaaS-Angebot des Suchmaschinenriesen ist ein solches Konto erforderlich. Nach der kostenlosen Registrierung können Entwickler auf eine Reihe von Tools zugreifen, die als Webanwendungen laufen. Es werden eine ganze Reihe von Programmiersprachen unterstützt, darunter Java, Python und JRuby.

Die meisten der Google-App-Engine-Angebote greifen im Hintergrund auf die Google-Dienst-Infrastruktur zurück. Gerade für Entwickler, die Anwendungen auf Basis von Google-Diensten wie Maps, der Google-Bildersuche oder anderen API-fähigen Angeboten entwickeln wollen, kann dieser Umstand interessant sein. Applikationen können somit über die Google-Infrastruktur Internet-Content abrufen, Mails senden und empfangen und mit Bildern und anderem Content arbeiten.

 

Das PaaS-Angebot ist groß: Weitere wichtige Plattformen

Weitere PaaS-Anbieter sind IBM mit dem Bluemix-Angebot, die SAP Cloud Platform und Red Hat mit dem Freemium-Angebot OpenShift. Auch der Datenbankanbieter Oracle hat elastische Datenbankanwendungen aus der Cloud im Programm. Die Website PaaSfinder.org bietet einen umfassenden Wegweiser, sollten Sie ein bestimmtes Anwendungsszenario im Blick haben und hierfür das richtige PaaS-Angebot suchen.

 

Entwicklungsplattformen als Dienstleistung: Die Vor- und Nachteile

So verlockend es klingen mag, Entwicklungsarbeit frei von der Installation von Laufzeitbibliotheken, Datenbanksystemen und unabhängig von einer eigenen Infrastruktur zu betreiben – es gibt bei der Entwicklung in der Cloud einige Dinge zu beachten.

Kritiker führen beispielsweise an, dass sensible Unternehmensdaten in falsche Hände geraten könnten. Erst vor wenigen Jahren musste Amazon zugeben, dass einer ihrer Kunden die US-amerikanische Sicherheitsbehörde CIA ist. Immerhin ist es durch die verteilte Server-Infrastruktur bei PaaS-Angeboten quasi unmöglich, festzustellen, auf welchem Server und in welchem Land Ihr Quellcode und Ihre Daten aktuell gehostet werden – und ob Dritte nicht doch Zugriff darauf haben.

Vor allem europäische Unternehmen unterliegen strengen Datenschutzgesetzen (Stichwort: DSGVO). Bevor Sie also Material in Ihren bevorzugten PaaS-Dienst hochladen, sollten Sie sich umfassend über die Konformitätsangaben des jeweiligen Anbieters informieren.

Für die Nutzung von PaaS-Angeboten empfiehlt es sich, nur solche Daten in der Cloud vorzuhalten, die für sich genommen und für Dritte keinen großen Wert besitzen. Außerdem sollte es sich nicht um persönliche Daten, beispielsweise von Kunden, oder gar Zahlungsdaten und anderes sensibles Material handeln.

 

Video: YouTube / ExplainingComputers

 

Maximaler Datenschutz bei gleichzeitiger Flexibilität: Die PaaS-Mixed-Cloud

Für Anwendungen mit kritischem Bezug kann eine Mixed-Cloud-Lösung das Mittel der Wahl sein: Hier erfolgt das Hosting der eigentlichen Daten entweder On-Premise, also bei Ihnen im Unternehmen, oder auf einem DSGVO-konformen Cloud-Dienst wie der Vodafone Alibaba Cloud. Die Entwicklung der zugehörigen Anwendung findet dann in einem passenden PaaS-Angebot statt.

 

Welche PaaS-Lösung nutzen Sie bereits oder erwägen deren Einsatz? Wir freuen uns auf Ihren Kommentar.

 

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Facebook Twitter WhatsApp LinkedIn Xing E-Mail