Azure Web Sites - Web hosting speciálně pro vývojáře (1.)

Na tento týden jsem pro vás připravil miniseriál o Azure Web Sites (vyzkoušejte zdarma!), což je webový hosting vysokých technických parametrů. Nerad bych titulkem vyvolal dojem, že není vhodný pro produkční použití – právě naopak, jedná se o službu s vysokou dostupností a na trhu bezkonkurenční robustností. Titulkem jsem chtěl zdůraznit fakt, že se seriál bude věnovat spíše vývojářskými aspekty.

Založení webu

Založení webu a praktické vyzkoušení je velmi jednoduché a dá se zvládnout zhruba za minutu. Pokud ovšem máte předem vytvořený bezplatný testovací (anebo jakýkoliv jiný) účet na Windows Azure. Pro praktické vyzkoušení je nejjednodušší zřídit si 90denní testovací verzi. Podrobný návod k jejímu zřízení je zde. Služba ještě není v produkčním režimu, tudíž musíte potvrdit svoje obeznámení s touto skutečností. Postup pro povolení služby najdete zde.

Pak už je založení webu velmi jednoduché. Existují dva základní přístupy – označme si je jako uživatelský a vývojářský.

Pokud chci funkční “uživatelský” web, použiji možnost New/Compute/Web Site/From Gallery. Nabídne se mi poměrně bohatá nabídka aplikací:

image

Další možnosti (kromě nezbytného jména webu a jeho umístění v datovém centru pak závisí na konkrétní zvolené aplikaci, především na tom, jakou databází aplikace používá. Např. v případě Drupalu si můžeme vybrat mezi novou nebo existující databází, která může být SQL server anebo MySQL. Dokončíme průvodce, počkáme zhruba minutu a náš web je funkční – můžeme začít upravovat.

Pokud chci naopak “vývojářský” web, zvolím možnost New/Compute/Web Site/Custom Create. Tímto způsobem se vytvoří v podstatě prázdný web:

image

Volitelně je možné vytvořit rovnou též databázi využívanou webem, v tomto příkladu si vybereme pro změnu SQL Server:

image

Bylo by možné použít rovnou nastavit též možnosti verzování, ale tuto možnost si necháme na druhý díl. Pokud jsme tedy vytvořili novou anebo přilinkovali existující databázi, bude v konfiguračním souboru již hotový záznam pro připojovací řetězec. Na záložce Linked Resources pak můžeme vidět rovnou příslušnou databázi:

image

Pomocí odkazu a stisku tlačítka Manage je pak možné databázi SQL spravovat přes webové rozhraní:

image

Alternativně je možné též použít další nástroje, například zdarma dostupné SQL Management Studio

Podporované technologie

Při čtení předchozích řádků vás zřejmě napadlo – jaké všechny technologie webových aplikací je možné použít. Pojďme se nejdříve podívat na aplikační vrstvu. Zde jsou podporované následující frameworky:

  • .NET framework 3.5 nebo 4.5 (ASP.NET Web Forms i ASP.NET MVC)
  • PHP verze 5.3 nebo 5.4
  • node.js – zde je verzí více a častěji se mění

Všechny výše uvedené frameworku běží pod IIS na Windows Serveru. Pokud si chcete přidat nějaký modul nebo doplněk, je to možné pouze tehdy, pokud je jeho instalace “prosté kopírování souborů” do adresáře web serveru. Pokud by příslušná komponenta vyžadovala instalaci v operačním systému, není její použití možné.

Nyní pojďme k databázím. Přímo podporovaný je SQL Azure a MySQL, jejichž databáze lze vytvářet rovnou při vytváření webu. Pokud si zajistíte jiné úložiště a napojíte si ho na svoji vlastní aplikaci, je to na samozřejmě na vás. Tyto možnosti mohou sahat od NoSQL databází jako je Azure Storage (viz tento návod) anebo třetí stranou poskytovaný MongoDB, přes sdílené databáze jako je SQL Database a třetí stranou poskytované MySQL, až po libovolnou databázi běžíce ve vašem vlastním dedikovaném virtuálním počítači.

Závislost webu na úložišti je zaznamenána na záložce Linked Resources, jak je vidět o 2 obrázky výše. Slouží pouze k zaznamenání závislosti (např. upozornění při mazání prostředků), jinak nemá valný praktický význam

Škálování a ceny

Škálování se nastavuje na záložce Scale:

image

Jedním klikem můžete přepnout z bezplatného sdíleného webu na farmu virtuálních serverů bez jakékoliv změny aplikace! K dispozici jsou celkem 3 režimy, které jsou porovnány v následující tabulce:

image

Pojďme si možnosti stručně zrekapitulovat:

  • Režim Free je zcela bezplatný, ale po vyčerpání 165 MB přenosového pásma je do konce dne web nepřístupný. Ideální pro vývoj, prototypy apod.
  • Režim Shared se podobá klasickému sdílenému hostingu. Váš web běží na sdíleném hardwaru a to buď na jednom serveru anebo ve farmě za ceny v řádu stokorun měsíčně. Spotřebované zdroje jsou sice limitovány, ale způsobem, který běžné menší weby nijak prakticky neomezuje.
  • Režim Reserved používá vaše vlastní virtuální servery, které stojí v závislosti na jejich velikosti řádově tisícikoruny měsíčně. Na nich běží až 100 vašich webů, stáváte se tedy de facto web hosterem pro svoje weby.

Spotřebu jednotlivých zdrojů v porovnání s limity můžete vidět na domovské stránce příslušného webu na Azure portálu:

image

Rovněž zde lze vidět, kdy bude příslušné počítadlo zresetováno. Pro úplnost dodejme, že za relační databáze se platí zvlášť. Zdarma je pouze velmi malá relační databáze MySQL o velikosti 20 MB.

Závěr a pozvánka na seminář

Pokud se o tomto tématu chcete dozvědět více, zaregistrujte se na online seminář. Zde se můžete dozvědět o této problematice více, případně se zeptat na otázky, které vás napadly. V zítřejším druhém díle se budeme věnovat možnostem vývoje, nasazení a verzování aplikací, pozítří nás pak čeká ve třetím díle monitorování, konfigurace a diagnostiku webu.

Michael