Zurück zum Blog Infrastructure and deployment

Kann eine App in mehreren Instanzen laufen? Eine Checkliste zur Vorbereitung

Prüfen Sie vor dem Hinzufügen weiterer App-Instanzen, ob die Dokumentation Ihrer selbst gehosteten Anwendung diesen Betrieb unterstützt. Klären Sie außerdem offene Fragen zu gemeinsam genutztem Zustand, Hintergrundaufgaben, Routing und Updates.

Diagramm, das Anfragen an mehrere App-Instanzen und gemeinsam genutzte Dienste zeigt

Was horizontale Skalierung bedeutet

Horizontale Skalierung bedeutet in diesem Zusammenhang, mehrere Instanzen derselben Anwendung zu betreiben. Ob das für Ihre Anwendung unterstützt wird, lässt sich jedoch nicht allein daran erkennen, dass sich mehrere Instanzen starten lassen. Prüfen Sie zuerst die Bereitstellungshinweise des Anbieters oder der Maintainer.

Klären Sie außerdem, was Sie erreichen möchten: mehr Kapazität, eine bestimmte Verfügbarkeitsanforderung oder etwas anderes. So können Sie beurteilen, ob mehrere Instanzen überhaupt zum Ziel passen und welche offenen Fragen vor einer Änderung beantwortet werden müssen.

  • Suchen Sie nach einer ausdrücklichen Aussage, dass mehrere App-Instanzen dieselbe Bereitstellung bedienen dürfen.
  • Prüfen Sie, ob die Hinweise zu Ihrer Anwendungs-Version und Installationsmethode passen.
  • Notieren Sie offene Fragen, bevor Sie Änderungen an einer produktiven Bereitstellung vornehmen.
Was horizontale Skalierung bedeutet

Prüfen Sie, was die Dokumentation tatsächlich beschreibt

Achten Sie darauf, ob die Anleitung mehrere App-Instanzen für dieselbe gemeinsame Bereitstellung beschreibt – oder mehrere Umgebungen, Projekte beziehungsweise Installationen. Ähnliche Begriffe können unterschiedliche Dinge bedeuten. Die Retool-Seite [„Multi-instance deployment“](https://docs.retool.com/self-hosted/self-managed/concepts/multi-instance-deployment) beschreibt laut ihrer Dokumentation mehrere Umgebungen innerhalb einer einzelnen Instanz. Das allein belegt nicht, dass mehrere App-Instanzen dieselbe Bereitstellung bedienen können.

Nutzen Sie die offizielle Dokumentation der konkreten Anwendung und des Bereitstellungsmodells, das Sie einsetzen. Sind Voraussetzungen oder Einschränkungen nicht eindeutig beschrieben, fragen Sie beim Anbieter oder bei den Maintainerinnen und Maintainer nach, bevor Sie von einer unterstützten Konfiguration ausgehen.

  • Beschreibt die Dokumentation ausdrücklich mehrere App-Instanzen in einer gemeinsamen Bereitstellung?
  • Welche Voraussetzungen und Einschränkungen nennt sie?
  • Unterscheidet sie zwischen App-Instanzen, Worker-Prozessen und getrennten Umgebungen?
  • Bezieht sie sich auf Ihre Version und Installationsmethode?
Prüfen Sie, was die Dokumentation tatsächlich beschreibt

Klären Sie Fragen zu gemeinsam genutztem Zustand

Gehen Sie die Zustände durch, die Ihre Anwendung in den für Ihr Team wichtigen Abläufen liest oder schreibt. Fragen Sie anhand der Dokumentation, welche davon gemeinsam genutzt werden, lokal vorliegen oder über einen separaten Dienst bereitgestellt werden sollen. Welche Punkte relevant sind, hängt von der jeweiligen Anwendung ab.

Fragen Sie gezielt nach Sitzungen, hochgeladenen Dateien, Caches, Datenbankverbindungen, Konfiguration und Geheimnissen. Wenn Ihre Testumgebung Anfragen zwischen Instanzen weiterleiten kann, prüfen Sie einen Ablauf, der auf einer Instanz beginnt und auf einer anderen fortgesetzt wird. Vergleichen Sie das Ergebnis mit den dokumentierten Erwartungen.

  • Können Nutzerinnen und Nutzer einen Ablauf fortsetzen, wenn aufeinanderfolgende Anfragen unterschiedliche Instanzen erreichen?
  • Wo werden Dateien gespeichert, und welche Instanzen müssen darauf zugreifen können?
  • Welche Vorgaben macht die Anwendung zu Caches und Datenbankverbindungen?
  • Verwenden die Instanzen kompatible Einstellungen, ohne dass Zugangsdaten in Testnotizen oder Protokollen offengelegt werden?

Fragen Sie nach Hintergrundaufgaben und Traffic-Routing

Klären Sie, wie die Anwendung Warteschlangen, geplante Aufgaben und andere Arbeiten außerhalb von Nutzeranfragen behandelt. Fragen Sie in der Dokumentation, ob dafür eine bestimmte Instanz, ein separater Prozess oder eine andere Vorgehensweise vorgesehen ist. Leiten Sie dieses Verhalten nicht allein daraus ab, dass mehrere App-Instanzen starten.

Prüfen Sie außerdem, wie eingehender Traffic verteilt wird und woran sich erkennen lässt, ob eine Instanz Anfragen entgegennehmen kann. Fragen Sie nach Hinweisen zu Health-Checks und lang laufenden Verbindungen, falls Ihre Anwendung solche Abläufe nutzt. Wo die Dokumentation keine klare Antwort gibt, halten Sie den Punkt als ungeklärt fest und testen Sie ihn in einer geeigneten Umgebung.

  • Listen Sie die geplanten Aufgaben und Hintergrundprozesse auf, die in Ihrer Bereitstellung aktiviert sind.
  • Klären Sie anhand der Anwendungsdokumentation, wie diese Aufgaben ausgeführt und koordiniert werden sollen.
  • Prüfen Sie, wie das Routing auf den Ausfall einer Instanz reagieren soll.
  • Testen Sie die für Ihre Anwendung relevanten Verbindungen und Nutzerabläufe.

Planen Sie Updates und Migrationen

Prüfen Sie vor einer Bereitstellung mit mehreren Instanzen, wie die Anwendung Schemaänderungen und Versionswechsel dokumentiert. Fragen Sie, ob während eines Updates unterschiedliche Versionen parallel laufen dürfen, welche Reihenfolge für Änderungen vorgesehen ist und was ein Rollback bedeutet. Die Antworten hängen von der jeweiligen Anwendung ab.

Befolgen Sie die offiziellen Upgrade-Hinweise und proben Sie die geplante Abfolge nach Möglichkeit in einer geeigneten Testumgebung. Die [Checkliste zur Produktionsreife von Temporal](https://docs.temporal.io/self-hosted-guide/production-checklist) behandelt unter anderem Skalierung, Metriken, Lasttests und Workflow-Versionierung. Sie ist ein Beispiel für anwendungsspezifische Hinweise und nicht automatisch auf andere Anwendungen übertragbar.

  • Halten Sie die dokumentierte Reihenfolge für Updates und Migrationen fest.
  • Klären Sie, ob die Anwendung während eines Updates unterschiedliche Versionen unterstützt.
  • Prüfen Sie den dokumentierten Rollback- oder Wiederherstellungsweg.
  • Verifizieren Sie nach einem Update, dass alle Instanzen die vorgesehene Version und Konfiguration verwenden.

Testen und die passende Bereitstellung wählen

Testen Sie repräsentative Abläufe in einer Nicht-Produktionsumgebung und legen Sie vorher fest, welches Ergebnis Sie erwarten. Dazu können je nach Anwendung Anmeldung, Dateiverarbeitung und Hintergrundaufgaben gehören. Prüfen Sie außerdem in einer kontrollierten Umgebung, was bei einem Neustart oder Ausfall einer Instanz geschieht. Verwenden Sie dafür keine laufenden Geschäftsprozesse oder produktiven Daten.

Entscheiden Sie anhand der Anwendungshinweise und Ihrer Tests, ob mehrere Instanzen zu Ihren Anforderungen passen. Eine einzelne größere Instanz oder ein anderes dokumentiertes Bereitstellungsmodell können ebenfalls Optionen sein; welche Wahl geeignet ist, lässt sich nicht allgemein festlegen. Vergleichen Sie sie anhand Ihrer Anforderungen und der unterstützten Architektur der Anwendung.

  • Prüfen Sie einen für Ihr Team wichtigen Ablauf über den vorgesehenen Routing-Pfad.
  • Testen Sie Datei- und Hintergrundaufgaben, sofern Ihre Anwendung diese Funktionen nutzt.
  • Beobachten Sie in einer Testumgebung, wie sich ein kontrollierter Neustart oder Ausfall auswirkt.
  • Halten Sie fest, welche Erwartungen dokumentiert sind und welche Fragen offenbleiben.

Was verwaltetes Hosting abdeckt – und was nicht

Airbip bietet verwaltete Bereitstellungen eines öffentlichen Katalogs von Anwendungen für Unternehmen, Publishing, Analysen, Zusammenarbeit und KI. Die Anwendungen laufen als Docker-Workloads auf Airbip-Cloud-Servern. Airbip bietet DNS-Prüfungen, Verwaltung des Dienstlebenszyklus, konfigurierbare tägliche, wöchentliche und monatliche Backups sowie automatisiertes Routing und TLS über Traefik und Let’s Encrypt.

Diese Infrastrukturleistungen belegen nicht, dass eine bestimmte Anwendung mehrere Instanzen unterstützt. Prüfen Sie weiterhin die Anforderungen der Anwendung und treffen Sie eigene Entscheidungen zu Daten, Zugriff und Governance. Aktuelle Tarife und Bedingungen finden Sie auf der aktuellen Airbip-Website.

Häufige Fragen

Unterstützt eine selbst gehostete Anwendung automatisch mehrere App-Instanzen?

Nein. Prüfen Sie die offizielle Dokumentation für die konkrete Anwendung und Ihr Bereitstellungsmodell. Hinweise zu mehreren Umgebungen oder Installationen beschreiben nicht zwingend mehrere Instanzen in einer gemeinsamen Bereitstellung.

Was sollte ich vor einer Änderung zuerst klären?

Ob die Anwendung mehrere Instanzen unterstützt und welche Voraussetzungen oder Einschränkungen dafür gelten. Klären Sie anschließend die Punkte, die Ihre Anwendung betreffen, etwa gemeinsam genutzten Zustand, Aufgabenkoordination, Routing und Updates.

Ist eine einzelne größere Instanz die bessere Wahl?

Das lässt sich nicht allgemein sagen. Vergleichen Sie die Optionen anhand Ihrer Anforderungen und der Bereitstellungsmodelle, die die Dokumentation Ihrer Anwendung unterstützt.

Ersetzt verwaltetes Hosting die Prüfung der Anwendungskompatibilität?

Nein. Verwaltetes Hosting kann Infrastrukturleistungen bereitstellen, belegt aber nicht, dass eine Anwendung mehrere Instanzen unterstützt. Auch Entscheidungen zu Daten, Zugriff und Governance bleiben relevant.

Quellen und weiterführende Literatur

  1. Temporal Platform production readiness checklist — Temporal
  2. Multi-instance deployment — Retool