Beiträge

Die Open-Source-Technologie wird oft mit kostenlos nutzbaren, hochverfügbaren Tools assoziiert, so dass es seltsam erscheinen mag, dass ein „As-a-Service“-Tool Open-Source sein soll. Open Source bedeutet eigentlich nur, dass der Quellcode der Lösung offen online verfügbar ist. Open-Source-PaaS-Lösungen haben frei verfügbare Codebasen, aber die Unternehmen müssen trotzdem für das Hosting bezahlen oder die Lösung selbst hosten. Dies ist der „As-a-Service“-Teil von PaaS.

Die in diesem Beitrag besprochene Software sind:

  • Dokku
  • Red Hat OpenShift
  • CloudFoundry

Fast alle PaaS-Lösungen sind entweder hybrid cloudbasiert oder vollständig cloudbasiert und ermöglichen es Unternehmen, Cloud-Dienste anstelle von Servern vor Ort zu hosten. Dies gilt auch für Open Source PaaS-Lösungen. Die meisten Open-Source-PaaS-Optionen bieten entweder Hosting- und Support-Dienste an oder sind für Unternehmen, die selbst hosten wollen, leicht zu implementieren.

Im Gegensatz zu den meisten Open-Source-Tools besteht der Hauptvorteil von Open-Source-PaaS-Tools nicht darin, dass sie kostenlos sind. Open-Source-PaaS-Lösungen ermöglichen das Selbst-Hosting, und die Verfügbarkeit des Codes macht sie in hohem Maße anpassbar.

Open-Source-Optionen sind eine gute Wahl, egal ob Sie eine PaaS-Lösung zur Ergänzung Ihrer Infrastructure-as-a-Service (IaaS) oder eine Anwendungsplattform für PHP- oder .net-Anwendungen benötigen. Hier sind die 3 besten Open-Source-PaaS-Optionen, die für Ihr Unternehmen geeignet sein könnten.

PaaS-Option mit der geringsten Nachfrage

Dokku ist eine Open-Source-Lösung, die eine leichtgewichtige, leistungsstarke Cloud-Plattform bietet. Wenn Unternehmen ihre PaaS-Lösung selbst hosten wollen, sind die Größe der Lösung und die Anforderungen an die IT-Infrastruktur ein großes Problem. Dokku kann über kostengünstige Cloud-Anbieter wie Amazon Web Services (AWS) oder Google Cloud Platform bereitgestellt werden. Das macht Dokku zu einer der günstigsten PaaS-Optionen. Dokku wird von den meisten gängigen Betriebssystemen unterstützt, einschließlich Linux-Distributionen wie Ubuntu und Debian, und hat minimale Speicheranforderungen.

Dokku kommt ohne viel Ballast daher und ist daher sehr erweiterbar. Entwickler können Funktionen zu Dokku hinzufügen, um die Anforderungen ihrer Organisation zu erfüllen, ohne bereits bestehenden Code zu verändern. Dokku unterstützt auch Git, so dass Entwickler nach Abschluss der Programmierung Änderungen von der Kommandozeile aus in die Cloud übertragen können.

Unternehmen, die über keine qualifizierten Entwickler verfügen, sollten sich anderweitig umsehen. Der Nachteil einer so stark erweiterbaren Lösung ist, dass sie möglicherweise nicht sofort die Anforderungen Ihres Unternehmens erfüllt. Wenn Sie einen Nischenanwendungsfall haben oder weniger gängige Serversoftware oder Datenbanken verwenden, müssen Sie etwas Arbeit investieren, damit Dokku für Sie funktioniert.

Dokku ist ideal für Einsätze, bei denen Leistung und Anpassungsfähigkeit im Vordergrund stehen. Es funktioniert auch gut mit gängiger Serversoftware wie Microsoft Azure oder gängigen Datenbanken wie MongoDB und MySQL.

Beste Hosting-Optionen

Während viele Unternehmen Open Source PaaS nutzen, um sich selbst zu hosten oder über einen kostengünstigen Cloud-Anbieter zu hosten, bietet Red Hat OpenShift Hosting- und Support-Optionen. OpenShift ist eine gute Wahl für Unternehmen, die die Anpassungsfähigkeit von Open-Source-Software nutzen möchten, aber nicht den Aufwand des Hostings scheuen.

OpenShift ist ideal für Unternehmen mit begrenzten Entwicklungsressourcen. Red Hat übernimmt nicht nur das Hosting, sondern bietet auch umfassende Support-Optionen. Die Mitarbeiter von Red Hat sind erfahrene Entwickler und gehören zu den häufigsten Mitwirkenden an Kubernetes. Unternehmen können sich darauf verlassen, dass Red Hat sie bei der richtigen Implementierung von OpenShift unterstützt. OpenShift unterstützt außerdem eine Vielzahl von Programmiersprachen, darunter Python, Ruby und Java. Diese Sprachen sind äußerst beliebt, so dass Unternehmen mit bestehenden Entwicklungsteams möglicherweise bereits über einen Experten verfügen.

Der größte Nachteil von OpenShift ist, dass Support und Hosting durch Red Hat teurer sind als das Hosting in Eigenregie. Für Unternehmen, die keinen zusätzlichen Support benötigen, ist es möglicherweise besser, eine andere PaaS-Lösung zu wählen und das Hosting selbst zu verwalten.

Flexibelste Implementierung

Bei der Auswahl einer PaaS-Lösung müssen Unternehmen ein Tool wählen, das mit ihrer Cloud-Infrastruktur zusammenarbeitet und über alle Integrationen für alle vorhandenen IT-Komponenten verfügt. Das kann bedeuten, dass sie viel Zeit mit der Konfiguration von Servern und Kubernetes verbringen müssen.

CloudFoundry ist ein Open-Source-Tool, das von Haus aus eine Vielzahl von Cloud-Anbietern unterstützt, von IBM Cloud bis AWS. Entwickler, die CloudFoundry verwenden, können sich auf ihren Code konzentrieren, anstatt ihr PaaS-Tool zum Laufen zu bringen.

CloudFoundry bietet auch eine Vielzahl von Tutorials und Videotrainings, die sich perfekt für Unternehmen eignen, die selbst hosten möchten, aber noch keine Erfahrung in diesem Bereich haben. Unabhängig davon, ob Sie in einer privaten oder öffentlichen Cloud hosten möchten, gibt es Inhalte, die Ihnen einen guten Start ermöglichen.

Der größte Nachteil von CloudFoundry ist, dass es sich um eine umfangreichere Lösung handelt als etwa Dokku, da es zusätzliche, sofort einsatzbereite Funktionen bietet. Wenn Sie eine einfachere Code-Basis für Ihre Entwickler wünschen, sollten Sie andere Optionen bevorzugen.

Diese Ansammlung eng verwandter Begriffe führt bei den Käufern häufig zu Verwirrung. Für Käufer, die sich mit den bekannteren Kategorien Infrastructure-as-a-Service (IaaS) und Platform-as-a-Service (PaaS) befassen, lohnt es sich jedoch zu verstehen, wie sich alle vier Kategorien ähneln und wie sie sich unterscheiden.

Die grundlegenden Unterschiede zwischen diesen verwandten Konzepten lassen sich am besten mit dem Begriff der zunehmenden Abstraktion beschreiben. Abstraktion ist ein Begriff aus der objektorientierten Programmierung und hat in diesem Zusammenhang damit zu tun, wie verschiedene Plattformen mit Komplexität und Kontrolle umgehen.

Dies ist eine hilfreiche Methode, um den Technologiestapel von der grundlegendsten untersten Schicht aus zu betrachten, wobei die Abstraktion und die Agilität auf dem Weg zur obersten Schicht zunehmen. Der Preis für diese zunehmende Agilität ist ein Verlust an Kontrolle und Konfigurierbarkeit.

Die Entwickler ziehen es im Allgemeinen vor, die Vorteile höherer Abstraktionsebenen zu nutzen. So können sie sich auf die Anwendungsentwicklung konzentrieren und ablenkende (aber notwendige) Overhead-Aufgaben wie Serverwartung und Kapazitätsplanung vermeiden.

Dieses Kontinuum zunehmender Abstraktion bedeutet, dass PaaS-Käufer aufkommende angrenzende Technologien wie Container-as-a-Service (CaaS) und Functions-as-a-Service (Faas) in ihre Überlegungen mit einbeziehen sollten.

IaaS 

IaaS-Plattformen (Infrastructure-as-a-Service) bieten IT-Fachleuten eine robuste Computerinfrastruktur, aber die IT-Mitarbeiter müssen die Plattformkomponenten, die sie nutzen möchten, auswählen, konfigurieren und überwachen. Der Einstieg in ein IaaS-System ist mit einem beträchtlichen Aufwand verbunden, aber diese Systeme sind in hohem Maße konfigurierbar und bieten Administratoren eine detaillierte Kontrolle über Server, Speicher- und Netzwerkdienste.

CaaS 

CaaS (Container-as-a-Service) ist eine Stufe höher auf der Abstraktionsleiter. Während IaaS-Plattformen virtuelle Maschinen oder Bare-Metal-Hardware als grundlegende Ressourcen nutzen, verpacken CaaS-Plattformen Anwendungen und alle ihre Abhängigkeiten in Container, die leichter sind als virtuelle Maschinen.

Aus diesem Grund ist es möglich, mehr Container auf einem einzigen Host zu hosten als vollwertige virtuelle Maschinen. CaaS ist eine geeignete Plattform für Entwickler, die mehr Kontrolle über die Container-Orchestrierung wünschen. Mit CaaS können Entwickler Anwendungen auf Containern bereitstellen, ohne sich um die Einschränkungen bei der Container-Orchestrierung kümmern zu müssen, die von typischen PaaS bereitgestellt werden.

Dieser Dienst ermöglicht die Virtualisierung und Konfiguration von Betriebssystemen. Dies ermöglicht ein höheres Maß an Kontrolle durch die Benutzer.

PaaS 

PaaS (Platform-as-a-Service) ist auf der Abstraktionsleiter noch weiter oben angesiedelt und gibt daher der Agilität den Vorzug vor der Konfigurierbarkeit. Wie wir gesehen haben, ist PaaS eine integrierte Lösung für die Anwendungsentwicklung und -bereitstellung, die Anwendungsentwickler von einem Großteil der Komplexität der Bereitstellung, Konfiguration und Verwaltung von Hardwareressourcen befreit. Die Entwickler profitieren von einer weitaus stärkeren Automatisierung auf Kosten einer weniger detaillierten Kontrolle.

Erkunden Sie alle PaaS-Optionen
PaaS kann Tools für verschiedene Formen von Cloud-Systemen anbieten, die auf die Bereitstellung und Codierung von Anwendungen ausgerichtet sind. Dies kann in Form von öffentlichen Cloud-Kollaborationssystemen oder anderen Tools geschehen, die die Erstellung von Webanwendungen unterstützen.

FaaS 

FaaS (Function-as-a-Service) ist eine Kategorie von Cloud-Computing-Diensten, die die Art und Weise, wie Anwendungen und Systeme seit Jahrzehnten entwickelt wurden, verändert. FaaS ist eine relativ neue Entwicklung, die aus PaaS hervorgegangen ist. Sie wird häufig als Teil von PaaS betrachtet, obwohl es sich um eine eigenständige Technologie handelt, die oft als Serverless bezeichnet wird.

Der Begriff Serverless gibt einen Hinweis auf die Abstraktionsebene. Wie PaaS ist auch FaaS ein Cloud-Computing-Modell, das die Serververwaltung und Low-Level-Infrastrukturentscheidungen von den Entwicklern abstrahiert, aber es geht viel weiter als PaaS.

Die gesamte Ressourcenzuweisung wird von der Plattform verwaltet, so dass Anwendungen entwickelt werden können, ohne dass man sich Gedanken über Implementierung, Lastausgleich oder Skalierung machen muss. So können Entwickler kleine Codeschnipsel als Reaktion auf Ereignisse ausführen, ohne eine komplexe Infrastruktur aufbauen zu müssen.

Die Vorteile von FaaS liegen vor allem darin, dass sich die Entwickler auf das Schreiben von Code konzentrieren können und sich nicht um die Verwaltung der Infrastruktur kümmern müssen. Ein weiterer großer Vorteil ist, dass den Entwicklern nur die Zeit in Rechnung gestellt wird, die sie für die Ausführung des Codes benötigen. Wenn der Code nur ein paar Mal am Tag ausgeführt wird, kann die Gesamtgebühr pro Tag nur wenige Sekunden betragen.