Überblick der App-Versionen und Upgrades

Dieses Thema enthält Informationen darüber, wie Versionen, Patches und Upgrades im Snowflake Native App Framework funktionieren.

Über App-Versionen und Patches

Das Snowflake Native App Framework ermöglicht es Anbietern, Versionen und Patches einer App zu erstellen. Versionen und Patches ermöglichen Anbietern die Bereitstellung neuer Funktionen und Updates für die Verbraucher.

Version

Enthält im Allgemeinen größere Aktualisierungen für eine Snowflake Native App. Mit den Versionen werden in der Regel neue Features und veränderte Funktionen für eine App eingeführt.

Patch

Enthält im Allgemeinen kleinere Aktualisierungen für eine Snowflake Native App. Im Gegensatz zu Versionen sollten Patches nur kleine Aktualisierungen wie Sicherheitskorrekturen enthalten.

Die Versionen und Patches einer Anwendung werden im Anwendungspaket angegeben.

Vorsicht

Eine App kann nur zwei aktive Versionen gleichzeitig haben. Jede Version einer App kann bis zu 130 Patches enthalten.

Um eine neue Version zu einem Anwendungspaket hinzuzufügen, für das derzeit zwei Versionen definiert sind, müssen Anbieter zunächst eine der bestehenden Versionen entfernen. Um eine Version zu entfernen, muss ein Anbieter:

  1. Sich vergewissern, dass alle Verbraucher ein Upgrade von der zu entfernenden Version durchgeführt haben.

  2. Entfernen Sie die Version aus dem Anwendungspaket.

  3. Erstellen Sie eine neue Version.

  4. Aktualisieren Sie die App.

Vorsicht

Auch wenn eine App im Verbraucherkonto aktualisiert wird, kann es sein, dass die vorherige Version der App noch Code enthält, der ausgeführt wird. Anbieter können die vorherige Version der App erst dann aus dem Anwendungspaket entfernen, wenn der gesamte laufende Code der vorherigen Version abgeschlossen ist. Dies gilt für alle installierten Versionen der App in allen Verbraucherkonten. Wenn ein einzelnes Upgrade fehlschlägt, müssen die Anbieter die Ursache für das fehlgeschlagene Upgrade beheben, bevor sie die Version entfernen können.

Obwohl ein Anwendungspaket nur zwei aktive Versionen gleichzeitig enthalten kann, kann eine einzelne Version mehrere Patches enthalten. Das Snowflake Native App Framework unterstützt das Löschen von Patches nicht. Wenn ein Anbieter eine neue Version zu einem Anwendungspaket hinzufügt, wird der neuen Version standardmäßig automatisch Patch 0 zugewiesen. Dies kann nicht geändert werden.

Wenn ein Anbieter einen neuen Patch zu einer Version hinzufügt, kann er den Bezeichner für den Patch manuell angeben. Wenn keine Patchnummer angegeben wird, erhöht Snowflake die Patchversion automatisch um 1.

Bemerkung

Jede Version und jeder Patch muss seine eigene Version des Setup-Skripts und der Anwendungsdateien haben.

Aktualisieren von Versionen und Patches

Wenn ein Anbieter eine neue Version einer Anwendung veröffentlicht, sorgt das Snowflake Native App Framework dafür, dass nur die vorherige Version der App aktiv ist. Wenn ein Anbieter beispielsweise die Versionen v1 und v2 einer App veröffentlicht hat, stellt das Snowflake Native App Framework sicher, dass nur v2 in einem Kundenkonto installiert ist, bevor ein Upgrade auf v3 durchgeführt wird. Dies erfordert, dass alle installierten Anwendungen, die Version v1 verwenden, auf Version v2 migriert werden.

Dadurch wird sichergestellt, dass das Setup-Skript der App nur die Unterschiede zwischen v2 und v3 berücksichtigen muss. Das Einrichtungsskript ist nur mit der neuesten Version der App abwärtskompatibel. Wenn ein Anbieter eine Statusänderung an der App vornimmt, z. B. das Erstellen einer neuen Tabelle oder Hinzufügen von Spalten zu einer Tabelle hinzufügt, müssen Anbieter lediglich sicherstellen, dass es keine Kompatibilitätsprobleme zwischen zwei Versionen gibt.

Wenn ein Anbieter hingegen einen neuen Patch für eine Version einer App erstellt, setzt Snowflake Native App Framework keine Beschränkungen für die Anzahl der aktiven Patches durch. Anbieter müssen vermeiden, in einem Patch Änderungen am Status einer App vorzunehmen, um Inkompatibilität über mehrere Patches hinweg zu vermeiden.

Zustandsabhängige und zustandslose Objekte

Bei der Entwicklung einer neuen Version einer Anwendung müssen Anbieter berücksichtigen, ob die Komponenten, die sie ändern, ihren Zustand von einer Version oder einem Patch zur/zum nächsten beibehalten müssen. Eine typische App enthält zwei Arten von Komponenten:

Zustandslose Objekte

Zustandslose Objekte werden für jede neue Version oder jeden neuen Patch der Anwendung neu erstellt. Zustandslose Objekte müssen nur während der Lebensdauer der Version verfügbar sein und können bei Bedarf neu erstellt werden. Zustandslose Objekte sind in der Regel der Code der App, einschließlich gespeicherter Prozeduren, benutzerdefinierter Funktionen, Streamlit-Anwendungen und ähnlicher Inhalte.

Zustandslose Objekte sollten in einem versionierten Schema erstellt werden.

Zustandsabhängige Objekte

Zustandsabhängige Objekte werden von einer Version oder einem Patch der Anwendung auf eine andere übertragen. Zustandsabhängige Komponenten sollen eine Lebensdauer über mehrere Versionen der Anwendung hinweg haben. Wenn eine Anwendung beispielsweise eine Tabelle zum Speichern von Konfigurationsinformationen im Konto des Benutzers verwendet, muss der Inhalt dieser Tabelle beim Upgrade erhalten bleiben.

Zustandsabhängige Objekte sollten mit einem regulären Schema erstellt werden.

Über versionierte Schemas

Beim Schreiben des Setup-Skripts für die neue Version der App müssen Anbieter zustandslose und zustandsabhängige Komponenten berücksichtigen. Für die Handhabung von zustandslosen Objekten bietet das Snowflake Native App Framework eine spezielle Art von Datenbankschema, die so genannten versionierten Schemas. Ein versioniertes Schema ähnelt einem normalen Datenbankschema mit zusätzlicher Funktionalität zur Handhabung mehrerer Versionen von Objekten, die von verschiedenen App-Versionen erstellt wurden.

Weitere Informationen dazu finden Sie unter Verwenden Sie ein versioniertes Schema, um App-Objekte versionsübergreifend zu verwalten.

Über App-Upgrades

Das Snowflake Native App Framework ermöglicht es Anbietern, eine App auf eine neue Version oder einen neuen Patch zu aktualisieren. Wie sich Upgrades in den Gesamtworkflow für die Entwicklung einer neuen Version oder eines Patches einer Anwendung einfügen, erfahren Sie unter Workflow für die Aktualisierung einer App.

Anbieter können ein Upgrade einer Anwendung auf eine neue Version oder einen neuen Patch initiieren, indem sie eine Release-Richtlinie für das Anwendungspaket festlegen. Wenn die Release-Richtlinie geändert wird, aktualisiert Snowflake automatisch alle installierten Instanzen der aktuellen Version der App auf die in der Release-Richtlinie angegebene Version.

Wenn der Anbieter ein Upgrade initiiert, fügt Snowflake jede zu aktualisierende App einer Warteschlange hinzu. Jede App wird aktualisiert, sobald Ressourcen verfügbar sind. Es kann eine Weile dauern, bis der Upgrade-Prozess für alle installierten Versionen der App abgeschlossen ist. Um den Upgrade-Prozess zu beschleunigen, können Verbraucher auch manuell ein Upgrade einer App initiieren, wenn eine neue Version oder ein neuer Patch verfügbar ist.

Bemerkung

Nachdem der Upgrade-Prozess für ihre App begonnen hat, können Verbraucher die App nicht mehr manuell aktualisieren.

Weitere Informationen dazu finden Sie unter Eine App aktualisieren.

Upgrades in allen Regionen

Unter Regionsübergreifendes Upgrade einer App finden Sie Informationen zum Upgrade einer App, die über Regionen hinweg installiert ist, mithilfe von Cloud-übergreifende automatische Ausführung.

Lebenszyklus der App-Version und der Patches

Um zu verstehen, wie App-Versionen und Patches zusammenarbeiten, betrachten Sie ein Szenario, in dem ein Anbieter eine erste Version, v1, einer App veröffentlicht hat und Verbraucher A und Verbraucher B diese Version der App in ihren Konten installiert haben.

Dieses Szenario wird in den folgenden Abschnitten beschrieben.

Version v1.0 wird im Konto des Verbrauchers installiert

Abbildung 1 zeigt die Version v1.0 einer App, die ein Anbieter veröffentlicht hat und die zwei Verbraucher in ihren Konten installiert haben:

../../_images/na-app-lifecycle-1.png

Abbildung 1 – Version v1.0

Diese Abbildung zeigt Folgendes:

  • Die Anwendungsdateien für v1.0 werden in einem Stagingbereich gespeichert.

  • Die Release-Richtlinie des Anwendungspakets ist auf v1.0 gesetzt.

  • Die Verbraucher haben v1.0 auf ihrem Konto installiert.

  • Der Anbieter hat mit der Entwicklung der Version v2.0 auf seinem Konto begonnen.

Version v2.0 zum Anwendungspaket hinzufügen

Abbildung 2 zeigt, dass der Anbieter die Version v2.0 hochgeladen und eine neue Version im Anwendungspaket erstellt hat:

../../_images/na-app-lifecycle-2.png

Abbildung – Dateien in den Stagingbereich hochladen

Diese Abbildungen zeigen Folgendes:

  • Nachdem er die Version v2.0 der App lokal getestet hat, lädt der Anbieter die Datei v2.0 in den Stagingbereich hoch

  • Der Anbieter erstellt eine neue Version für die App im Anwendungspaket.

  • Die Release-Richtlinie verweist weiterhin auf die Version v1.0 der App.

  • Verbraucher haben weiterhin die Version v1.0 auf ihrem Konto installiert.

Aktualisieren der App von Version v1.0 auf Version v2.0

Um ein Upgrade von der Version v1.0 auf die Version v2.0 der App durchzuführen, setzt der Anbieter die Release-Richtlinie des Anwendungspakets auf die Version v2.0. Damit wird der Prozess der Aktualisierung der App in den Konten der Verbraucher gestartet.

Nach Abschluss des Upgrades haben beide Verbraucher A und B die Version v2.0 in ihren Konten installiert, wie im Diagramm in Abbildung 3 dargestellt.

../../_images/na-app-lifecycle-3.png

Abbildung 3 – Upgrade von Version v1.0 auf v2.0

Außerdem hat der Anbieter in diesem Szenario mit der Entwicklung und dem Testen der Version v3.0 in seiner lokalen Entwicklungsumgebung begonnen.

Löschen der Version v1.0, um v3.0 erstellen zu können

Wenn die Tests abgeschlossen sind, lädt der Anbieter die Version v3.0 in den Stagingbereich hoch. Wenn der Anbieter mit dem Upgrade auf die Version v3.0 beginnen möchte, muss er zunächst sicherstellen, dass alle Verbraucher von der Version v1.0 migriert wurden.

In dem im vorherigen Abschnitt dargestellten Szenario sind alle Verbraucher derzeit auf v2.0.

Der Anbieter muss die Version v1.0 aus dem Anwendungspaket löschen, wie in Abbildung 4 dargestellt:

../../_images/na-app-lifecycle-4.png

Abbildung 4 – Löschen von Version v1.0 aus dem Anwendungspaket

Version v3.0 zum Anwendungspaket hinzufügen

Nachdem der Anbieter die Version v1.0 gelöscht hat, kann er die Version v3.0 zum Anwendungspaket hinzufügen. In diesem Zusammenhang verweist die Release-Richtlinie immer noch auf v2.0 und die Verbraucher haben v2.0 in ihrem Konto installiert.

../../_images/na-app-lifecycle-5.png

Abbildung 5 – Version v3.0 zum Anwendungspaket hinzufügen

Upgrade auf Version v3.0

Um ein Upgrade auf v3.0 durchzuführen, aktualisiert der Anbieter die Release-Richtlinie, sodass sie auf v3.0 verweist. Damit beginnt das Upgrade. Wenn das Upgrade abgeschlossen ist, werden die Verbraucher auf die Version v3.0 aktualisiert, wie in der folgenden Abbildung gezeigt:

../../_images/na-app-lifecycle-6.png

Abbildung 5 – Upgrade auf Version v3.0

OSZAR »