次の方法で共有


Srovnání Windows Azure a hostingu ?

V praxi jsme často s porovnáváním Windows Azure s hostingem. Nejčastěji jde o cenu, tím se zabývá kolega Kačmář v článcích Kolik nám ušetřila migrace MSTV do Azure a Porovnání Windows Azure s Rackspace. Coby člověka, který má rád exaktní přístup k věcem mne irituje, že se zpravidla srovnávají nesrovnatelné věci. Pojďme se tedy na celý problém podívat v trochu větší šíři (neříkám “skutečné šíři”, ta je ještě mnohem širší).

Vrstvy typické aplikace

Pokud si představíme typickou aplikaci, můžeme ji – bez nároku na příliš rigorózní přístup – rozdělit na čtyři základní vrstvy:

image

Pro každou z provozovaných aplikací se pak můžeme rozhodnout, kolik vrstev (počítáno odspodu) si pronajmeme a zbylé vrstvy pak vlastníme nebo vytvoříme sami. Donedávna bylo přirozenou volbou zvolit možnost „On-premise“, tedy vlastnit kompletní řešení a dodavatelům platit za konektivitu a elektřinu. S rozvojem internetu, virtualizace a dalších technologií je dnes paleta možností mnohem širší.

Můžete si pronajmout (zpravidla virtuální) hardware (IaaS, Infrastructure as a Service) – celosvětově největší hráči jsou např. Rackspace, Amazon, GoDaddy.

Můžete si pronajmout též aplikační platformu – operační systém, web server a databázi včetně správy (PaaS, Platform as a Service) – sem patří Windows Azure a SQL Azure.

A konečně můžete si pronajmout kompletní hotový software (SaaS, Software as a Service) – zde nabízíme BPOS, což je kombinace Exchange, SharePoint a online komunikace. Pojďme se teď na tyto volby podívat z různých úhlů pohledu.

Kontrola vs. Komfort

Jedno z velkých dilemat celé volby. Čím níže řez povedete, tím více budete mít věci pod kontrolou. V extrémním případě můžete budovat i vlastní elektrickou síť a konektivitu, což je zde s nadsázkou označeno jako „paranoia“ a je využíváno víceméně pouze v armádních systémech. Více kontroly ale zároveň znamená více odpovědnosti a více práce na vaší straně. Chcete více odpovědnosti a více práce? Samozřejmě záleží na konkrétní situaci.

Více kontroly v žádném případě neznamená vyšší kvalitu. Vlastně mezi těmito dvěma kategoriemi není přímý vztah. Pokud si určitou část koupíte, můžete očekávat standardní, smluvně definovanou kvalitu. Pokud ji chcete vytvářet nebo vlastnit sami, kvalita možná nebude v průměru horší, ale určitě kolísavější a těžko odhadnutelná. Je to jako s nábytkem – sériově vyráběná police nebude žádný zázrak, ale spolehlivě poslouží. Pokud si polici vyrobíte sami, může to být mistrovský kousek anebo pořádný zmetek.

Více komfortu je vykoupeno menší možností volby. Pokud něco děláte sami, můžete si to vytvořit, jak chcete. Pokud zvolíte cestu nákupu, budete se muset vtěsnat do možností produktu, který jste si koupili – výrobce ho kvůli vám nebude měnit (alespoň v krátkém časovém horizontu určitě ne). Na příkladu police – určitě neseženete v obchodě polici 104 cm širokou. Musíte se buď smířit s tím, že na každé straně bude 2 cm mezera anebo se pustit do výroby vlastní police. Stejně tak se vaše požadavky na dodané služby budou muset do určité míry přizpůsobit v IT světě. Čím výše na obrázku provedete řez, tím menší spektrum volby budete mít.

Vlastní práce vs. Platby dodavateli

Druhé důležité hledisko je nákladové. Čím níže povedete řez, tím více se budou náklady projevovat formou vaší investované práce. Čím řez povedete výše, tím více se budou projevovat formou plateb dodavatelům. Otázkou je, který z možných součtů bude na konci nejmenší. Podle ekonomických zákonitostí by to mělo být jednoznačné.

Dodavatelský způsob těží z úspor z rozsahu. Police, které koupíte v obchodě, jsou sériově vyráběny, protože je to tak nejlevnější. Výrobce pořídí základní vybavení a vyrábí rychle jednu polici za druhou. Náklady na vybavení totiž rozloží mezi všechny vyrobené police a díky nabitým zkušenostem může výrobu neustále zefektivňovat a zrychlovat. Pokud nemáte doma truhlářskou dílnu, počítejte s náklady na zakoupení všech potřebných nástrojů a přístrojů, na jejich odzkoušení a naučení se, na nepovedené pokusy, ... V IT světe není důvod, aby věci fungovaly jinak. Jedna tisícina nákladů na správu 1000 serverů musí být výrazně nižší než správa jednoho serveru. Jednoduše proto, že lze podobně jako v továrně přesně vyladit procesy, sdílet nástroje, vybavení, znalosti apod.

Dodavatelský způsob má předvídatelnější náklady. Předem víte, kolik budete platit a co za to dostanete. Pokud budete v budoucnu potřebovat více, víte, za kolik si to budete moci přikoupit. Naproti tomu u varianty vlastní dodávky nikdy nedokážete odhadnout pracnost a náklady. Může to být příjemně málo nebo nečekaně mnoho, to lze předem těžko odhadnout. Opět na příkladu police – výroba může být nečekaně prodražena volbou špatného materiálu, nesprávným nanesením laku a spoustou dalších nečekaných věcí. U police zakoupené v obchodě víte, kolik jste zaplatili a co jste za to dostali.

Od polic zpátky k hostingu

Dost již teoretických úvah, pojďme zpátky ke konkrétním rozdílům. Pro srovnání jsme vytvořili následující tabulku. Úmyslně se nesnažíme náklady vyčíslit, protože jsou velmi závislé na konkrétní situaci. Účelem je spíše upozornit na jejich rozdílnou strukturu:

 

Vlastnost

On-Premise

IaaS (hosting)

PaaS (Azure)

Provozní charakteristiky

Obnova v případě HW selhání

Dlouhá a složitá

Dlouhá a složitá, zejména v případě dedikovaného HW

Automatická a rychlá

Kontrola nad konfigurací systému

Plná

Plná nebo téměř plná

Pouze vybrané aspekty

Monitorování a náprava problémů

Ne, nutno řešit

Ne, nutno řešit

Automaticky

Správa oprav a aktualizace

Ne, nutno řešit

Ne, nutno řešit nebo objednat jako doplňkovou službu

Automaticky

Nasazení nové verze

Složité, nutná odstávka

Složité, nutná odstávka

Automaticky za plného provozu

Testovací prostředí

Nutno vytvořit

Nebývá k dispozici, nutno doobjednat

Součást řešení

Úložiště pro velké objemy dat

Fixní velikost i cena

Fixní velikost i cena

Neomezená velikost, cena lineárně závislá na velikosti uložených dat

Bezpečná integrace s dalšími on-premise aplikacemi

Velmi snadná

Velmi obtížná

Snadná (Azure AppFabric)

Náklady

Počáteční investice – HW

Ano

Ne

Ne

Počáteční investice – SW

Ano

Ne (možnost pronájmu)

Ne

Měsíční náklady – HW a SW

Ne

Dohodnutá pevná částka

Lineárně závislé na spotřebovaných zdrojích

Měsíční náklady – konektivita

Pevná částka za kapacitu linky

Různé varianty (neomezený objem a omezená rychlost, paušál za dohodnutý objem, lineárně podle přeneseného objemu)

Lineárně závislé na objemu přenesených dat

Měsíční náklady - správa

Těžko předvídatelné

Těžko předvídatelné

Ne

Náklady na udržení aktuální verze SW

Možno platit udržovací poplatky

Ne

Ne

Náklady na správu licencí

Ano

Ne

Ne

Elasticita

Možnost snížení kapacity v případě nevyužitých zdrojů

Není reálná

Omezená

Snadné, velmi rychlé, náklady lineárně poklesnou

Možnost zvýšení kapacity v případě rostoucí poptávky

Složité, dlouhý proces, skokové náklady

Omezená

Snadné, velmi rychlé, náklady lineárně vzrostou

Možnost oddělení jednotlivých objednaných služeb (úložiště, výpočetní výkon, databáze apod.)

Ne

Ne

Ano

Závěrem

Tento příspěvek je na moje poměry dost dlouhý. Důvodem je skutečnost, že celá problematika je nadmíru komplexní. Dívat se na věci optikou “co stojí kolik” je nepřípustné zjednodušení. Věc je třeba posuzovat v celé její šíři, kterou jsem se snažil naznačit.

Osobně si myslím, že v jakékoliv dohledné budoucnosti bude vždy prostor pro všechna výše uvedená řešení. Průměrná poloha toho, kde na obrázku “říznu” se zcela jistě bude časem posouvat nahoru. Nechme se překvapit tím, jak rychle či pomalu tento evoluční proces poběží. Ale buďme si jisti, že běh již započal.

Michael

Comments

  • Anonymous
    September 27, 2010
    Chtel bych se optat u RackSpace asi nemate na mysli byvaly Mosso cloud, ze? V tabulce mi jeste chybi par veci napr. cena za vypocetni cas, cena ze prenos dat atd. Mam moznost odmitnou na Windows Azure automaticke aktualizace SW? Pokud ne, tak to je celkem neprijemne, pokud mi nekdo pod rukama zmeni OS a mne muze kvuli tomu prestat fungovat aplikace.....

  • Anonymous
    September 27, 2010
    Vážený pane Bartáčku, Nevím kam přesně otázkou na RackSpace míříte. Jestli na výše uvedenou tabulku srovnávající různé přístupy ke cloud computingu, nebo na mé separátní srovnání (blogs.msdn.com/kaci). Firma RackSpace - www.rackspace.com - dnes nabízí tři služby - cloud servers, cloud sites a Cloud Files, vedle standardního hostingu. V Michaelově tabulce je od RackSpace pro srovnání použita dedikovaných serverů. Použít by se dala i služba s názvem Cloud Server, který je pronajímám více jako IaaS služba. Také se ptáte na cenu jako výpočetní čas nebo přenosy. Ve výše uvedené tabulce jsme se snažili stav pojmout obecným přístupem. U on-premise i standardního IaaS hostingu se povětšinou tyto parametry nesledují. Pokud máte vlastní infrastrukturu konektivitu do firmy/datacentra platíte ale, ne podle přeneseného objemu dat. Obdobně to je u celé řady IaaS poskytovatelů. Stejné platí pro výpočetní čas. Tyto parametry se začínají sledovat až při pronájmu platformy jako služby, tedy např. Windows Azure, nebo RackSpace Cloud Sites. Závěrem ke konfiguraci. Dnes máte dvě volby - buď nechat provádět automatické updaty OS nebo běžet proti zvolené neměnné konfiguraci. To, jaký režim použijete pro svou aplikaci, si sám konfigurujete. Podívejtre se prosím na element ServiceConfiguration na msdn.microsoft.com/.../ee758710.aspx . Dalibor Kačmář

  • Anonymous
    September 28, 2010
    Dekuji za odpovedi. U RackSpace jsem myslel presne jejich Cloud Sites. Ta tabulka mi neprijde tak uplne obecna a ferova. Napr. polozka Testovaci prostredi. U hosteru (aspon u tech serioznich) clovek vi jak je hosting nastaven vcetne typu trustu a aplikaci mohu rovnou na svem pocitaci vyvijet proti danemu nastaveni. U Windows Azure to ale vubec bez toho testovaci prostredi nejde, protoze si na sve infrastrukture nikam Windows Azure nenainstaluji. Tez by bylo dobre dat do tabulky naklady na vyvoj a testovani na Windows Azure a ostatnich. Jak jsem se nekde na vasem blogu docetl, tak testovaci prostredi neni 100% kopie celeho Windows Azure, takze musim stejne pro skutecne otestovani stejne delat na Windows Azure, coz hodne prodluzuje a zdrazuje vyvoj. Mesicni naklady na spravu znamena presne co? Kdyz se podivam na cenik Windows Azure vidim tam nejake castky za compute time atd. Je tim mysleno toto a nebo jeste neco jineho? Napr. Compute time je vec, ktere mi prijde jako velmi tezko odhadnutelna. Dekuji

  • Anonymous
    September 29, 2010
    Mě v tabulce rozhodně chybí kritérium pro bezpečnost a individuální konfiguraci systému, ač ve članku je to částečně zmíněno. Tam by Azure nabyl jednoznačných hodnot NE, NE a nevyzněl by až tak pozitivně

  • Anonymous
    September 29, 2010
    S namitkou na kontrolu souhlasim (i kdyz je to zmineno v textu), pro objektivnost jsem do tabulky pridal radek "Kontrola nad konfigurací systému". Nerozumím námitce o bezpečnosti - pokud tím chcete říct, že v Azure řešení jsou data méně bezpečná než v těch dalších dvou, tak musím hluboce nesouhlasit. V datacentrech není žádná "lidská administrace". Vešekeré úkony se dějí automatizovanými procesy, které mají bezpečnostní certifikace, o kterých si v alternativních řešeních můžete nechat jenom zdát. Michael

  • Anonymous
    September 29, 2010
    Mohl byste prosím k tomu zabezpečení napsat něco víc? Stačí nějaké odkazy. Zkoušel jsem googlit, ale nepodařilo s mi najít vůbec nic. Sám si myslím, že by to mělo být , jak píšete, ale přece jen - vysvětlovat zákazníkům, že jejich data jsou v bezpečí, protože to  "psal Michael na blogu", to jaksi není ono. Díky.

  • Anonymous
    September 30, 2010
    Pro Jiřího Bartáčka: Testovací prostředí: souhlasím s Vámi, že nainstalovat si na lokální počítač kompletní platformu Windows Azure není možné. I přesto se snažíme tuto věc vyřešit formou simulátoru (Dev Fabric). Jsem si vědom toho, že nejde o naprosto identickou kopii Windows Azure. Rozdíly jsou popsány zde: msdn.microsoft.com/.../ee923628.aspx. Když se podíváte na tyto rozdíly, tak zjistíte, že jich ve skutečnosti je malé množství a významně by neměly prodloužit proces testování aplikace. Abych to však vše nemaloval úplně na růžovo (což by se ode mne jako Microsoťáka dalo očekávat :-), tak přidám několik svých postřehů: 1, lokálně plně neotestujete funkci AppFabric. Např. neexistuje lokální implementace Service Bus. Funkci samotných kontraktů, služeb atd. však plně otestovat lze. 2, lokálně nejste schopni simulovat timeouty či jiné časové závislosti, které při reálné provozu zajisté nastanou. V emulátoru vše běží rychle a optimálně. Po té, co se řešení reálně nasadí a do cesty se "připlete" internet, může se ukázat, že na celou řadu situací jsme nemysleli. 3, lokálně nejsme schopni udělat smysluplné load testy Pokud budu chtít otestovat cloud aplikaci po všech stránkách, jejímu nasazení a testování ve skutečném datovém centru se prostě nevyhnu. Otázkou pouze zůstává,což je hodně závislé na konkrétní aplikaci, jaké procento celkového času tyto testy zaberou. Compute time: Compute time je doba, po kterou běží jedna instance serveru, na kterém běží má aplikace. V Azure cloudu mohu libovolně (sám to řídím) přidávat další instance a tak zvyšovat výpočetní výkon. Pokud se např. rozhodnu, že během pracovní doby pojedou 2 instance serveru, zatím co mimo pracovní dobu pouze jedna, jsem schopen zcela exaktně definovat kolik "servero-hodin" jsem za měsíc využil. Právě zde často dochází ke špatnému pochopení pojmu "compute time". V Azure tím nemáme na mysli počet cyklů procesoru nebo podobný parametr, kterým se měří cloud řešení jiných firem. Pak je takový náklad opravdu velice těžce odhadnutelný a navíc extrémně závislý na optimálnosti použitých algoritmů. Pokud vás zajímá problematika determinovatelnosti nákladů ve Windows Azure více, dovoluji si doporučit můj článek blogs.msdn.com/.../lze-predikovat-platby-za-windows-azure-platformu.aspx Dalibor Kačmář

  • Anonymous
    September 30, 2010
    Pro Martina: Problematika zabezpečení je velmi komplexní. Chystám se na toto téma napsat rozsáhlejší post. V mezičase určitě doporučuji prostudovat tento whitepaper  go.microsoft.com. Doporučuji také tento tento "pattern & practice" - azuresecurity.codeplex.com Dalibor Kačmář PS: Také doporučuji občas "Bingovat" místo googlit. Pokud zadáte např. do Bingu "Azure security white paper", první položka je první zmíněný dokument. Pokud zadáte pouze "Azure security" první položka je ten druhý zmíněný odkaz :-)

  • Anonymous
    October 10, 2010
    Děkuji za nasměrování, dost zajímavého se objevilo i v diskusi k Azure akademii.