Erstellen von Bereitstellungsslots
- 10 Minuten
Organisationen müssen Web-Apps häufig in isolierten Umgebungen ausführen, um sie vor der Bereitstellung zu testen. Außerdem müssen sie schnell und ohne Auswirkungen auf Benutzer bereitgestellt werden.
Angenommen, Sie versuchen zu entscheiden, ob Slots als optimierte Möglichkeit zum Bereitstellen einer Web-App in Ihrem Social Media-System 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 Tests und Rollouts von neuem Code vereinfacht werden.
Verwenden eines Bereitstellungsslots
Innerhalb einer einzelnen Azure App Service-Web-App können Sie mehrere Bereitstellungsplätze erstellen. Jeder Steckplatz ist eine separate Instanz dieser Web-App und verfügt über einen separaten Hostnamen. Sie können eine andere Version Ihrer Web-App in jedem Steckplatz bereitstellen.
Ein Slot ist der Produktionsslot. Dieser Steckplatz ist die Web-App, die Benutzern angezeigt wird, wenn sie eine Verbindung herstellen. Stellen Sie sicher, dass die auf diesem Steckplatz bereitgestellte App stabil und gut getestet ist.
Sie können die anderen Slots zum Hosten neuer Versionen Ihrer Web-App verwenden. Anhand dieser Instanzen können Sie Tests wie Integrationstests, Akzeptanztests und Kapazitätstests ausführen. Beheben Sie etwaige Probleme, bevor Sie den Code in den Produktionsslot verschieben. Die anderen Bereitstellungsslots 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 die Version zurücksetzen, indem Sie die Slots wieder austauschen.
Verstehen von Slots als separate Azure-Ressourcen
Wenn Sie mehr als einen Bereitstellungsplatz 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 aufgeführt. Sie verfügen jeweils über eine eigene URL. Jedoch verwenden alle Slots gemeinsam die Ressourcen des App Service-Plans, einschließlich Arbeitsspeicher und CPU und Speicherplatz der virtuellen Maschine.
Erstellen von Bereitstellungsslots und mögliche Tarife
Bereitstellungsplätze sind nur verfügbar, wenn Ihre Web-App einen App Service-Plan auf der Stufe "Standard", "Premium" oder "Isoliert" verwendet. Die folgende Tabelle zeigt die maximale Anzahl von Slots, die Sie erstellen können:
| Dienstebene | Maximale Anzahl von Stagingslots |
|---|---|
| Kostenlos | 0 |
| Freigegeben | 0 |
| Basic | 0 |
| Norm | 5 |
| Prämie | 20 |
| Isoliert | 20 |
Vermeiden eines Kaltstarts während des Swaps
Viele der Technologien, die Entwickler zum Erstellen von Web-Apps verwenden, erfordern eine endgültige Kompilierung und andere Aktionen auf dem Server, bevor sie eine Seite an einen Benutzer übermitteln. 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 Code kompiliert, und Ansichten werden abgeschlossen, wenn der erste Benutzer eine Seite anfordert. Nachfolgende Anforderungen für diese Seite erhalten eine schnellere Antwort, da der Code bereits kompiliert ist.
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. Die Warm-up-Anforderung stellt sicher, dass alle Kompilierungs- und Zwischenspeicherungsaufgaben abgeschlossen sind. Nach dem Tausch erfolgt die Antwort der Website so schnell, als wäre sie bereits seit Tagen bereitgestellt.
Erstellen eines Bereitstellungsslots
Bevor Sie einen Steckplatz erstellen, stellen Sie sicher, dass Ihre Web-App auf der Stufe "Standard", "Premium" oder "Isoliert" ausgeführt wird:
Öffnen Sie Ihre Web-App im Azure-Portal.
Wählen Sie den Bereich Bereitstellungsslots aus.
Wählen Sie "Steckplatz hinzufügen" aus.
Geben Sie dem Steckplatz einen Namen.
Wählen Sie aus, ob Einstellungen von einem anderen Slot geklont werden sollen. Wenn Sie sich für das Klonen entscheiden, werden die Einstellungen aus dem von Ihnen angegebenen Steckplatz in den neuen Steckplatz kopiert.
Hinweis
Obwohl Sie Einstellungen zu einem neuen Steckplatz klonen können, können Sie keine Inhalte klonen. Neue Slots beginnen immer ohne Inhalt. Sie müssen Inhalte mithilfe von Git oder einer anderen Bereitstellungsstrategie bereitstellen. Der Klonvorgang kopiert die Konfiguration in den neuen Steckplatz. Nachdem Sie die Einstellungen geklont haben, kann die Konfiguration der beiden Steckplätze unabhängig voneinander geändert werden.
Wählen Sie "Hinzufügen" aus, um den neuen Steckplatz 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.
Zugriff auf einen Slot
Der Hostname des neuen Steckplatzes wird vom Web-App-Namen und dem Namen 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 Steckplatzes in der Konfiguration des verwendeten Bereitstellungstools. Wenn Sie FTP zum Bereitstellen verwenden, werden der FTP-Host- und -Benutzername direkt unter der Slot-URL angezeigt.
Der neue Steckplatz ist effektiv eine separate Web-App mit einem anderen Hostnamen. Alle im Internet können darauf zugreifen, sofern sie den Hostnamen kennen. 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 für normale Internetbenutzende verborgen.
Sie können den Zugriff auf einen Steckplatz mithilfe von IP-Adresseinschränkungen steuern. Erstellen Sie eine Liste der IP-Adressbereiche, die Zugriff auf den Slot haben oder eine Liste von Bereichen, die keinen Zugriff auf den Slot haben. Diese Listen sind wie die Zulassungs- und Ablehnungsbereiche, die Sie für eine Firewall einrichten können. Verwenden Sie diese Liste, um den Zugriff nur auf Computer zuzulassen, die zu Ihrem Unternehmen oder Entwicklungsteam gehören.