Tutorial für das Upgraden von Service Fabric-Anwendungen mithilfe von Visual Studio


Azure Service Fabric vereinfacht das Upgraden von Cloudanwendungen, indem sichergestellt wird, dass nur geänderte Dienste aktualisiert werden und die Anwendungsintegrität während des gesamten Upgradeprozesses überwacht wird. Falls ein Fehler auftritt, wird die Anwendung automatisch auf die vorherigen Version zurückgesetzt. Upgrades von Service Fabric-Anwendungen erfolgen ohne Ausfallzeiten, da die Anwendung ohne Ausfallzeiten aktualisiert werden kann. In diesem Tutorial wird beschrieben, wie ein paralleles Upgrade über Visual Studio erfolgt.

Schritt 1: Erstellen und Veröffentlichen des Beispiels Visual Objects

Laden Sie zuerst die Anwendung Visual Objects von GitHub herunter. Erstellen und veröffentlichen Sie dann die Anwendung, indem Sie mit der rechten Maustaste auf das Anwendungsprojekt VisualObjects klicken und im Menü „Service Fabric“ den Befehl Veröffentlichen auswählen.

Kontextmenü einer Service Fabric-Anwendung

Durch Auswahl von Veröffentlichen wird ein Popupfenster geöffnet. Sie können das Zielprofil auf PublishProfiles\Local.xml festlegen. Das Fenster sollte wie folgt aussehen, bevor Sie auf Veröffentlichen klicken.

Veröffentlichen einer Service Fabric-Anwendung

Sie können nun im Dialogfeld auf Veröffentlichen klicken. Nun können Sie in Service Fabric Explorer den Cluster und die Anwendung anzeigen. Die Anwendung Visual Objects enthält einen Webdienst, zu dem Sie in Ihrem Browser wechseln können, indem Sie in die Adressleiste http://localhost:8081/visualobjects/ eingeben. Sie sollten 10 unverankerte visuelle Objekte sehen, die sich auf dem Bildschirm bewegen.

HINWEIS: Bei Bereitstellen im Profil Cloud.xml (Azure Service Fabric) sollte die Anwendung unter http://{ServiceFabricName}.{Region}.cloudapp.azure.com:8081/visualobjects/ verfügbar sein. Stellen Sie sicher, dass Sie 8081/TCP im Load Balancer konfiguriert haben (der Load Balancer befindet sich in derselben Ressourcengruppe wie die Service Fabric-Instanz).

Schritt 2: Aktualisieren des Beispiels „Visual Objects“

Sie werden feststellen, dass sich die visuellen Objekte mit der Version, die in Schritt 1 bereitgestellt wurde, nicht drehen. Wir aktualisieren diese Anwendung so, dass sich die visuellen Objekte drehen.

Wählen Sie das Projekt „VisualObjects.ActorService“ in der Projektmappe „VisualObjects“ aus, und öffnen Sie die Datei VisualObjectActor.cs . Navigieren Sie in der Datei zur MoveObject-Methode, kommentieren Sie visualObject.Move(false) aus, und heben Sie die Auskommentierung für visualObject.Move(true) auf. Diese Codeänderung bewirkt, dass sich die Objekte nach dem Upgrade des Diensts drehen. Jetzt können Sie die Projektmappe erstellen (nicht neu erstellen), die die geänderten Projekte erstellt. Wenn Sie die Option Alles neu erstellenauswählen, müssen Sie die Versionen für alle Projekte aktualisieren.

Wir müssen unsere Anwendung auch mit einer Version versehen. Sie können die Option Manifestversionen bearbeiten von Visual Studio verwenden, um die Versionen zu ändern, nachdem Sie mit einem Rechtsklick das VisualObjects-Projekt ausgewählt haben. Bei Wahl dieser Option wird das Dialogfeld zum Bearbeiten von Versionen wie folgt angezeigt:

Dialogfeld Versionsverwaltung

Aktualisieren Sie die Versionen für die geänderten Projekte und ihre Codepakete zusammen mit der Anwendung auf Version 2.0.0. Nach diesen Änderungen sollte das Manifest wie folgt aussehen (Änderungen sind fett hervorgehoben):

Aktualisieren von Versionen

Die Visual Studio-Tools können automatische Rollups von Versionen durchführen, wenn Sie die Option Anwendung und Dienstversionen automatisch aktualisierenauswählen. Wenn Sie SemVerverwenden, müssen Sie den Code und/oder die Version der Paketkonfiguration aktualisieren, wenn diese Option ausgewählt ist.

Speichern Sie die Änderungen, und aktivieren Sie nun das Kontrollkästchen Anwendungs- und Dienstversionen automatisch aktualisieren .

Schritt 3: Upgrade der Anwendung

Machen Sie sich mit den Parametern für Anwendungsupgrades und dem Upgradeprozess vertraut, um ein tieferes Verständnis der verschiedenen anwendbaren Upgradeparameter, Timeouts und Integritätskriterien zu erhalten. In dieser exemplarischen Vorgehensweise ist das Kriterium für die Evaluierung der Systemintegrität auf die Standardeinstellung (nicht überwachter Modus) festgelegt. Sie können diese Einstellungen konfigurieren, indem Sie Upgradeeinstellungen konfigurieren auswählen und die Parameter anschließend wie gewünscht ändern.

Nun können wir das Anwendungsupgrade über die Schaltfläche Veröffentlichen starten. Dadurch wird die Anwendung auf Version 2.0.0 aktualisiert, in der sich die Objekte drehen. Service Fabric aktualisiert Updatedomänen nacheinander (einige Objekte werden zuerst aktualisiert, dann folgen andere). Auf den Dienst kann während des Upgrades zugegriffen werden. Der Zugriff auf den Dienst kann mit Ihrem Client (Browser) überprüft werden.

Sie können den Fortschritt des Upgradevorgangs mithilfe von Service Fabric Explorer über die Registerkarte Upgrades in Progress (Laufende Upgrades) der jeweiligen Anwendung überwachen.

Alle Updatedomänen sollten binnen wenigen Minuten aktualisiert sein und im Visual Studio-Ausgabefenster sollte angezeigt werden, dass das Upgrade abgeschlossen ist. Sie werden feststellen, dass sich jetzt alle visuellen Objekte in Ihrem Browserfenster drehen!

Sie können auch versuchen, als Übung Version 2.0.0 in Version 3.0.0 oder gar Version 2.0.0 zurück in Version 1.0.0 zu ändern. Experimentieren Sie mit den Timeouts und Integritätsrichtlinien, um sich schrittweise mit ihnen vertraut zu machen. Wenn die Bereitstellung in einem Azure-Cluster statt in einem lokalen Cluster erfolgt, sind die verwendeten Parameter möglicherweise unterschiedlich. Es wird empfohlen, dass Sie die Timeouts konservativ festlegen.

Nächste Schritte

Upgrade Ihrer Anwendung mithilfe von PowerShell werden Sie schrittweise durch das Upgrade der Anwendung mithilfe von PowerShell geführt.

Steuern Sie die Upgrades von Anwendungen mithilfe von Upgradeparametern.

Machen Sie sich mit der Datenserialisierungvertraut, um Ihre Anwendungsupgrades kompatibel zu machen.

Informieren Sie sich in weiterführenden Themendarüber, wie Sie erweiterte Funktionen beim Upgrade Ihrer Anwendung nutzen.

Informationen zum Beheben gängiger Probleme bei Anwendungsupgrades finden Sie in den Anweisungen unter Problembehandlung bei Anwendungsupgrades.