Vytvoření slotů nasazení

Dokončeno

Organizace často potřebují spouštět webové aplikace v izolovaných prostředích, aby je otestovaly před nasazením. Potřebují je také nasadit rychle a aniž by byli ovlivněni uživatelé.

Předpokládejme, že se pokoušíte rozhodnout, jestli použijete sloty jako efektivní způsob, jak nasadit webovou aplikaci ve svém systému sociálních médií. Chcete zjistit, zda sloty nasazení sníží prostoje během nasazení, zda zjednoduší vrácení zpět a jak je můžete nastavit v Azure.

Tady se dozvíte, jak sloty nasazení usnadňují testování a zavedení nového kódu.

Použití slotu nasazení

V rámci jedné webové aplikace služby Azure App Service můžete vytvořit více slotů nasazení. Každý slot je samostatnou instancí této webové aplikace a má samostatný název hostitele. Do každého slotu můžete nasadit jinou verzi webové aplikace.

Jeden slot je produkční slot. Ten obsahuje webovou aplikaci, kterou uživatelé uvidí, když se připojí. Ujistěte se, že aplikace nasazená do tohoto slotu je stabilní a dobře otestovaná.

Další sloty použijte k hostování nových verzí webové aplikace. Tyto instance můžete testovat například spouštěním integračních, předávacích a kapacitních testů. Můžete tak vyřešit všechny problémy před přesunutím kódu do produkčního slotu. Další sloty se chovají jako vlastní instance služby App Service. To vám dává jistotu, že vám testy ukážou, jak se bude aplikace chovat v produkčním prostředí.

Jakmile budete spokojeni s výsledky testů nové verze aplikace, nasaďte ji prohozením jejího slotu s produkční slotem. Na rozdíl od nasazení kódu je prohození slotů okamžité. Když prohodíte sloty, vymění se názvy hostitelů slotů a produkční provoz se okamžitě odešle do nové verze aplikace. Když k nasazení použijete prohození slotů, vaše aplikace se nikdy neobjeví na veřejném webu v jen částečně nasazeném stavu.

Pokud zjistíte, že i přes pečlivé testování je v nové verzi chyba, můžete vrátit původní verzi zpět opětovným prohozením slotů.

Princip slotů jako samostatných prostředků Azure

Pokud pro webovou aplikaci použijete více než jeden slot nasazení, budou tyto sloty považovány za samostatné instance této webové aplikace. Jsou například uvedeny samostatně na stránce Všechny zdroje na webu Azure Portal. Každý z nich má vlastní adresu URL. Každý slot ale sdílí prostředky plánu služby App Service, včetně paměti virtuálního počítače a procesoru, jakož i místa na disku.

Vytvoření slotů nasazení a úrovně

Sloty nasazení jsou dostupné pouze tehdy, když webová aplikace používá plán služby App Service na úrovni Standard, Premium nebo Isolated. Maximální počet slotů, které můžete vytvořit, je uveden v následující tabulce:

Úroveň Maximální počet přípravných slotů
Bezplatný 0
Shared 0
Basic 0
Standard 5
Premium 20
Izolovaný režim 20

Předcházení „studenému startu“ během prohození

Mnohé z technologií, které vývojáři používají k tvorbě webových aplikací, vyžadují závěrečnou kompilaci a další akce na serveru předtím, než může být stránka doručena uživateli. Mnohé z těchto úloh jsou dokončeny při spuštění aplikace a přijetí požadavku. Pokud například k sestavení aplikace používáte ASP.NET, je kód zkompilován a zobrazení dokončeno, když první uživatel požádá o stránku. Následné požadavky na tuto stránku obdrží rychlejší odpověď, protože kód je již zkompilován.

Tomuto počátečnímu zpoždění se říká studený start. Můžete mu předcházet tím, že pro nasazování do produkčního prostředí používáte prohazování slotů. Když slot prohodíte na produkční, aplikaci připravíte („zahřejete“), protože touto akcí pošlete požadavek do kořenového adresáře webu. Požadavek na přípravu zajišťuje, že jsou dokončeny všechny úlohy kompilace a ukládání do mezipaměti. Po prohození web reaguje stejně rychle, jako kdyby byl nasazený po dobu dnů.

Vytvoření slotu nasazení

Než začnete vytvářet slot, ujistěte se, že vaše webová aplikace běží na úrovni Standard, Premium nebo Isolated:

  1. Otevřete svou webovou aplikaci na webu Azure Portal.

  2. Vyberte podokno Nasazovací sloty.

  3. Vyberte Přidat slot.

  4. Zadejte název slotu.

  5. Vyberte, jestli chcete klonovat nastavení z jiného slotu. Pokud se rozhodnete klonovat, nastavení se zkopíruje do nového slotu z vámi určeného slotu.

    Screenshot of naming a new deployment slot and choosing whether to clone settings in the Azure portal.

Poznámka:

I když můžete naklonovat nastavení pro nový slot, nemůže klonovat jeho obsah. Nové sloty začínají vždy bez obsahu. Obsah musíte nasadit pomocí Gitu nebo jiné strategie nasazení. Operace klonování zkopíruje konfiguraci do nového slotu. Po naklonování nastavení můžete konfiguraci těchto dvou slotů můžete změnit nezávisle na sobě.

Výběrem Přidat vytvořte nový slot. Nový slot teď máte v seznamu na stránce Nasazovací sloty . Výběrem slotu zobrazíte jeho podokno správy.

Screenshot of the list of deployment slots for a web app.

Přístup ke slotu

Název hostitele nového slotu je odvozen od názvu webové aplikace a názvu slotu. Tento název hostitele získáte, když vyberete slot na stránce Nasazovací sloty :

Screenshot of finding the URL for a new slot in the Azure portal.

Kód můžete nasadit do nového slotu stejným způsobem, jaký jste použili pro produkční slot. Stačí nahradit název nebo adresu URL nového slotu v konfiguraci nástroje pro nasazení, který používáte. Pokud k nasazení používáte protokol FTP, můžete vidět název hostitele FTP a uživatelské jméno přímo pod adresou URL slotu.

Nový slot je v podstatě samostatná webová aplikace s jiným názvem hostitele. To je důvod, proč k němu má přístup kdokoli na internetu, pokud zná tento název hostitele. Pokud slot nezaregistrujete ve vyhledávacím webu nebo na něj odkazujete z procházené stránky, slot se nezobrazí v indexech vyhledávacího webu. Běžnému uživateli internetu zůstane skrytý.

Přístup ke slotu můžete ovládat omezením IP adres. Vytvořte seznam rozsahů IP adres, kterým přístup ke slotu povolíte, nebo seznam rozsahů, kterým přístup ke slotu odepřete. Tyto seznamy jsou podobné povoleným nebo zakázaným rozsahům, které můžete nastavit pro bránu firewall. Pomocí tohoto seznamu povolte přístup pouze k počítačům, které patří vaší společnosti nebo vývojovému týmu.

Vytvoření slotů nasazení

1.

Jak se u služby Azure App Service dosáhne toho, že se bezprostředně po prohození nesníží produkční výkon?

2.

Co z níže uvedeného NENÍ sdíleno mezi všemi sloty nasazení pro webovou aplikaci?