Sergey Nivens - Fotolia
Diese sechs Open-Source-PaaS-Angebote sollten Sie kennen
Open Source PaaS ist eine gute Wahl für Entwickler, die den Aufwand bei der Pflege der Plattform vermeiden möchten, aber die Anbieterbindung nativer Cloud-PaaS scheuen.
PaaS (Platform as a Service) ist ein Anwendungs-Hosting-Modell, das den Großteil der zugrundeliegenden Infrastruktur abstrahiert, die für die Bereitstellung einer Cloud-basierten Softwareanwendung erforderlich ist. Das vereinfacht den gesamten Entwicklungsprozess.
PaaS-Tools sind ein Mittelding zwischen IaaS und SaaS. Sie reduzieren den Overhead bei der Bereitstellung von Anwendungsabhängigkeiten (beispielsweise zu Datenbanken) und vereinfachen die meisten DevOps-Aufgaben, zum Beispiel den Lastausgleich.
PaaS ist bei Entwicklern beliebt, da es die Zeit bis zur Markteinführung verkürzt, indem es die komplexe Serververwaltung übernimmt und die Bereitstellungsprozesse vereinfacht, die in Cloud-basierten Umgebungen, die üblicherweise als IaaS bezeichnet werden, traditionell komplexer sind.
Bei PaaS steht die Benutzerfreundlichkeit im Vordergrund; dafür treten oft andere Schwierigkeiten auf. Erstens entpuppt sich Vendor Lock-In häufig als ernstes Problem. Während Sie die virtualisierte Infrastruktur, wie sie die meisten Cloud-Anbieter im Programm haben, bei Bedarf leicht zu anderen Anbietern verlagern können, sind PaaS-Bereitstellungen spezialisiert und in der Regel nicht reproduzierbar. Der Wechsel von einem Anbieter zu einem anderen ist mit hohem Aufwand verbunden.
Hier spielt Open Source ihre Vorteile aus. Open Source PaaS bietet zwar oft nicht dasselbe Komfortlevel, vereinfacht aber den Prozess der Anwendungsbereitstellung und -verwaltung immernoch erheblich. Die Nutzer haben mehr Kontrolle darüber, wo und wie sie ihre Anwendungen hosten und sparen gleichzeitig viel Verwaltungsaufwand.
Die 6 wichtigsten Open Source PaaS-Werkzeuge
Heute gibt es eine Reihe beliebter Open-Source-PaaS-Optionen auf dem Markt, jede mit ihren eigenen Besonderheiten. Die folgenden Tools sind sechs der beliebtesten Projekte, mit denen Entwicklungsteams die Komplexität des Infrastrukturmanagements abstrahieren und gleichzeitig die Möglichkeiten der Cloud nutzen.
1. CapRover
CapRover ist ein beliebtes, kostenloses und quelloffenes PaaS, das im Jahr 2017 veröffentlicht wurde. CapRover ist mit TypeScript geschrieben und lässt sich mit einer Handvoll Befehlen recht einfach bedienen. Da es auf Docker basiert, stellen Sie nahezu jede Anwendung mit minimalem Aufwand auf CapRover bereit und nutzen dabei das Captain-Definition-Dateiformat. Die Captain-Definition listet alle Ressourcen und andere Abhängigkeiten auf, die Sie für Ihre Anwendung benötigen.
Zu den Vorteilen gehört neben der großen Benutzerfreundlichkeit der integrierte Marktplatz für Ein-Klick-Anwendungen. Hier finden Sie viele Abkürzungen, um mit gängigen Programmen wie WordPress und MySQL zu arbeiten, was die Gesamtkomplexität der Bereitstellung einer Anwendung auf CapRover noch weiter reduziert.
Hauptmerkmale
- Automatische Bereitstellung von SSL-Zertifikaten von Let's Encrypt
- Lokale Kommandozeile (CLI) zur Automatisierung
- Webbasierte grafische Benutzeroberfläche (GUI) für einfache Bedienung
- Unterstützung aller Docker-basierten Anwendungen
- Integrierter Marktplatz für die Bereitstellung anderer beliebter Open-Source-Anwendungen mit einem Mausklick
2. Cloud Foundry
Cloud Foundry ist eine leistungsstarke Plattform, mit der sich dank Kubernetes eine gute Skalierbarkeit der Anwendung erreichen lässt. Cloud Foundry erhalten Sie gemeinsam mit BOSH – einem proprietären, plattformübergreifenden Tool zum Bereitstellen und Verwalten umfangreicher Cloud-basierter Software. Dazu kommen Entwickler-Tools, die den Aufwand für das Bereitstellen der Software auf Kubernetes-Clustern reduzieren, ohne die Qualität oder Geschwindigkeit zu beeinträchtigen.
Cloud Foundry ist ein einfacheres Tool als CapRover, mit dem Nutzer ausschließlich über eine Kommandozeile interagieren. Es verfolgt einen modularen Ansatz für seinen eigenen Servicemarktplatz, der Funktionen wie Log-Streaming und Single-Sign-On als Erweiterungen anbietet. Hier finden Sie neben gängigen Tools, wie solchen zum Anbinden von Datenbanken, auch Programme für Kommunikation mit APIs von Drittanbietern wie GitHub und AWS.
Hauptmerkmale
- CLI-Client zur Integration in bestehende Build-Tools
- Flexible Infrastrukturunterstützung durch BOSH-Stammzellen
- Unterstützung der wichtigsten Programmiersprachen und benutzerdefinierter Buildpacks
- Integrierter Servicemarktplatz für zusätzliche Deployment-Funktionen
3. Dokku
Dokku ist eine einfache, headless PaaS-Plattform, die sich durch ihr schlankes Design und ihre Benutzerfreundlichkeit auszeichnet.
Da Nutzer Dokku ausschließlich über die CLI steuern, orientiert sich die Benutzererfahrung stark an Herokus eigenem Tooling. Dokku ist eine beliebte Wahl bei Teams mit kleinem Budget und zeichnet sich durch seine Plug-in-Architektur aus.
Da Dokku vollständig als Sammlung gut strukturierter Plug-ins aufgebaut ist, ist es Ihnen schnell und einfach möglich, Abhängigkeiten innerhalb eines einzelnen Anwendungs-Repositories zu installieren – wie Datenbanken und Caching-Dienste – und zusätzliche Funktionen wie das Registrieren von Let's Encrypt SSL-Zertifikaten und sogar automatische Slack-Benachrichtigungen umzusetzen
Hauptmerkmale
- CLI-Client zur Integration in bestehende Build-Tools
- Git-Push-basierte Deployment-Strategie à la Heroku
- Umfangreiche Plugin-Architektur
- Integrierte Docker-Unterstützung für erweiterten Einsatz
4. OKD
OKD ist der Open-Source-Kern von Red Hats kommerziellem PaaS-Tool OpenShift und eine erweiterte Kubernetes-Distribution, die für entwicklerzentrierte Funktionen wie kontinuierliche Entwicklung und mandantenfähiges Deployment optimiert ist. OKD ist für das Ausführen beliebiger Kubernetes-Workloads ausgelegt und wurde mit Blick auf die Benutzerfreundlichkeit für Teams entwickelt.
Mit einer Webkonsole und einer CLI bietet OKD eine zentrale Drehscheibe für eine Reihe von Aufgabenbereichen, vom Pflegen des Technologie-Stacks bis hin zum Koordinieren des Teams und der Organisation. Obwohl OKD betont, dass es sich nicht um einen Fork von Kubernetes handelt, sondern um eine Schwester, haben sie sich viele Gedanken über die Funktionen gemacht, die zusätzlich zu Kubernetes angeboten werden.
Die wichtigsten Features
- Native Unterstützung von Lightweight Directory Access Protocol, Active Directory und OAuth
- Unterstützung für Multi-Mandantenfähigkeit
- Automatisierte Git-basierte Deployment-Hooks
- CLI- und GUI-Schnittstellen zum Erstellen und Überwachen von Anwendungen
5. Porter
Porter, ein Newcomer in der Szene, ist eine Kubernetes-basierte PaaS, die das Ziel hat, die Heroku-Erfahrung auf den bevorzugten Cloud-Anbieter eines Entwicklers zu übertragen. Porter ist eine Open-Source-Plattform mit Selbst-Hosting-Fähigkeiten und ein gut durchdachtes Tool mit einem schön gestalteten Web-Dashboard, das sowohl Form als auch Funktion bietet.
Was Porter besonders interessant macht, ist sein Monetarisierungsmodell, das dem traditionellen Weg eines Open-Source-Kerns folgt, der einen Managed Service mit einigen zusätzlichen Funktionen ausstattet. Dazu kommt aber eine Besonderheit. Statt die gesamte Infrastruktur selbst zu betreiben, stellt Porter automatisch einen Kubernetes-Cluster beim bevorzugten Cloud-Provider des Anwenders bereit und gibt ihm so die volle Kontrolle über die zugrundeliegende Infrastruktur.
Hauptmerkmale
- CLI- und GUI-Schnittstellen für das Deployment und Management von Anwendungen
- Integrierte Unterstützung von AWS, Google Cloud Platform und Digital Ocean
- Integrierter Marktplatz für Add-ons wie Datenbanken und Caching-Dienste, die Sie mit einem Klick hinzufügen
- Native Unterstützung von Docker und Buildpacks
6. Rancher
Obwohl Rancher sich selbst als Kubernetes-as-a-Service-Tool und nicht als PaaS bezeichnet, hat es sich aufgrund seiner Geschichte als PaaS-Tool einen Platz in dieser Liste verdient. Rancher bietet eine breite Palette an Bereitstellungs- und Managementfunktionen für Kubernetes-Cluster in einer Vielzahl von Clouds – einschließlich VMware vSphere.
Ähnlich wie die anderen PaaS-Tools auf dieser Liste bietet Rancher zusätzlicher Funktionen für die zentrale Verwaltung von Benutzern, Clustern und Organisationen. Obwohl das Kommandozeilen-Tool als Erweiterung des klassischen kubectl-Tools alles bieten dürfte, was Sie benötigen, sollten Sie sich die grafische Benutzeroberfläche ansehen, die viele Bedienhilfen parat hält.
Hauptmerkmale
- Einfaches Docker-basiertes Deployment
- Multi-Cloud-Unterstützung durch Verwaltung mehrerer Kubernetes-Cluster
- CLI- und GUI-Schnittstellen für die Verwaltung von Anwendungen