• About
  • Services
  • Tech-Stack
  • Projects
  • Contact & Prices
  • Blog

Hosting-Optionen für Node-Apps

Fully-Managed Infrastruktur oder Eigener Linux-Server

Beim Hosting von Node-Apps stehen grundsätzlich zwei Optionen zur Verfügung: Entweder das Hosting auf einer 'Fully-Managed Infrastructure' wie z.B. Digital Oceans App-Platform oder das Hosting auf einem eigenen virtuellen Linux-Server. Dieser Artikel beleuchtet beide Optionen unter Berücksichtigung von Kosten, Komplexität des Setups, Flexibilität und Sicherheit.

Was sind Node-Apps?

Node-Apps sind Anwendungen, die entweder Node.js als Backend-Server verwenden oder Frontend-Frameworks wie Vue und React, wenn diese Server-Side Rendering nutzen, wobei sie auf Node.js angewiesen sind.

Fully-Managed Infrastructure

Beispiele für Fully-Managed Infrastrukturen sind Digital Oceans App-Platform (DigitalOcean), Herokus Dynos (Heroku) oder Googles Firebase Hosting.

Diese Plattformen sind einfach einzurichten und zu konfigurieren. Sie bieten Funktionen wie automatische Backups und Continuous Integration. Ein großer Vorteil, besonders für große Projekte, ist die Möglichkeit des horizontalen Scalings.

Hört sich erstmal nach einem sorglosen Rundumpaket an, oder? Stimmt, aber der große Nachteil bei solchen Plattformen ist oft der Preis. Zwar bieten diese fully-managed Plattformen meist eine kostenlose Option zum Ausprobieren an, sobald die App jedoch in Produktion geht oder richtig viel Traffic abbekommt, können die Preise schnell steigen.

Hosting auf eigenem Linux-Server

Gleich vorweg: Einer der größten Pluspunkte, wenn man Node-Apps auf einem eigenen Linux-Server hostet, sind die Kosten. Dazu aber später mehr. Zunächst einige Punkte, die es beim Betrieb eines Linux VPS zu beachten gibt: Beim Anmieten eines eigenen Linux-Servers, um darauf Node-Apps laufen zu lassen, hat man die größtmögliche Flexibilität, aber auch viel Verantwortung in den eigenen Händen. Die Konfiguration erfolgt entweder über eine GUI wie Plesk oder über eine SSH-Verbindung direkt mit der Linux-Shell. Das Konfigurieren eines Linux-Systems ist zu Beginn recht aufwendig und umfasst unter anderem die folgenden Punkte:

  • Absichern des Servers
  • Einrichten von automatischen Updates
  • Einrichten eines Webservers (Apache / Nginx)
  • Installieren von Node und Konfigurieren von PM2

Diese Punkte sind sehr gut im Video von Brad Traversy zusammengefasst: Brad Traversy Video

Weitere Ressourcen zum Aufsetzen und Absichern des eigenen Linux-Servers:

Kostenvergleich

Einen Linux VPS (Virtual Private Server) gibt es schon für unter 10 €, z.B. bei Dogado (7,49 €, 4 GB RAM, 2 vCPU, 100 GB Speicher). Das günstigste Angebot bei Digital Oceans App-Platform liegt zwar bei 5 $, dafür bekommt man allerdings auch nur 1 vCPU und 512 MB RAM. Ein vergleichbares Angebot mit 4 GB RAM und 2 vCPU kostet bei DigitalOcean schon 40 $ im Monat, also mehr als das Vierfache wie bei einem VPS von Dogado. Bei DigitalOcean kommt hinzu, dass Backups zusätzlich berechnet werden. Auch sind hier Limits beim Speicher und beim Traffic zu beachten, welche zusätzliche Kosrten verursachen können.

Auch bei anderen Anbietern von Fully-Managed Infrastruktur sind die Kosten wesentlich höher als beim Hosten auf einem eigenen Linux-Server.

Bei Google Firebase Hosting wird nicht per Festpreis abgerechnet, sondern anhand des belegten Speichers, Datenverbrauchs und Cloud Functions. Zwar bietet Firebase hier ein sehr großzügiges kostenloses Kontingent, wenn dieses aufgebraucht ist, können die Kosten allerdings deutlich ansteigen. Die Kostenabrechnung ist meiner Ansicht nach zwar transparent, aber es ist nur schwer abzuschätzen, wie viel man letztendlich wirklich zahlen wird.

Fazit

Hosting Platformen mit Fully-managed Infrastruktur bieten ein Paket, bei welchem man sich nicht um Serverkonfiguration und Server-Sicherheit kümmern muss, diesen Service lassen sich die Anbieter auch gut bezahlen. Hier sollte auf jedenfall genau auf die möglichen Kosten geachtet werden, um keine Überraschungen zu erleben. Auch ein Vergleich der Provider auf Trustpilot ist hilfreich, um eine Einschätzung der Kundenzufriedenheit zu bekommen und schwarze Schafe auszufiltern.

Ein eigener Linux-Server ist zwar wesentlich günstiger, allerdings muss man auch den Aufwand bedenken, der mit dem Aufsetzen eines eigenen Linux-Servers verbunden ist, und hier gegenrechnen und abschätzen, ob sich der Aufwand lohnt und ob man bereit ist, die nötige Zeit zu investieren, um den eigenen Linux-Server aufzusetzen.

Dies ist sicherlich auch eine Frage der Motivation und des Interesses an Linux selbst. Was für den einen eine spannende Wochenendbeschäftigung mit Lernfaktor ist, ist für den anderen eine Quelle für Frustration. Oftmals ist es wahrscheinlich eine Mischung aus beidem.

Meine Entscheidung für das Hosten meiner Node-Apps auf Linux bereue ich nicht und würde diese Entscheidung jederzeit wieder treffen. Es hat mir die Tür geöffnet in einen neuen Bereich der IT, den ich vorher kaum kannte und in dem ich mich nun mehr und mehr zu Hause fühle.