Erstellen von Bereitstellungsslots
Organisationen müssen häufig Web-Apps in isolierten Umgebungen ausführen, um sie vor der Bereitstellung zu testen. Außerdem muss die Bereitstellung schnell und ohne Auswirkungen auf die Benutzer erfolgen.
Angenommen, Sie möchten entscheiden, ob Bereitstellungsslots als optimierter Mechanismus für die Bereitstellung von Web-Apps in Ihrem System für soziale Medien verwendet werden sollen. Sie möchten herausfinden, ob sich durch Bereitstellungsslots die Ausfallzeiten während der Bereitstellungen verringern, ob Rollbacks leichter auszuführen sind und ob diese Slots in Azure eingerichtet werden können.
Hier erfahren Sie, wie mithilfe von Bereitstellungsslots neuen Code einfacher testen und einführen können.
Verwenden eines Bereitstellungsslots
Sie können innerhalb einer einzelnen Azure App Service-Web-App mehrere Bereitstellungsslots erstellen. Jeder Slot ist eine separate Instanz dieser Web-App mit einem eigenen Hostnamen. Sie können in jedem Slot eine andere Version der Web-App bereitstellen.
Ein Slot ist der Produktionsslot. Dieser Slot ist die Web-App, die Benutzern angezeigt wird, wenn sie eine Verbindung herstellen. Stellen Sie sicher, dass die in diesem Slot bereitgestellte App stabil ist und sorgfältig getestet wurde.
Sie können zusätzliche Slots zum Hosten neuer Versionen Ihrer Web-App verwenden. Für diese Instanzen können Sie Tests ausführen, wie z.B. Integrations-, Akzeptanz- und Kapazitätstests. Beheben Sie etwaige Probleme, bevor Sie den Code in den Produktionsslot verschieben. Zusätzliche Slots verhalten sich wie eigene App Service-Instanzen, sodass Sie gewiss sein können, dass alle Ihre Tests die Ausführung der App in der Produktionsumgebung widerspiegeln.
Sobald Sie mit den Ergebnissen der Tests einer neuen App-Version zufrieden sind, stellen Sie diese bereit, indem Sie den Slot gegen den Produktionsslot tauschen. Im Gegensatz zu einer Codebereitstellung erfolgt ein Tausch der Slots unmittelbar. Beim Austauschen von Slots werden die Slothostnamen ausgetauscht, und der Produktionsdatenverkehr wird sofort an die neue Version der App gesendet. Wenn Sie den Tausch der Slots zur Bereitstellung verwenden, wird Ihre App niemals im öffentlichen Web in einem teilweise bereitgestellten Zustand verfügbar gemacht.
Wenn Sie feststellen, dass die neue Version trotz sorgfältiger Tests ein Problem hat, können Sie ein Rollback für die Version ausführen, indem Sie die Slots zurücktauschen.
Grundlegendes zu Slots als separate Azure-Ressourcen
Wenn Sie mehr als einen Bereitstellungsslot für eine Web-App verwenden, werden diese Slots als separate Instanzen dieser Web-App behandelt. Sie werden beispielsweise separat auf der Seite Alle Ressourcen im Azure-Portal aufgelistet. Sie verfügen jeweils über eine eigene URL. Jedoch teilen sich alle Slots die Ressourcen des App Service-Plans, einschließlich Arbeitsspeicher und CPU sowie Speicherplatz der VM.
Erstellen von Bereitstellungsslots und mögliche Tarife
Bereitstellungsslots sind nur verfügbar, wenn Ihre Web-App einen App Service-Plan im Tarif „Standard“, „Premium“ oder „Isolated“ verwendet. Die folgende Tabelle zeigt die maximale Anzahl von Slots, die Sie erstellen können:
Tarif | Maximale Anzahl von Stagingslots |
---|---|
Free | 0 |
Shared | 0 |
Basic | 0 |
Standard | 5 |
Premium | 20 |
Isolated | 20 |
Vermeiden eines Kaltstarts beim Tausch
Viele der Technologien, die von Entwicklern zum Erstellen von Web-Apps genutzt werden, erfordern eine abschließende Kompilierung und andere Aktionen auf dem Server, bevor einem Benutzer eine Seite übermittelt wird. Viele dieser Aufgaben werden abgeschlossen, wenn die App gestartet wird und eine Anforderung empfängt. Wenn Sie beispielsweise ASP.NET zum Erstellen Ihrer App verwenden, wird der Code kompiliert, und Ansichten werden fertiggestellt, sobald der erste Benutzer eine Seite anfordert. Nachfolgende Anforderungen derselben Seite weisen kürzere Antwortzeiten auf, da der Code bereits kompiliert wurde.
Die anfängliche Verzögerung wird als Kaltstart bezeichnet. Sie können einen Kaltstart mithilfe eines Tauschs der Slots zur Bereitstellung in der Produktionsumgebung vermeiden. Beim Tauschen eines Slots in der Produktionsumgebung wird die App „aufgewärmt“, indem eine Anforderung an das Stammverzeichnis der Website gesendet wird. Durch die Aufwärmanforderung wird sichergestellt, dass alle Kompilierungs- und Cachingaufgaben abgeschlossen sind. Nach dem Tausch erfolgt die Antwort der Website so schnell, als wäre sie bereits seit Tagen bereitgestellt.
Erstellen eines Bereitstellungsslots
Stellen Sie vor dem Erstellen eines Slots sicher, dass Ihre Web-App im Tarif „Standard“, „Premium“ oder „Isolated“ ausgeführt wird:
Öffnen Sie Ihre Web-App im Azure-Portal.
Wählen Sie den Bereich Bereitstellungsslots aus.
Klicken Sie auf Slot hinzufügen.
Benennen Sie den Slot.
Wählen Sie aus, ob Einstellungen von einem anderen Slot geklont werden sollen. Wenn Sie sich für das Klonen entscheiden, werden Einstellungen vom angegebenen Slot in den neuen Slot kopiert.
Hinweis
Sie können zwar Einstellungen in einen neuen Slot klonen, aber keine Inhalte. Neue Slots weisen zu Beginn niemals Inhalt auf. Sie müssen Inhalte mithilfe von Git oder einer anderen Bereitstellungsstrategie bereitstellen. Der Klonvorgang kopiert die Konfiguration in den neuen Slot. Nachdem Sie die Einstellungen geklont haben, kann die Konfiguration der beiden Slots unabhängig voneinander geändert werden.
Klicken Sie auf Hinzufügen, um den neuen Slot zu erstellen. Der neue Slot befindet sich jetzt in der Liste auf der Seite Bereitstellungsslots sehen. Wählen Sie den Slot aus, um seinen Verwaltungsbereich anzuzeigen.
Zugreifen auf einen Slot
Der Hostname des neuen Slots ist vom Namen der Web-App und dem des Slots abgeleitet. Sie erhalten diesen Hostnamen, indem Sie auf der Seite Bereitstellungsslots den Slot auswählen:
Sie können Ihren Code im neuen Slot auf die gleiche Weise wie im Produktionsslot bereitstellen. Ersetzen Sie einfach den Namen oder die URL des neuen Slots in der Konfiguration des von Ihnen verwendeten Bereitstellungstools. Wenn Sie FTP zum Bereitstellen verwenden, werden der FTP-Host- und -Benutzername direkt unter der Slot-URL angezeigt.
Der neue Slot ist praktisch eine eigene Web-App mit einem anderen Hostnamen. Deshalb kann jeder im Internet darauf zugreifen, sofern er den Hostnamen kennt. Solange Sie den Slot nicht bei einer Suchmaschine registrieren oder auf einer durchforsteten Seite eine Verknüpfung damit herstellen, taucht der Slot nicht in Suchmaschinenindizes auf. Er bleibt dadurch für normale Internetbenutzer verborgen.
Sie können mithilfe von Einschränkungen für IP-Adressen den Zugriff auf einen Slot steuern. Erstellen Sie eine Liste von IP-Adressbereichen, die Sie für den Zugriff auf den Slot zulassen, oder eine Liste von Bereichen, denen Sie den Zugriff auf den Slot verweigern. Dieses Listen sind vergleichbar mit den zugelassenen und nicht zugelassenen Bereichen beim Einrichten einer Firewall. Verwenden Sie diese Liste, um den Zugriff nur Computern Ihres Unternehmens oder Entwicklungsteams zu gestatten.