Server Management Tools

Server Management Tools und mein Favorit

Zuletzt aktualisiert: 03.07.2024

Foto von Scott Rodgerson auf Unsplash

In den letzten Jahren haben sich für kleinere Agenturen und Freelancer neue Lösungen für das Management der eigenen Server durchgesetzt. Der Ansatz ist dabei nicht neu. Den meißten dürfte der Begriff "Plesk" als Website Management Tool ein Begriff sein. Dabei handelt es sich um ein Management Tool welches als "Betriebssystem" auf dem Server installiert wird und man hauptsächlich über eine Oberfläche seine Websiten inklusive Serverkonfigurationen und weiteres konfigurieren kann. Heute gibt es eine Vielzahl von Server Management Tools. Es wäre zu viel um alle zu aufzuzählen und zu analysieren. Einige davon sind spezialisierter auf Programmiersprachen und Frameworks. Wir schauen uns in diesem Artikel zwei prominente Vertreter für Web Entwickler an.

Inhaltsverzeichnis

Was ist ein Server Management Tool?
Die Alternativen zu Plesk & Co
Server Management Tool <> Serverless
Server Management mit Docker, Kubernetes & Co
Open Source und Self-Hosted Server Management Tool
Meine Erfahrung mit Laravel Forge und Ploi.io
Laravel Forge: Der Platzhirsch?
Ploi: Mehr als nur Server-Management von PHP Anwendungen
Mein Fazit

Was ist ein Server Management Tool?

Ein Server Management Tool ist eine Software, die auf deinem Server läuft und dir dabei helfen soll deine Webseiten und Apps effizienter zu verwalten. Dein Server Management Tool ist nicht der Server sondern die Software, die auf dem Server läuft. Du bezahlst also für deine Server und zusätzlich für eine Lizenz deines Server Management Tools, häufig mit einer monatlichen Gebühr. Auch bei Plesk brauchst du eine Lizenz, auch wenn viele Hosting Anbieter schon erlauben mit einem Klick Plesk auf deinem Server zu installieren und diese dann bereits mit inbegriffen ist.

Das Server Management Tool kann dir dabei helfen alle notwendigen Services wie z.B. eine Webserver- oder Datenbankinstanz deiner Anwendung auf einem Server mit wenigen Klicks zu installieren. Neben den wichtigsten Instanzen, die deine Anwendung braucht kannst du ebenfalls weitere Services leicht konfigurieren wie z.B. Daemons oder Cronjobs.

Die Alternativen zu Plesk & Co

Anders als Lösungen wie Plesk bieten Server Management Tools wie Laravel Forge, Ploi & Co die Möglichkeit als oberste Instanz in einem Panel all deine Server zu verwalten. Dabei sind viele Server Management Tools, die in den letzten 5-10 Jahren in´s Leben gerufen wurden meißtens auf gewisse Programmiersprachen und Frameworks fokussiert.

Laravel Forge ist wie der Name schon sagt ein Server Management Tool, welches von Laravel, den Machern des Laravel PHP Frameworks ins Leben gerufen. Neben Laravel Forge gibt es auch noch aus dem Hause Envoyer und Vapor. Envoyer fokussiert sich vor allem auf ein Zero-Downtime Deployment. Bei Deployments kann es passieren, dass Websiten für einige Sekunden nicht erreichbar sind. Vapor hingegen verfolgt einen anderen Ansatz und fokussiert sich auf Serverless Deployments. Neben den Server Management Tools kommt aus den Niederlanden noch mit Ploi.io ein starker Konkurrent. Wenn man etwas mehr im NodeJS/Javascript Bereich zuhause ist, empfiehlt sich ein Blick auf Cleavr.io

Server Management Tool <> Serverless

Neben eigenen Servern, die man ggf. mit einem Server Management Tool verwalten muss gibt es den sogenannten Serverless Ansatz. Dazu gehören z.B. die Lambda Umgebungen auf AWS oder das Serverless-Framework von Cloudflare

Besonders im Javascript Bereich sind Serverless Apps mit NodeJs oder einem modernen Frontend Framework wie React, Vue, AngularJs oder Svelte sehr beliebt. Neben den Services von AWS und Cloudflare gibt es daher eigene Hosting Plattformen wie Vercel oder Netlify mit denen man insbesondere Javascript/Frontend Apps einfach und schnell ohne eigene Server erstellen und verwalten kann. Dieses Spiel kann man unendlich weitertreiben. Für Datenbanken gibt es Supabase oder Firebase usw.

Server Management mit Docker, Kubernetes & Co

Für Selbstständige und kleinere Agenturen macht es aus meiner Sicht keinen Sinn auf Produktionsumgebungen den Einsatz von Kubenernetes oder einer einfachen Containerisierung zu nutzen. Kubenernetes ist sehr komplex und erfordert einen höheren Verwaltungsaufwand, der sich für die meißten kleineren Agenturen und Freelancern nicht lohnt.

Der Einsatz von Docker o.ä. kann das schnelle konfigurieren von Projekten grundsätzlich erleichtern, allerdings ist Docker für Produktionsumgebungen aufgrund von häufigen Ausfällen von Containern bei einfachen Misskonfigurationen nicht sehr empfehlenswert. Außerdem kann so ein Setup eines Projektes mit mehreren Containern deutlich mehr Zeit beanspruchen als man glaubt, denn es hört ja nicht bei dem Setup der eigenen Anwendung auf. Wenn man z.B. automatisierte Deployments, evtl. sogar in Kombination mit Testing Pipelines einrichten will, ist das bei mehreren Projekte dann schon ein Job, mit dem man sich den ganzen Tag beschäftigen kann.

Open Source und Self-Hosted Server Management Tool

Mittlerweile gibt es erste Open Source Lösungen, die man sich selbstständig auf seinem Server installieren können. Für PHP Entwickler, die kein Geld für ein separates Server Management Tool ausgeben möchten empfiehlt sich vielleicht ein Blick auf Vito Deploy (GitHUb)

Meine Erfahrung mit Laravel Forge und Ploi.io

Neben Plesk und anderen Server Management Praktiken wie Docker, habe ich vor ein paar Jahren begonnen mit Laravel Forge und Ploi.io meine Server und Projekte zu verwalten. Die Registrierung, Einrichtung eines Servers und einem Projekt ist bei beiden Tools schnell umgesetzt, aber es gibt schon ein paar Unterschiede auf die ich in diese Sektion näher eingehen möchte.

Laravel Forge: Der Platzhirsch?

Mir persönlich gefällt die Oberfläche von Laravel Forge, besonders seitdem es einen Dark Mode gibt, etwas besser als die von Ploi, aber über Design lässt sich streiten.

Pakete und Funktionsumfang

Laravel Forge fängt bei $12 pro Monat mit den Basisfunktionen an. Der Business-Plan bietet mit 39$ allerdings die umfangreichsten Funktionen.

Forge bietet direkt Integration für schnelle Server Setups mit

  • AWS
  • Digital Ocean
  • Linode
  • Vultr
  • Hetzner

Server Setups mit anderen Anbietern erfordert etwas mehr Konfigurationsaufwand, stellt jedoch grundsätzlich auch kein Problem da.

Die Basisfunktionen von Laravel ist das Verwalten von Projekten inklusive den notwendigen Datenbank- und Cache Instanzen und das verwalten von Cronjobs und Daemons. Wenn man den Hobby-Plan nimmt, erhält man die Basisfunktionen genauso wie im Growth-Plan, allerdings mit dem Unterschied, dass man mit dem Hobby-Plan nur einen Server verwalten kann, während der Groth Plan für $19 keine Limitierung aufweißt.

Möchte man darüber die Backupfunktion in Laravel Forge nutzen, benötigt man den Business Plan. Arbeitet man in einem größeren Team oder möchte man automatisch Benachrichtigt werden, wenn eine gewisse Prozentzahl einer Servermetrik wie CPU, Memory oder Disk Space erhalten will, empfiehlt sich hier ebenfalls nur der Business Plan.

Man kann mit Laravel Forge sehr gut PHP Anwendungen verwalten und mit wenigen Klicks, die klassichen Services schnell konfigurieren. Laravel Forge auch sinnvolle Oneclick Setup z.B. für Wordpress.

Wie auch bei Ploi sollte man aber bereits beim Server Setup entscheiden, was man braucht. Hier unterscheidet Laravel Forge wie folgt:

  • App Server: PHP Anwendungen mit allem was man benötigt (MySQL, nginx, redis, Opcache & Co) + Nodejs und Supervisor
  • Web Server: PHP, nginx, Nodejs, Supervisor aber keine Datenbanken & Co
  • Database Server: Nur MYSQL, Postgres, MariaDB Instanzen
  • Cache Server: Nur Redis und Memcache
  • Worker Server: Nur PHP & Supervisor
  • Meilisearch Server
  • Load Balancer Server: Nur nginx und spezielle Konfigurationen zum Setup von Reverse Proxy´s mit nginx

Abschließend gilt zu sagen, dass man mit Forge durchaus nicht nur Laravel oder andere PHP Projekte verwalten kann. Wollen wir allerdings mehr machen als eine klassische PHP Anwendung mit den klassischen Mitteln verwalten, müssen wir dies auf dem Server ohne Hilfe direkt einrichten.

Die Nachteile

Fehlender NodeJS Support

Während man sehr einfach PHP Versionen über Forge verwalten kann, fehlt diese Funktion für NodeJS Versionen. Man kann sich natürlich auf dem Server nvm oder andere Tools wie pm2 zum Verwalten von NodeJS Prozessen selbstständig installieren.

Server Updates

Laravel Forge führt Sicherheitsupdates für das Serverbetriebssystem (i.d.r Ubuntu) durch. Darüber hinaus muss man sich aber um andere Updates weitesgehend selbst kümmern. Es gibt keine Warnungen, Hinweise o.ä. in der Forge Oberfläche, wenn Misskonfigurationen gewisser Services zu einer höheren Serverlast führt als eigentlich notwendig.

Ploi: Mehr als nur Server-Management von PHP Anwendungen

Laravel Forge bietet insbesondere für PHP Projekte eine solide Funktionsbasis. Will man mehr als nur Laravel Projekte hosten, ist das mit Laravel Forge auch möglich. Allerdings muss man für Projekte, die vom Tech Stack von einem Standard PHP Stack abweichen auch mehr direkt auf dem Server selbst konfigurieren. Das Forge-Team entwickelt genauso wie das Ploi-Team ihr Server Management Tool ständig weiter. Doch wo das Forge-Team eher "smooth" unterwegs ist und sich mit einigen heiß erwarteten Funkionalitäten Zeit lässt, kann Ploi mit mehr Features in einem kleinen hoch effizienten Team aus den Niederlanden punkten.

Das Funktionsmonster

Ploi bietet eine Vielzahl an Funktionen, die über das Management eines Servers mit PHP Anwendungen weit hinaus geht. Dabei bietet Ploi z.B. auch mittlerweile sinnvolle Funktionalitäten für NodeJS Anwendungen und dem damit in Verbindung gern genutzten Prozessmanager pm2. Auch gibt es mehr Servertypen als bei Forge. Über die gängigen Servertypen, die ich schon bei Laravel Forge angesprochen habe wie "Webserver", "Load Balancer", "Datenbankserver" etc. hat Ploi noch weitere Servertypen z.B. für die Erstellung eines Elasticsearch Serves, einem E-Mail Server oder einem Docker Server. Auch wenn man einfach nur einen simplen Server ohne viel Services braucht, bietet Ploi mit "Plain Server" die Möglichkeit diesen über das Servermanagement Tool zu verwalten.

Server Updates und Optimierungsmaßnahmen

Ploi bietet über Security Updates auch die Möglichkeit Package Updates u.ä. über die Oberfläche zu nutzen. Zu jedem Server bietet Ploi auf dem Dashboard nützliche Insights zu Servereinstellungen, die man für einen Server optimieren kann z.B. ausstehende Package Updates oder nicht genutzte Services. Es gibt über Ploi.io Möglichkeit mit einem einfachen Klick "Fix it for me" die Aktion durchzuführen, die die Optimierung automatisch durchführt.

Roadmap und Support

Ploi bietet über eine Roadmap die Möglichkeit sich Funktionen zu wünschen. Je mehr Votings eine Idee hat, desto wahrscheinlicher ist es, dass das Ploi-Team diese realisiert. Über ein simples Kanban-Board kann man in den Kategorien "Server Level Requests", "Site Level Requests", "Panel Requests" usw. sehen, welche Features in Planung, in Arbeit oder bereits umgesetzt und in Review sind.

Pakete und Funktionsumfang

Ploi bietet anders als Forge 4 Preispakete. Es gibt einen kostenlosen Plan, mit dem man auf Ploi einem Server und eine Seite verwalten kann. Mit dem Paket "Basic" für derzeit 8€ lassen sich 5 Server und beliebig viele Seiten verwalten. Interessant wird es ab dem Paket "Pro" für 13€, wo keine Limitierungen der Server und Seiten gibt und dafür aber alle Funktionen (bis auf Teammanagement), die Forge im Business-Paket für 39$ bietet. Mit dem Paket "Unlimited" für 30€ im Monat bietet Ploi neben Teammanagement noch weitere Funktionen, für die man eher andere Services buchen muss wie Site-Monitoring.

Die Nachteile

Ploi bietet weitaus mehr Möglichkeiten und Funktionen als Forge. Dennoch kann Forge aus meiner Sicht mit einer aufgeräumteren Benutzeroberfläche punkten und bietet einige sinnvolle Funktionen, die bei Forge etwas besser durchdacht sind als bei Ploi.

Skripte und Commands

Bei Forge und Ploi gibt es die Möglichkeit Skripte zu schreiben, die man dann auf seine Server ausführen kann. Das nennt Forge "Recipes", Ploi ganz simpel "Skripte". Zusätzlich gibt es bei Forge über eine "Commands"-Sektion einfache Befehle in einem Projekt über die Oberfläche auszuführen.

Ploi bietet ein Befehlsmanagement nur eingeschränkt. Für Laravel Projekte bietet Ploi eine Sektion "Laravel" in der man vorgefertigte Befehle sowie auch eigene Befehle konfigurieren und per Button Klick ausführen kann. Das klingt natürlich super, allerdings sind diese vorkonfigurierten Befehle nicht mal auch schnell mit neuen Parametern zu versehen. Außerdem gibt es diese Sektion nur abhängig vom Tech-Stack. Für Laravel Projekte ist sie vorhanden. Für NodeJs Projekte allerdings nicht. Möchte man also Befehle für Anwendungen mit einem anderen Tech-Stack ausführen, empfiehlt es sich direkt auf den Server anzumelden.

Das komplexere User Interface

Auch wenn Ploi zuletzt die Oberfläche durch dezente Designoptimierungen verbessert hat, fällt es mir persönlich manchmal schwer auf Anhieb die Funktionalitäten zu finden, die ich suche. Anders als bei Forge, wo die Trennung zwischen Server und Projekte strikt getrennt ist und man daher ziemlich intuitiv zu der Oberfläche wechselt, die man benötigt, fällt das bei Ploi etwas schwieriger. So hat man in der Ploi in der Navigation die Wahl zwischen "Server", "Websites", "Projekte" und weiteren Modulen, die am Ende aber meißtens zum Ziel führen, aber der Weg immer anders aussieht.

SSL-Zertifikatsmanagement

SSL-Zertifikate für ein Projekt auf Ploi zu installieren ist grundsätzlich simpel. Laravel Forge bietet allerdings die Möglichkeit SSL-Zertifikate mit einem Klick aus einem anderen Projekt zu klonen. Dies kann für Anwendungen auf verschiedenen Subdomains sehr hilfreich sein. Ploi bietet eine solche Funktion bis heute leider nicht. Man muss jedes Zertifikat einzeln konfigurieren und installieren. Das ist grundsätzlich auch kein Problem, sollte man allerdings einen Fehler aufbauen, muss man das fehlerhafte Zertifikat zuerst entfernen und dann neu konfigurieren. Der intuitivere Wechsel und das Klonen von SSL Zertifikaten hat Laravel Forge Ploi definitiv voraus.

Mein Fazit

Es gibt eine Menge Server Management Tools. Jedes deckt gewisse Anwendungsbereiche ab und jeder Entwickler und jede Agentur hat andere Ansprüche. Nachdem ich viele Jahre mit Laravel Forge gearbeitet habe und sehr zufrieden war und jedem PHP Entwickler weiterhin Laravel Forge wie Ploi empfehlen würde, bin ich nach längerer Überlegungszeit zu Ploi gewechselt. Am Ende war für mich vor allem der Funktionsumfang auf Ploi entscheident, der mich zum Wechsel bewegt hat und mich bis heute immer wieder positiv überrascht und erfreut. Manchmal vermisse ich die Einfachheit und Intuitivität der Oberfläche von Forge und die sinnvollen Funktionen wie Commands, die ich in den Nachteilen bei Ploi angesprochen habe. Jedoch sehe ich über diese kleinen Makel hinweg, weil eine alternative Lösung schnell gefunden ist und der breite Funktionsumfang von Ploi komplexere Probleme schnell und zuverlässig löst.