So funktioniert der dauerhafte Betrieb einer Node.js-App − Mittwald Experten im Gespräch

|
Philipp Stranghöner und Michael Worobcuk

Entwickeln über alle Grenzen hinweg, das geht mit Node.js. Auch deshalb ist die Javascript-Laufzeitumgebung aus dem Werkzeugkasten der Webentwickler weltweit nicht mehr wegzudenken. Und trotzdem ist Mittwald (fast) der einzige Hoster am deutschen Markt, der Node.js managed zum dauerhaften Betrieb anbietet. Welche Tools wir dir bei der Arbeit damit an die Hand geben und wo der Einsatz besonders vielversprechend ist, besprechen in diesem Beitrag die Mittwälder Philipp Stranghöner (Produktentwicklung) und Michael Worobcuk (Infrastruktur). Dabei zaubern die beiden den ein oder anderen Tipp aus dem Hut, der dir gerade bei der Einrichtung deiner Projekte Zeit spart. 

Philipp Stranghöner und Michael Worobcuk
Philipp Stranghöner und Michael Worobcuk

Michael Worobcuk: Philipp, wir haben uns eine ganze Weile damit beschäftigt, Node.js an den Start zu bringen. Dabei sind wir in Deutschland der einzige Hoster, der es managed zum dauerhaften Betrieb anbietet.

Philipp Stranghöner: Genau. In der Regel kann man seine App nicht dauerhaft betreiben - ein Problem, das wir auf einem relativ coolen Weg gelöst haben.

Michael: Wie denn?

Philipp: Der User nutzt bei uns eine Datei, die er in der Node.js-App ablegt. Hier trägt er die entsprechenden Befehle ein um sowohl die App als auch den dahinter stehenden Server zu starten. So halten wir das ganze im Hintergrund am Laufen.

In der Regel kann man seine App nicht dauerhaft betreiben - ein Problem, das wir auf einem relativ coolen Weg gelöst haben.

Philipp Stranghöner

Michael: Das ist eine Datei im yaml-Format. Gebe ich da schon an, auf welchem Port meine App läuft?

Philipp: Nein, das macht Mittwald. Man bekommt einen Socket zugewiesen und kann den nutzen − entweder über die Variable oder den Service-Pfad. Wir stellen außerdem eine eigene Command Line zur Verfügung. Über die kann man den Status abfragen, die App starten und stoppen oder auch die Logs ausgeben lassen. Du könntest auch das Projekt bereinigen lassen oder das self-healing initialisieren. 

Michael: Ich habe neulich eine eigene Node-App an den Start gebracht. Im Detail läuft das dann so ab, dass ich mein Projekt über FTP oder SSH hochlade und anschließend im Projektverzeichnis mit einem Befehl die Anwendung als Dienst einrichte. Hier gebe ich den Startbefehl meiner App an. Im Code kann ich die Umgebungsvariable nutzen, um auf den entsprechenden Port zu listen. Dann übernimmt das Mittwald Service Control das Starten und Betreiben der App. So läuft die App weiter, auch nachdem ich mich disconnected habe.

Bestes Hosting für Agenturen & Freelancer

Philipp: Klingt eigentlich ganz einfach. Um etwa den Port richtig einzurichten muss man sich allerdings schon ein wenig auskennen. Aber wer die eigene App kennt, sollte das schaffen.

Michael: Wenn man eine fertige App verwendet, muss man auch etwas Zeit investieren − alleine um die App als Dienst zu registrieren. Denn du musst wissen, wo der Einstieg ist. Um den zu finden, helfen dir zum Beispiel index.js oder server.js. Meistens entdeckt man ihn darin schon. Aber du musst natürlich noch im Code selbst anpassen, dass der Port verwendet wird, den dir Mittwald zugewiesen hat. 

Michael: Wie funktioniert denn im Anschluss die Abrechnung bei uns? 

Philipp: Node, npm, npx und yarn haben wir auf der Console vorkonfiguriert. Das kann man kostenlos nutzen. Man kann sich eigene Libraries über npm oder yarn nachinstallieren. Wenn man die App dauerhaft starten möchte, kostet das pro App 9 Euro im Monat. Das kann man einfach im Mittwald Kundencenter über den Softwaremanager hinzubuchen.

Um eine App als Dienst zu registrieren musst du wissen, wo der Einstieg ist. Dabei helfen dir zum Beispiel index.js oder server.js.

Michael Worobcuk
Initiator des CloudCamps
Initiator des CloudCamps

Michael: Kann ich auch mehrere Apps laufen lassen?

Philipp: In der Startphase ist es auf eine App begrenzt. Wir schauen erstmal, wie hoch der Verbrauch ist. Denn wir haben in der Betaphase festgestellt, dass der um Einiges höher ist, als bei einer php-Anwendung. Wenn allerdings der Bedarf an mehreren Apps besteht, können sich die Kunden gerne an uns wenden. Wir finden individuelle Lösungen.

Michael: Welche Anwendungszwecke hast du denn im Rahmen der Betaphase gesehen?

Philipp: Viele Kunden haben mit Shopware eine PWA entwickelt. Die connected sich mit der API eines Shopware 6 Shops und so kannst du als Node-Anwendung ein komplett eigenes Frontend für Shopware haben. Andere nutzen auch die Build-Prozesse von Shopware oder Magento und rendern dann das Frontend oder auch die Administration neu. Bei TYPO3 verwenden viele ein zweites Frontend. Das basiert auf dem Framework nuxt.js. und lässt sich schneller anpassen als den ganzen TYPO3 Apparat im Hintergrund zu haben. 

Good to know!

Hoste deine Projekte im Agentur-Server und verwalte alle Projekte mit nur einem Login. Dort wo du es brauchst, kannst du Node.js mit nur einem Klick über den Softwaremanager installieren.

Ähnliche Artikel:

Architektur des SSH-Tunnels
Hosting

SSH-Tunnel zu einer Datenbank erstellen

Wie baue ich eine verschlüsselte Verbindung zur Mittwald Datenbank auf? Welche Vorteile ein SSH-Tunnel bietet, erklärt Mittwald Support-Profi Andrej.

Christian Brinkert und Ingo Jäger
Hosting

"Die flexible Skalierung nutzen wir regelmäßig." Kunden-Interview mit sector27

Christian Brinkert und Ingo Jäger arbeiten täglich mit dem Mittwald Agentur-Server. Wie sie ihn bei ihrer Arbeit einsetzen, erfahrt ihr hier.

Hosting

Immer up to date: Aktualisiert regelmäßig eure PHP-Version

Um eure Websites sicher zu betreiben, solltet ihr eure PHP-Version immer aktuell halten. Welche Versionen ihr derzeit bei uns nutzen könnt, erfahrt ihr hier.

Hosting

DEV-Projekte: Websites kostenfrei im Agentur-Server entwickeln

Bis zum Livegang keine Kosten fürs Hosting? Ja, das gibt's mit unseren DEV-Projekten! Was ihr im Agentur-Server alles damit anstellen könnt, erfahrt ihr hier.

Kommentare

Michel Busse am
Endlich unkompliziertes Hosting für Node-Apps, super Beitrag, danke ??

Die Anwendungsmöglichkeiten gehen außerdem noch weit über alternative Front-Ends hinaus - auch komplexere Anwendungen können über Node.js realisiert werden und von einfachem Hosting profitieren.

So lassen sich ganze Management- oder ERP-Systeme auf Basis von Node.js effizient realisieren und z.B. als PWA geräteunabhängig nutzen.
Wer hier genauer ein Anwendungsbeispiel entdecken möchte, der kann sich dieses Node.js basierte Software-Projekt anschauen: https://m-to-b.com/projects/ERP-Software
Antworten

Kommentar hinzufügen