Das Erstellen einer Node.js-Anwendung ist nur der erste Teil des Softwareentwicklungszyklus. Damit sie in einer Live-Umgebung zugänglich, leistungsstark und robust ist, kommt es auf die Bereitstellung der Anwendung an. Bei der Bereitstellung moderner Webanwendungen muss eine Architektur ausgewählt werden, die zu Ihrem Trafficprofil, Ihrer Lebenszyklusphase und Ihrem Ressourcenbudget passt.
Ganz gleich, ob Sie einen KI-gestützten Full-Stack-Prototyp starten oder einen produktionsreifen Backend-Dienst bereitstellen möchten – moderne Cloud-Umgebungen bieten sowohl automatisierte als auch containerisierte Pfade. In diesem Leitfaden werden die Kernkonzepte der Node.js-Webarchitektur behandelt, wichtige Überlegungen zur Bereitstellung erläutert und Schritt für Schritt beschrieben, wie Sie eine Node.js-Anwendung auf einer verwalteten Infrastruktur mit kostenlosen Kontingenten erstellen und bereitstellen.
Node.js ist eine plattformübergreifende Open-Source-JavaScript-Laufzeitumgebung, die auf der Chrome V8-JavaScript-Engine basiert. Damit kann JavaScript serverseitig außerhalb des Webbrowsers ausgeführt werden, sodass Entwickler einheitliche Full-Stack-Codebasen mit einer einzigen Programmiersprache schreiben können.
Im Gegensatz zu herkömmlichen Multithread-Webservern, die für jede gleichzeitige Verbindung einen isolierten Betriebssystem-Thread erzeugen, arbeitet Node.js mit einem ereignisgesteuerten, nicht blockierenden Single-Thread-E/A-Modell. Diese Architektur macht Node.js schlank und effizient für die Verarbeitung Tausender gleichzeitiger Verbindungen – wie RESTful APIs, Echtzeit-Messaging, Streamingdienste und KI-Agenten-Orchestratoren.
Bei der Vorbereitung der Bereitstellung eines Node.js-Backends hat die Auswahl der richtigen Compute-Umgebung direkten Einfluss auf den Wartungsaufwand, die Skalierungsgeschwindigkeit und die Kosteneffizienz.
Funktion | Virtuelle Maschinen (IaaS/VPS) | PaaS-/Buildpack-Hosting | Moderne serverlose Container |
Infrastrukturverwaltung | Manuelle Betriebssystem-Patches, Firewallverwaltung und Laufzeitupdates | Vollständig verwaltete Plattformebene mit Laufzeitsperren des Anbieters | Vollständig verwaltete Infrastruktur; keine Betriebssystemverwaltung |
Skalierungsmechanismus | Messwertbasiertes VM-Autoscaling (das Hochfahren von Instanzen dauert Minuten) | Autoscaling nach Instanzanzahl oder Worker-Limits | Anfragegesteuertes sofortiges Autoscaling, einschließlich Skalierung auf null |
Verpackungsformat | Rohquelldateien, systemd-Dienste oder PM2-Prozessmanager | Git-Push-Repository-Einbindung mit automatisierten Buildpacks. | Standard-OCI-/Docker-Container-Images |
Kostenprofil für inaktive Ressourcen | Abrechnung rund um die Uhr, unabhängig vom eingehenden HTTP-Traffic | Oft ist ein Mindestpreis für die Basisinstanz erforderlich. | Abrechnung erfolgt sekundengenau während der aktiven Anfrageverarbeitung |
Portabilität | Hohe Portabilität, aber hohes Risiko von Umgebungsabweichungen | Geringe Portabilität; an Plattformkonventionen gebunden | Hohe Portabilität; in jeder Umgebung wird ein identischer Container ausgeführt |
Funktion
Virtuelle Maschinen (IaaS/VPS)
PaaS-/Buildpack-Hosting
Moderne serverlose Container
Infrastrukturverwaltung
Manuelle Betriebssystem-Patches, Firewallverwaltung und Laufzeitupdates
Vollständig verwaltete Plattformebene mit Laufzeitsperren des Anbieters
Vollständig verwaltete Infrastruktur; keine Betriebssystemverwaltung
Skalierungsmechanismus
Messwertbasiertes VM-Autoscaling (das Hochfahren von Instanzen dauert Minuten)
Autoscaling nach Instanzanzahl oder Worker-Limits
Anfragegesteuertes sofortiges Autoscaling, einschließlich Skalierung auf null
Verpackungsformat
Rohquelldateien, systemd-Dienste oder PM2-Prozessmanager
Git-Push-Repository-Einbindung mit automatisierten Buildpacks.
Standard-OCI-/Docker-Container-Images
Kostenprofil für inaktive Ressourcen
Abrechnung rund um die Uhr, unabhängig vom eingehenden HTTP-Traffic
Oft ist ein Mindestpreis für die Basisinstanz erforderlich.
Abrechnung erfolgt sekundengenau während der aktiven Anfrageverarbeitung
Portabilität
Hohe Portabilität, aber hohes Risiko von Umgebungsabweichungen
Geringe Portabilität; an Plattformkonventionen gebunden
Hohe Portabilität; in jeder Umgebung wird ein identischer Container ausgeführt
Bei der Entwicklung einer produktionsreifen Node.js-Anwendung müssen Architekturmuster berücksichtigt werden, die Engpässe verhindern und die Verfügbarkeit sicherstellen:
Sie können Node.js-Anwendungen über zwei primäre Workflows erstellen und bereitstellen: Schnelles KI-gestütztes Prototyping (keine lokale Einrichtung erforderlich) oder Standardmäßige containerbasierte Bereitstellung (für vorhandene Codebasen).
Für Rapid Prototyping und KI-Anwendungen können Entwickler im Build-Modus von Google AI Studio Full-Stack-Node.js-Architekturen in natürlicher Sprache beschreiben und in Cloud Run bereitstellen, ohne lokale Befehlszeilentools oder obligatorische Abrechnungseinrichtungen.
Schritt 1: Anwendung im Build-Modus initialisieren
Schritt 2: Integrierte Daten und Authentifizierung konfigurieren
Schritt 3: In verwaltetem Cloud Run veröffentlichen
Für bereits vorhandene Codebasen und benutzerdefinierte Mikrodienste können Sie Ihre Node.js-Anwendung in einen OCI-konformen Container verpacken und direkt in Cloud Run bereitstellen.
Schritt 1: Node.js-Servercode strukturieren
Erstellen Sie einen minimalen HTTP-Server mit Express, Fastify oder Standard-Node.js-Bibliotheken (index.js):
Hinweis: Cloud Run fügt die Umgebungsvariable PORT automatisch zur Laufzeit ein. Der Fallback || 8080 im obigen Code ist in erster Linie enthalten, um einfache lokale Tests auf Ihrem Computer vor der Bereitstellung zu ermöglichen.
Schritt 2: Sicheres, mehrstufiges Dockerfile erstellen
Verpacken Sie Ihre Anwendung mit einem mehrstufigen Build, um ein minimales, sicheres Produktions-Image zu erhalten.
Best Practice: Erstellen Sie eine .dockerignore-Datei in Ihrem Stammverzeichnis und fügen Sie node_modules und .env hinzu. So wird verhindert, dass lokale Entwicklungsdateien versehentlich in Ihr Container-Image eingebunden werden, sodass es sauber und sicher bleibt.
Erstellen Sie eine Datei mit dem Namen „Dockerfile“ im Stammverzeichnis:
Schritt 3: In Cloud Run bereitstellen
Führen Sie die Bereitstellung mit der Google Cloud CLI aus Ihrem lokalen Stammordner aus. Sie können optional auch eine benutzerdefinierte URL im Format <user-defined>.cloud.run für Ihre Anwendung erstellen:
Wenn Sie wissen, wie kostenlose Kontingente funktionieren, können Sie Ihre Node.js-Anwendung zuverlässig prototypisieren und skalieren:
Stufentyp | Compute- und Ressourcenkontingente | Anforderungen/Limits |
Google Cloud Starter-Stufe (Prototyping) | • Cloud Run: Bis zu zwei aktive Webanwendungen • Cloud Firestore: 1 GiB Speicher, 50.000 Lesevorgänge/Tag, 40.000 Schreibvorgänge/Tag • Cloud SQL: PostgreSQL Developer Edition (Skalierung auf null) • Firebase Auth: Google-Anmeldung enthalten | • Gültiges Google-Konto • Weder Kreditkarte noch Rechnungskonto erforderlich • Sperre für einzelne Bereitstellungsregion |
Standardmäßige kostenlose Stufe von Google Cloud (Standardkonto) | • Cloud Run: 2 Millionen Anfragen/Monat, 180.000 vCPU-Sekunden/Monat, 360.000 GiB-Sekunden/Monat, 1 GB ausgehender Traffic in Nordamerika/Monat • Startguthaben in Höhe von 300 $ für die ersten 90 Tage | • Verknüpftes Cloud-Rechnungskonto • Vollständiger Zugriff auf die Plattform-API in allen Regionen |
Stufentyp
Compute- und Ressourcenkontingente
Anforderungen/Limits
Google Cloud Starter-Stufe (Prototyping)
• Cloud Run: Bis zu zwei aktive Webanwendungen
• Cloud Firestore: 1 GiB Speicher, 50.000 Lesevorgänge/Tag, 40.000 Schreibvorgänge/Tag
• Cloud SQL: PostgreSQL Developer Edition (Skalierung auf null)
• Firebase Auth: Google-Anmeldung enthalten
• Gültiges Google-Konto
• Weder Kreditkarte noch Rechnungskonto erforderlich
• Sperre für einzelne Bereitstellungsregion
Standardmäßige kostenlose Stufe von Google Cloud (Standardkonto)
• Cloud Run: 2 Millionen Anfragen/Monat, 180.000 vCPU-Sekunden/Monat, 360.000 GiB-Sekunden/Monat, 1 GB ausgehender Traffic in Nordamerika/Monat
• Startguthaben in Höhe von 300 $ für die ersten 90 Tage
• Verknüpftes Cloud-Rechnungskonto
• Vollständiger Zugriff auf die Plattform-API in allen Regionen
Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 immer kostenlosen Produkten kennenzulernen.