Für Produktions-Apps müssen Sie einen klaren Entwicklungsworkflow einrichten, insbesondere wenn mehr als eine Person an Ihrer App arbeitet. Ein Entwicklungsworkflow umfasst normalerweise die Einrichtung und Verwaltung mehrerer Umgebungen.
Firebase bietet unterschiedliche Unterstützungsstufen für Entwickler-Workflows und die zugehörigen Umgebungen. Wenn Sie mit den Bedingungen und Annahmen zum Entwickler-Workflow auf dieser Seite vertraut sind, sehen Sie sich unsere allgemeinen Best Practices und allgemeinen Sicherheitsrichtlinien für die Einrichtung eines Firebase-Projekts und Ihrer Apps an.
Über Umgebungen
In der Softwareentwicklung bezeichnet eine Umgebung die gesamte Hardware und Software, die zum Ausführen einer Instanz einer Anwendung oder eines Anwendungssystems erforderlich ist.
Eine Reihe von Umgebungen bietet Isolation zum Entwickeln und Testen von Software, ohne dass dies Auswirkungen auf die Benutzer hat. Wie im folgenden Diagramm dargestellt, werden Umgebungen auf hoher Ebene entweder als Vorproduktionsumgebung oder als Produktionsumgebung betrachtet, und Sie können so viele Vorproduktionsumgebungen wie nötig haben. Das Diagramm beschreibt außerdem allgemeine Vorgehensweisen und Funktionen, die mit jedem Umgebungstyp verbunden sind.
Der Prozess der Weiterentwicklung einer Funktion oder eines Releases durch diese Umgebungen bis zur Produktion wird als Bereitstellungspipeline bezeichnet.
Arten von Umgebungen
Eine Umgebung besteht aus der zugrunde liegenden Infrastruktur, die Sie zum Ausführen und Unterstützen Ihrer Anwendung, ihres Codes und ihrer Daten benötigen. Erweitern Sie jeden der folgenden Begriffe, um Beschreibungen einiger gängiger Umgebungen anzuzeigen, einschließlich Tipps zu den in den einzelnen Umgebungstypen verwendeten Datentypen.
Jeder Entwickler benötigt eine Entwicklungsumgebung – einen sicheren, isolierten Ort, um Änderungen während der Erstellung zu testen. Im Idealfall hat jeder Entwickler in Ihrem Team Zugriff auf seine eigene Entwicklungsumgebung. Wenn es sich bei der Entwicklungsumgebung um eine lokale Instanz handelt, kann ein Entwickler außerdem viel schneller iterieren.
Die Daten in einer Entwicklungsumgebung werden mit Daten gesät, die im Allgemeinen den Produktionsdaten ähneln, aber niemals echte Benutzerdaten enthalten sollten. Es kann auch Daten enthalten, die in der Vergangenheit zu Fehlern geführt haben, beispielsweise sehr lange Zeichenfolgen.
Wenn Sie über automatisierte Tests verfügen, benötigen Sie eine Umgebung, in der diese Tests ausgeführt werden können, und Sie müssen die Daten jedes Mal zurücksetzen, wenn Sie die Testumgebung starten.
Wenn Sie über QA-Ingenieure verfügen, benötigen diese möglicherweise eine Umgebung, die von allen genutzt wird, oder sie benötigen möglicherweise einzelne Umgebungen, um einen neuen Release-Kandidaten zu testen.
Die Daten in Test- und Qualitätssicherungsumgebungen werden mit Qualitätsdaten gesät, die im Allgemeinen repräsentativ für die Produktionsdaten sind, sowie mit Daten, die Eckfälle und Beispiele für Daten darstellen, die in der Vergangenheit Fehler verursacht haben.
Für realistische Tests, wie ein Release in der Produktion funktionieren wird, benötigen Sie eine Staging-Umgebung, die die Produktionsinfrastruktur so genau wie möglich nachahmt. Es ist üblich, mehrere Staging-Instanzen zu haben, wenn Sie bestimmte Integrationen isoliert testen müssen.
Hier sind häufige Unterschiede zwischen Staging und Prod:
Beim Staging fehlen möglicherweise einige Funktionen oder Integrationen, was zu Nebenwirkungen führen kann. Beispielsweise kann Staging so eingestellt sein, dass keine E-Mails gesendet werden.
Staging kann anonymisierte Daten enthalten; Die Daten können gefälscht sein, sollten aber realistisch sein. Da Staging ein Ort zum sicheren Debuggen von Problemen ist, können Sie einem breiteren Team Zugriff auf Staging-Daten als auf Produktionsdaten gewähren. Um die Privatsphäre der Benutzer zu schützen, sollten Sie beim Staging daher keine tatsächlichen Benutzerdaten verwenden.
Für jede Anwendung, die Sie verwalten, benötigen Sie eine einzige Produktionsumgebung. Dies ist die Instanz, mit der Ihre Benutzer interagieren.
Im Gegensatz zu den anderen Umgebungen, in denen Sie Daten ändern, löschen und/oder neu erstellen können, sind die Daten in Ihrer Produktionsumgebung sehr wichtig; Der Verlust oder die Änderung Ihrer Produktdaten wirkt sich direkt auf Ihre Benutzer aus.
Wir empfehlen, in der Firebase-Konsole das mit Ihrer Produktionsumgebung verknüpfte Firebase-Projekt als Umgebungstyp „Produktion“ zu kennzeichnen. Dieses Tag kann Sie und Ihre Teamkollegen daran erinnern, dass sich alle Änderungen auf Ihre zugehörigen Produktions-Apps und deren Daten auswirken können.
Nächste Schritte
Sehen Sie sich unsere allgemeinen Best Practices für die Einrichtung von Firebase-Projekten an. In diesem Leitfaden werden Fragen zur Firebase-Projekthierarchie, zur Registrierung Ihrer App-Varianten und zur Mandantenfähigkeit beantwortet.
Lesen Sie die allgemeinen Sicherheitsrichtlinien für verschiedene Umgebungen. Sie möchten sicherstellen, dass jede Umgebung und ihre Daten sicher sind.
Sehen Sie sich die Checkliste für den Firebase-Start an.