Eigene interne PaaS erstellen: Ein Überblick
Haben Sie sich jemals vorgestellt, eine eigene Mini-Version von Heroku zu entwickeln? Die Idee mag aufregend klingen, und das ist sie auch! Platform as a Service (PaaS) ist ein Cloud-Computing-Modell, bei dem ein Anbieter eine Plattform für die Entwicklung und Bereitstellung von Anwendungen bereitstellt. Entwickler nutzen oft die Vorteile von PaaS, um sich voll und ganz auf die Erstellung ihrer Anwendungen zu konzentrieren, anstatt Zeit mit dem Aufbau einer Infrastruktur zur Entwicklung und Ausführung dieser Anwendungen zu verschwenden.
Natürlich gibt es große Anbieter wie AWS, Azure und Google Cloud, die beeindruckende PaaS-Lösungen anbieten. Jedoch ist es nicht immer notwendig, sich auf diese großen Player zu verlassen. Kleine Unternehmen können mit Mini-PaaS-Lösungen kleinere Anwendungen problemlos auf wenigen Servern betreiben. Dies ist nicht nur kostensparend, sondern auch zeitsparend – und Zeit ist bekanntlich Geld!
Hier ist eine Zusammenstellung beliebter PaaS-Software, mit der Sie Ihre eigene Plattform für kleinere Anwendungen aufbauen können.
Dokku
Erinnert an Heroku, nicht wahr? Richtig erkannt! Dokku ist eine schlanke Open-Source-Lösung, die mit nur 1 GB RAM auf Systemen wie CentOS, Ubuntu und Debian läuft.
Dokku, ein in Bash geschriebenes Mini-Heroku, nutzt Docker im Hintergrund. Sie können Ihre Anwendung per Git-Push bereitstellen; Dokku übernimmt den Rest, baut die Anwendung und führt sie in isolierten Containern aus.
Funktionen von Dokku:
- Unkomplizierte Bereitstellung via Git
- Verfügbarkeit von Plugins für diverse Programmiersprachen
- Erweiterbarkeit und Anpassbarkeit von Dokku
- Einfache Befehle für Anwendungs-, Benutzerverwaltung und Protokollierung
- Option für individuelle Health Checks zur Ermöglichung von Zero-Downtime-Deployments
Sie können Dokku auf Ihrem Server installieren oder per One-Click-Installation über Anbieter wie Kamatera, DigitalOcean oder Azure einrichten.
Jelastic – Lite Edition
Jelastic ist eine Plattform, die eine Multi-Cloud-DevOps-PaaS-Lösung bietet, die schnellere Entwicklung, geringere IT-Infrastrukturkosten, verbesserte Betriebszeit und erhöhte Sicherheit ermöglicht. Die Lite-Edition bietet viele der Funktionen, die auch in den Business- und Enterprise-Versionen vorhanden sind, jedoch mit einigen Einschränkungen. Sie eignet sich jedoch hervorragend für kleinere Anwendungen und ist sehr kosteneffizient.
Diese Lite-Version von Jelastic ist optimal für Unternehmen mit begrenztem Budget und eignet sich besonders gut für Startups, kleine E-Commerce-Seiten, Gaming-Projekte und kleinere Implementierungen.
Funktionen von Jelastic Lite Edition:
- Entwickler-Dashboard mit Optionen zur Anwendungsbereitstellung
- Unterstützung für Container und Kubernetes
- Automatische vertikale und horizontale Skalierung
- Firewall und Zwei-Faktor-Authentifizierung für Benutzer
- Integrierte Überwachungs- und Fehlerbehebungswerkzeuge
- API-, CLI- und SSH-Zugriff zur Containerverwaltung
Die Jelastic Lite Edition ist derzeit nur auf Google Cloud und DigitalOcean verfügbar.
Flynn
Flynn ist eine Open-Source-PaaS-Lösung, die für die Ausführung jeglicher Software unter Linux konzipiert wurde. Sie bietet eine Plattform, mit der Entwicklungs- und Betriebsteams Software einfach entwickeln, bereitstellen und verwalten können. Flynn kann einfach lokal oder auf dedizierter Hardware sowie bei Cloud-Anbietern installiert werden.
Funktionen von Flynn:
- Integrierte MySQL-, MongoDB- und PostgreSQL-Datenbanken mit Hochverfügbarkeit
- Integrierte Service Discovery zur Verbindung von Microservices
- Skalierung nach Bedarf, um Cloud-Kosten zu sparen
- Ein erfahrenes Team betreibt den Flynn-Cluster
Hephy Workflow
Hephy Workflow vereinfacht die Bereitstellung und Verwaltung von Anwendungen innerhalb eines Kubernetes-Clusters. Es ist ein Fork von Deis Workflow, dessen Entwicklung 2018 eingestellt wurde. Die Entwicklungsgruppe hat sich danach Microsoft Azure-Projekten zugewandt.
Der Hephy-Workflow besteht aus kleinen, unabhängigen Diensten, die zusammen eine verteilte PaaS bilden. Diese Komponenten werden als Dienste in einem Kubernetes-Cluster bereitgestellt. Der Workflow unterscheidet zwei Benutzerklassen: Standardbenutzer und Administratoren.
Standardbenutzer haben Zugriff auf Funktionen zur Entwicklung und Bereitstellung von Anwendungen. Administratoren haben zusätzlich vollen Zugriff auf die Anwendungen.
Funktionen von Hephy Workflow:
- Image Builder zum Kompilieren von Code aus Dockerfiles und Buildpacks
- HTTP/HTTPS-Edge-Routing für Anwendungen
- Anwendungsfreigabe und Rollback
- REST-API für CLI und Integrationen
- Authentifizierung und Autorisierung zum Schutz der Anwendungen
CapRover
CapRover ist eine einfach zu erlernende und vollautomatische Anwendungsplattform. Wenn Sie mit Heroku vertraut sind, können Sie sich CapRover als eine leistungsstarke Open-Source-Alternative vorstellen.
CapRover eignet sich für verschiedene Zwecke, wie das Hosten von Node.js-, PHP-, Java-Anwendungen, WordPress-Seiten, MongoDB-, MySQL-Datenbanken, Nginx und mehr.
Sie können CapRover mit einer 1-Klick-App-Installation auf DigitalOcean starten.
Funktionen von CapRover:
- Befehlszeilenschnittstelle für Skripting und Automatisierung
- Web-GUI zur Visualisierung aller Anwendungsereignisse
- Lastverteilung mit Nginx
- Kostenlose SSL-Zertifikate mit Let’s Encrypt
- Containerisierung und Clustering mit Docker Swarm
Tsuru
Tsuru ist eine schlanke und benutzerfreundliche Open-Source-PaaS-Lösung. Tsuru kombiniert beispielsweise eine Python-Anwendung und eine MongoDB-Serverinstanz und führt beide simultan aus. Die Ausführung erfolgt innerhalb von Docker-Containern.
Tsuru bietet mehrere Plattformoptionen. Wenn die vorhandenen Optionen nicht ausreichen, können Sie Ihre eigene Plattform auf Tsuru erstellen.
Eigenschaften von Tsuru:
- Einfache, dynamische Skalierung
- Verteilte Ausführung zur Nutzung der verfügbaren Ressourcen
- Ausführung von Anwendungen in beliebiger Sprache, unabhängig von den 12-Factor-Apps
- Schnelle Bereitstellung per Git-Push
- Einfache Integration mit IaaS wie AWS EC2, Apache Cloudstack
Piku
Piku ist die kleinste Heroku/CloudFoundry-ähnliche PaaS. Inspiriert von Dokku, stellt Piku Anwendungen mittels Git-Push auf Ihren Servern bereit. Es funktioniert in POSIX-Umgebungen wie Linux, Windows-Subsystem für Linux, FreeBSD und Cygwin.
Funktionen von Piku:
- Unterstützung für einen Heroku-ähnlichen Workflow
- Funktionaler Codierungsstil zur Vereinfachung der Bedienung
- Unterstützung von Apps in Go, Python, Closure (Java) und Node.js
- Abwärtskompatibilität wo immer möglich
- Unterstützung der 12-Factor-App-Methode
Fazit
Worauf warten Sie noch? Probieren Sie diese Software aus, um Ihre eigene PaaS zu erstellen. Da die meisten von ihnen Open Source sind, können Sie einen Cloud-Server mieten und experimentieren, um herauszufinden, welche Lösung für Sie am besten funktioniert.
Nächstes Thema: Docker.