Stavíme základy: Infrastructure as a Service (IaaS)
Prosím VaaS, co je IaaS? Seznamte se s výhodami a úskalími, které přináší Infrastructure as a Service.
Jakub Procházka
Tak jako každou jinou stavbu i pro infrastrukturu firmy musíme dobře založit základy. Ve veřejném cloudu je atraktivní používat pokročilé služby jako umělá inteligence, datové sklady nebo řízené kontejnerové služby. Ale infrastrukturní základy ve většině případů stavíme z těch úplně obyčejných služeb, které nám ovšem umí dobře zamotat hlavu. Zkusím vás toho uchránit.
Více flexibility znamená více zodpovědnosti (a naopak)
V cloudovém prostředí rozlišujeme tři základní druhy služeb, které v něm můžeme čerpat: Infrastruktura jako služba (IaaS), Platforma jako služba (PaaS) a Software jako služba (SaaS). Liší se nejen způsobem spravování a čerpání, ale také úrovní flexibility dle dalších potřeb. Služby PaaS a SaaS si podrobně rozebereme v příštích článcích, pro názornost si prozatím vystačíme se základní představou sdíleného modelu odpovědnosti, tzv. shared responsibility model (o kterém již byl řeč v článku o typech cloudu):
SaaS: Software as a Service
Jak je znázorněno na obrázku, v případě SaaS poskytovatel dodává kompletní softwarové řešení. Odpadá tak jakákoli starost o přiřazený výpočetní výkon, ve kterém je aplikace provozována, včetně případných poruch. Veškerá odpovědnost je delegována na poskytovatele a vám zůstává pouze starost o data, která aplikaci poskytujeme – komu a jak k nim umožníme přistupovat?
Příkladem SaaS služby může být Salesforce nebo Microsoft 365. Ve většině případů jsou SaaS služby účtovány formou pay-as-you-go, tedy podle reálné spotřeby (např. dle počtu uživatelů, GB dat atp.).
PaaS: Platform as a Service
V případě PaaS už naše odpovědnost za službu výrazně roste. Nemluvíme už o finální konzumované aplikaci, nýbrž o službě, která je částečně spravovaná cloud poskytovatelem a částečně klientem. Typicky se jedná například o databáze, kde se staráme o to, jak s databází pracuje naše aplikace, jak k ní přistupovat a zda (a jak) ji konfigurovat.
Konfigurace PaaS služeb může být někdy omezená, protože nemáme plnou kontrolu nad systémem, a někdy ani nad verzí, na které služba běží. Poskytovatel vám v tomto případě provádí základní správu např. databáze – ručí vám za to, že je dostupná, aktualizovaná, a řeší případné problémy systému i platformy.
IaaS: Infrastructure as a Service
No a pak je zde IaaS, nezbytná služba všech poskytovatelů veřejného cloudu. I když se snažím klienty při využívání cloudových služeb vést k progresivnímu přístupu, IaaS je něco, bez čeho se neobejdeme. I přes to, že IaaS představuje základní kámen každé cloudové architektury, před nadměrným využíváním této služby vždy klienty varuji. Proč?
Prosím VaaS, co je IaaS?
Virtuální infrastrukturu jako službu dnes dostanete od drtivé většiny tuzemských „public cloud“ poskytovatelů. Obvykle ale nenabízejí žádné další PaaS nebo SaaS služby. Proto se čím dál častěji i velké a regulované společnosti obracejí na zahraniční poskytovatele, jako jsou Microsoft Azure a Amazon Web Services.
Infrastructure as a Service se nejvíce podobá tomu, co známe z běžného on-premise světa. Proto mají klienti tendenci při adopci cloudu inklinovat právě k této službě, což může vést k častějšímu přesunu existujících technologií (i tvorbě nových!) do cloudu metodou lift and shift. Pokud budete využívat čistě IaaS služby, nevyužijete cloud efektivně a připravíte se o spoustu dalších benefitů, které nabízí.
Jak to většinou bývá, má každá služba své výhody i nevýhody. IaaS s sebou přináší výrazně vyšší flexibilitu a kontrolu nad tím, co vše mohu s danou službou dělat (především ve srovnání s tím, co známe z on-premise virtualizačních prostředí).
IaaS a virtuální servery
Oblíbeným reprezentantem IaaS jsou virtuální servery (VMs), na kterých se dobře demonstruje rozdílný přístup cloudových služeb. Pokud využíváte IaaS VM, máte nad ním plnou kontrolu, můžete na něm instalovat software, jaký budete chtít, a konfigurovat vše dle libosti.
Zároveň se však musím o takové VM i starat a udržovat ho aktualizované. Pokud ho chci mít například vysoce dostupné, budu muset řešit další VM ve smyslu záložních nodů a třeba komponenty jako loadbalancer. V případě nedostupnosti pak padá zodpovědnost za řešení problému na klienta (pokud se tedy nejedná o výpadek/nedostupnost samotné cloudové platformy nebo její části).
Virtuální stroje ve veřejném cloudu mají velkou škálu parametrů, ze kterých mohu volit. Aby nedocházelo k výběru zastaralých nebo cenově nevýhodných instancí pro daný účel, vyplatí se výběr samotné rodiny a typu instance vymezit ve větších firmách katalogem(zohledňující procesorový výkon, velikost paměti, rychlost a velikost diskového prostoru, možnost krátkodobého zvýšení výkonu a další vlastnosti).
Stejně tak je třeba mít kontrolu nad tím, který region a jaký typ vysoké dostupnosti je především při manuální tvorbě vybírán. Doporučujeme, aby nové virtuální stroje byly zařazeny do síťové, bezpečnostní a zálohovací infrastruktury politikami nebo interními procesy.
V neposlední řadě je nutné myslet na monitoring nového virtuálního stroje, a to z pohledu očekáváné dostupnosti, výkonu a také z pohledu monitoringu nákladů (především odchylek od normálního stavu).
Charakteristiky Infrastructure as a Service
Účtování bývá u IaaS většinou formou pay-as-you-go, tj. za spotřebovávané služby (případně u VM je i možnost rezervovaných instancí). Abyste v cloudu neprodělali kalhoty, podíváme se raději na náklady IaaS podrobněji v jednom z příštích článků.
Infrastructure as a Service je konzumována on-demand dle aktuálních požadavků uživatele a je možno ji jakýmkoliv způsobem škálovat (ať už využitím více prostředků, nebo naopak snížením potřebné kapacity).
Dnes je možné formou IaaS využívat i další méně typické zdroje, jako například Content Delivery Networks (CDN), load balancery, firewally či různé druhy storage infrastruktury.
Přístup k vysoké dostupnosti
S virtualizovanou infrastrukturou se pojí výhoda, že o datové centrum a jeho problémy se stará poskytovatel. V ceně služeb tak dostáváme certifikované datacentrum (či více datacenter), jehož součástí bývá i vysoká dostupnost.
Každé cloud prostředí nabízí různé funkce vysoké dostupnosti pro rozdílné typy služeb. Bohužel například ve srovnání s klasickým VMware on-premise řešením existují u jednotlivých cloud providerů i konkrétních služeb značné rozdíly.
Pokud se soustředíme na základní typ infrastrukturních služeb (virtual machines a storage), tak v případě on-premise řešení je tato funkcionalita typicky řešena pomocí VMware HA technologie. Při výpadku fyzického hardwaru tedy dojde k automatickému (a téměř okamžitému) restartu virtuálního serveru na jiném fyzickém serveru.
V případě cloud providerů je ale situace mnohem komplexnější.
Amazon Web Services nabízí celou škálu služeb a řešení pro vysokou dostupnost aplikací a služeb. Z našeho pohledu je nicméně nejkomplikovanější ve srovnání s klasicky vnímanou vysokou dostupností on-premise řešení.
Stejně jako v případě Microsoft Azure je nutné přistupovat k virtuálnímu serveru jako k logickému celku složenému z výpočetní části (EC2 – elastic compute cloud) a ze storage části (EBS – elastic block storage, InstanceStore, EFS – elastic file system). Každá z těchto komponent má jiné vlastnosti a jiné funkce vysoké dostupnosti.
Microsoft Azure z pohledu vysoké dostupnosti více připomíná on-premise řešení postavené na platformě VMware vSphere využívající technologii vSphere HA.
V obecné rovině se dá říct, že v případě výpadku fyzického hardwaru dojde k automatickému restartu virtuálního serveru. Bohužel v porovnání s on-premise řešením může být doba výpadku jednoho VM neporovnatelně delší.
Pokud je nutné zajistit vyšší dostupnost služeb, je možné (stejně jako v případě AWS) využít služeb Azure Load Balancing či Azure Autoscale.
Regiony a zóny
Základním stavebním prvkem vysoké dostupnosti globálních servisních providerů jsou regiony a zóny. U obou klíčových zástupců globálních service providerů (Amazon Web Services a Microsoft Azure) je tato funkcionalita obdobná.
Region je kompletně izolované prostředí, které nesdílí žádnou infrastrukturu s jiným regionem. Jednotlivé regiony jsou propojeny pouze páteřní konektivitou. Regiony slouží jako globální fault-domains (geograficky oddělená a izolovaná datacentra, kdy výpadek jednoho nijak neovlivní druhé) a mají za cíl kompletně oddělit prostředí pro business continuity & disaster recovery řešení.
Mezi regiony obvykle není možné nativně propojit dva virtuální servery interní sítí, nicméně je možné replikovat data mezi regiony. Datová konektivita mezi jednotlivými regiony je typicky zpoplatněna, nicméně v porovnání s internetovou konektivitou je levnější.
Je nutné zmínit, že existence regionu automaticky neznamená podporu konkrétní služby či varianty služby. Rozsah nabízených služeb se může v rámci různých regionů lišit.
Zónou je myšleno konkrétní datové centrum (nebo několik blízkých datových center v jedné lokalitě) v rámci regionu. Každá zóna je plně redundantní a nesdílí s jinou zónou žádné infrastrukturní prvky (chladicí zařízení, diesel-generátory, síťovou infrastrukturu a další).
Zóny jsou mezi sebou propojeny vysokokapacitní sítí s minimální latencí a konektivita v rámci zón nebývá zpoplatněna.
Virtuální servery (či jiné služby) mohou být umístěny v různých zónách v rámci jednotlivého regionu a jsou propojeny interní sítí.
Závěrem
Čerpání IaaS služeb veřejného cloudu je velmi obsáhlou kapitolou kvůli dynamicky se rozvíjející široké paletě služeb. Pokročilá automatizace umožňuje extrémně efektivní nasazování a správu, jichž bychom v jiném prostředí dosahovali jen velmi těžko.
Vřele doporučuji si dobře nastudovat nabídku služeb cloudových providerů a nebát se testovat a pilotovat, pilotovat a testovat! A taky přečíst si další články naší Encyklopedie cloudu.