Neplaťte zbytečně–efektivní využití Microsoft Azure

Financování cloudových řešení se může na první pohled jevit komplexně a nepřehledně, ale ve skutečnosti není až tak složité. Jenom se liší od tradičních modelů a má své způsoby optimalizace nákladů – používat cloud neefektivně jde velmi snadno a může se výrazně projevit na ceně.

Nejste si jisti, jak se financuje zvolené cloudové řešení? Nebo nevíte, pro jakou situaci je která služba vhodná? Pak je tento návod určen právě vám. Připravili jsme přehled specialit služeb Microsoft Azure a základní tipy a triky, jak začít a na co si dát pozor.

Nabízíme přehled těchto služeb:

  1. Web Sites (provoz webových aplikací)
  2. Virtual Machines (vývoj, testování nebo provoz hotových aplikací)
  3. SQL Database (databáze)

Web Sites

K čemu slouží

Platforma pro provoz webových aplikací. Zákazník má kontrolu nad aplikací a daty, nestará se o infrastrukturu, na které web běží.

Dá se použít například v těchto situacích:

  • Jednorázový web s omezenou platností (např. pro flexibilní marketingovou kampaň).
  • Komplexní webová aplikace s potřebou vykrývat nárazovou zátěž (např. e-shop).
  • Větší množství malých webů (např. pro své zákazníky).

Pro nasazení webové aplikace si můžete zvolit jeden ze čtyř režimů:

  • Free – maximálně 10 webů zdarma. Hodí se hlavně na testování, dema nebo jednoduché služby, u kterých příliš nezáleží, jaká bude URL a že se nedají škálovat.
  • Shared – klasický sdílený hosting, takže web sdílí infrastrukturu s aplikacemi ostatních zákazníků.
  • Basic a Standard – běží na vlastním dedikovaném stroji a nabízejí plnou podporu škálování. Ideální pro web v produkčním nasazení, ale také nejdražší.

Na co si dát pozor

Při vývoji a nasazení aplikace je potřeba myslet na specifika provozu v cloudu.

  • Aby se daly přidávat instance a aplikace fungovala bez problémů, musí být bezstavová. Informace o uživatelských relacích (Session State) je potřeba ukládat do odděleného stálého úložiště (Table Storage, Azure SQL Database, Windows Azure Cache).
  • Stejně tak nebude při škálování fungovat lokální databáze (např. SQL Server Compact). Opět je vhodné využít oddělenou databázi (Azure SQL Database, případně SQL Server ve virtuálním stroji).
  • Basic a Standard instance se platí, i když jsou zastavené (Stopped).

Jak se platí

Mimo separátní ceny pro každý ze čtyř režimů se v rámci Web Sites platí také za:

  • Objem dat v připojené SQL databázi.
  • Data přenesená ven z Azure směrem k uživateli webu.
  • Každou přidanou instanci.
  • Lokalitu – datacentra (regiony) mají mírně odlišné ceny.

Jednotlivé weby lze sdružovat do tzv. Web Hosting plánů. Všechny aplikace v rámci jednoho plánu sdílejí lokalitu a nastavení režimu.

Hromadění více webů do Basic/Standard instance začíná být finančně zajímavé, pokud jich máte 8 a více.

Srovnejte 8 Shared webů:

clip_image002

S jednou Small instancí v režimu Standard:

clip_image004

Takový způsob se hodí třeba pro firmy, které nasazují spousty jednoduchých webů (reklamní agentury), nebo pro všechny, kdo provozují jednoúčelové microsites. Small instance možná vypadá, že není moc silná (1,6 GHz, 1,75 GB RAM), ale vydrží docela dost.

Aktuální ceny a další informace: https://azure.microsoft.com/en-us/pricing/details/web-sites/

Tipy pro větší efektivitu

  • Není nutné vždy volit nejvýkonnější režim (Standard) nebo silnou konfiguraci instancí. Jakmile zvolená konfigurace nebude stačit na zvyšující se zátěž, dá se jednoduše přidat více instancí (škálovat do šířky) nebo upgradovat instance na vyšší výkon.
  • Pro dočasné nebo testovací weby, které nepotřebují škálování nebo vlastní doménu, se hodí režim Free.
  • Neškálujte instance, pokud nemusíte. Díky funkci auto-scale může cloud přidávání výkonu řídit automaticky (navýší kapacitu, kdykoliv je to nutné, a sníží ji, jakmile už není potřeba).

Virtual Machines

K čemu se hodí

Slouží primárně jako výpočetní kapacita pro vývoj, provoz i testování hotových aplikací. Platforma je vhodná především pro hotová komplexní řešení, jejichž převod na PaaS (rozložení do jednotlivých služeb Azure) by byl neefektivní nebo dokonce technicky neproveditelný.

Dá se použít ve všech těchto situacích:

  • Server pro zpracování dat (např. pro online služby v oblasti analýzy nebo konvertování).
  • Vývojářská pracovní stanice (např. pro vývoj na výkonném stroji přes vzdálený přístup).
  • Hostování vlastích SW řešení (např. vlastní databázový server, autentizace, Apache Tomcat).
  • Testování aplikací (díky rychlému vytvoření a spuštění virtuálního stroje s různými operačními systémy).

VM se neomezují pouze na software od Microsoftu a vedle Windows Serveru a klientských Windows podporují i Linux. Licence vybraných operačních systémů jsou součástí předplatného a není nutné je pořizovat zvlášť.

Na co si dát pozor

Virtuální stroje v Azure s sebou nesou jistá omezení:

  • OS disky mají strop 127 GB.
  • Data disky mají strop 1 TB, ale platí se jen za využitou kapacitu (takže je lepší je nastavit na maximum).
  • Pokud se VM vypne přes OS, tak je ve stavu „Shutdown“, ale pořád se účtuje. Je potřeba vypnout přes portál na „Shutdown (Deallocated)“.
  • SLA zaručující dostupnost 99,95 % platí pouze pro dvě a více instancí ve stejném Availability Setu.

Jak se platí

Ceny závisí na několika parametrech:

  • konfigurace VM – A0-A9, liší se počtem jader a velikostí paměti,
  • software – Windows, Linux, Oracle,
  • typ instance – Basic nebo Standard,
  • umístění (region) – každý region má mírně odlišné ceny.

Virtuální stroje se platí po minutách běhu, v ceníku jsou však uvedeny hodinové hodnoty (přepočítávají se). Šikovným vypínáním a zapínáním tak lze výrazně ušetřit.

V přehledu billingu reflektuje graf „Compute hours“ všechna jádra za celkový hodinový čas běhu virtuálního stroje.

clip_image006

Na obrázku je vidět graf spotřeby dvou virtuálních strojů s celkem pěti jádry a non-stop provozem.

Dále se platí za:

  • Objem dat uložených na virtuálním disku každého stroje – počítá se OS disk a jakýkoliv další připojený disk.
  • Oracle VM a software. Nedá se hradit z kreditu (MSDN nebo Free Trial) a je potřeba registrovat platební kartu.

Neplatí se:

  • Zvlášť za licence operačního systému (cena je obsažena v předplatném).
  • Vypnuté a delokované virtuální stroje – je potřeba VM vypnout přes portál (tlačítko „Shutdown“) a ujistit se, že je ve stavu „Stopped (Deallocated)“. Pouze „Stopped“ při vypnutí zvnitřku VM znamená, že výpočetní prostor je stále alokován a tedy i účtován.
  • Temporary disk (D:\), který má každá VM připojený.
  • Nevyužitou kapacitu datových disků (přestože mají nastavenou maximální velikost).

Také je potřeba mít na paměti, že ceny uvedené na webu jsou bez daně.

Aktuální ceny a další informace: https://azure.microsoft.com/en-us/pricing/details/virtual-machines/

Tipy pro větší efektivitu

  • Zbytečně nepřemršťujte konfiguraci virtuálních strojů – není potřeba nechávat na začátku rezervy, dodatečný výkon se dá přidat (i odebrat) kdykoliv přes Azure portál.
  • Vypínejte virtuální stroje, které nepoužíváte. Pokud to uděláte přes portál nebo PowerShell a virtuální mašina bude ve stavu Stopped (Deallocated), neplatí se za ni.
  • Řízení spotřeby jde i automatizovat pomocí služby Azure Automation a PowerShell skriptů (http://gallery.technet.microsoft.com/scriptcenter/).
  • Pamatujte, že s větším počtem jader a paměti roste spotřeba.
  • Rozmyslete, zda se nevyplatí upravit aplikaci a využít kombinace PaaS služeb.

SQL Database

K čemu se hodí

Služba Azure SQL Database poskytuje tradiční SQL databázi s vysokou dostupností, škálovatelností a zabezpečením. Hodí se převážně pro nové aplikace, založené na cloudu, případně pro existující software, který pouze změní datový zdroj.

Základy a jak na to
https://azure.microsoft.com/en-us/documentation/articles/sql-database-dotnet-how-to-use/

Služba odděluje logickou a fyzickou administraci – zákazník má pod kontrolou uživatele, databáze, tabulky apod., ale o disky, servery a úložiště se stará Microsoft.

Alternativou je nasadit plnohodnotný SQL Server do virtuálního stroje (na to je ale potřeba mít patřičnou licenci). Klíčová kritéria pro posouzení, která z variant je vhodná:

  • kompatibilita s krabicovým SQL Serverem (pokud například aplikace využívá některé specifické funkce, které nejsou v cloudu k dispozici),
  • kontrola (Azure SQL Database nenabízí takové možnosti správy),
  • potřeba škálování (ať už v současnosti pro pokrytí špiček, nebo výhledově do budoucnosti).

SQL ve VM

SQL jako služba

migrace existující aplikace nebo hybridní řešení

nové, cloud-based aplikace

platí se výpočetní výkon

platí se za velikost databáze

plná kontrola nad OS

žádná kontrola nad OS

ruční správa a aktualizace

automatické aktualizace

vertikální škálování

horizontální škálování

Existuje několik možností, jak migrovat existující databáze ze SQL Serveru do Azure SQL Database. Shrnuje je tento článek v dokumentaci: https://msdn.microsoft.com/library/azure/ee730904.aspx

Na co si dát pozor

Je třeba mít na paměti, že přestože základem cloudové databáze je SQL Server a podporuje většinu jeho funkcí, jedná se o mírně odlišnou verzi, která má svá omezení:

  • V současné době podporuje pouze SQL Authentication (nikoliv Windows Authentication).
  • USE nepřepíná mezi databázemi, je potřeba se připojit přímo.
  • Nepodporuje distribuované transakce (XA).
  • Limit počtu databází pro každý server je 150 včetně databáze master (tzn. že v rámci jednoho serveru je možné vytvořit 149 databází).
  • Škálovat do šířky (scale-out) nelze prostým přidáním instancí jako u ostatních služeb, ale je potřeba použít jiné způsoby.
  • Nepodporuje některé T-SQL příkazy:

Omezení Azure SQL Database: https://msdn.microsoft.com/en-us/library/azure/ee336245.aspx

Jak se platí

Platí se za velikost databáze v GB (zaokrouhleno nahoru) a dny provozu (zaokrouhleno na celý den).

Pokud například vytvoříte databázi, která bude velká 1,4 GB a ve stejný den ji zrušíte, zaplatíte částku odpovídající 2 GB a jednomu dni.

Dále se platí za:

  • Objem přenesených dat z databáze k uživateli aplikace. Přenosy opačným směrem účtovány nejsou.
  • Interní přenosy dat mezi datacentry. Pokud například webová aplikace sídlí v US regionu a využívá SQL databázi v Evropě, účtují se datové přenosy podle standardního ceníku.
  • Export databáze – funkce Export vytvoří dočasnou kopii databáze (best-practice pro zachování konzistence) a tu teprve vrátí jako soubor BACPAC. A protože jsou databáze účtovány po dnech, je dočasná DB v daném dni naúčtována.

Aktuální ceny a další informace: https://azure.microsoft.com/en-us/pricing/details/sql-database/

Jak sledovat a řídit spotřebu?

Platba podle aktuální spotřeby je specifikum cloudu, které může působit komplexněji, než ve skutečnosti je. Azure má v sobě zabudované mechanismy, jak spotřebu sledovat a řídit.

Aktuální přehled

Na aktuální přehled spotřeby se můžete podívat kdykoliv. Kromě počtů jednotek a množství peněz tu najdete i odhad, zda zbývající kredit vydrží do konce zúčtovacího období.

clip_image008

Preferujete-li přesná čísla a Excel, stačí v pravém panelu kliknout na „Download usage details“ a vybrat období, které vás zajímá:

clip_image010

Kudy tam:

  1. https://account.windowsazure.com
  2. Subscriptions
  3. zvolit subscription

Spending Limit

Pokud používáte některou z kreditových nabídek (Free Trial, MSDN...), Azure má nastavený limit útraty 0 €. To znamená, že pokud vaše spotřeba v daném měsíci překročí kredit, který máte k dispozici, všechny služby se automaticky deaktivují až do začátku dalšího zúčtovacího období. Předejde se tak nechtěným platbám.

Takhle to vypadá, když si nedáte pozor a rozjedete víc virtuálek, než na kolik máte kredit:

clip_image012

Spending limit lze odebrat, ale potom už není možné ho znovu aktivovat.

Kudy tam:

  1. https://account.windowsazure.com
  2. Subscriptions

Alerts

Zatím v Preview je šikovná služba Alerts, která umožňuje nastavit až pět e-mailových upozornění v případě, že kredit dosáhne stanovené hodnoty nebo účet vyšplhá na stanovenou částku.

clip_image014

Kudy tam:

  1. https://account.windowsazure.com
  2. Subscriptions
  3. zvolit subscription
  4. Alerts

Pro aktivaci je potřeba vybrat Billing Alert Service v Preview Features.


Poznámka: Jistě jste postřehli, že výčet služeb není vyčerpávající. Tento článek jsme se rozhodli povýšit na živoucí organizmus, který se bude průběžně vyvíjet, růst a aktualizovat. Postupně bychom rádi pokryli další součásti Microsoft Azure a přidali více praktických tipů.

Martin