Zkroťte náklady v cloudu: předplatné, účtování, služby
Která rozhodnutí mají hlavní vliv na cenu cloudových služeb? I náklady v cloudu můžete obrátit ve svůj prospěch.
Jakub Procházka
Editováno 14. 8. 2023
Ano, je to tak, cloud není zadarmo – tedy až na některé služby, a to v závislosti na typu účtování a na objemu dané služby… Že jsem vám zamotal hlavu hned první větou? Vůbec bych se nedivil. Zkrotit náklady v cloudu je často vědou (v některých případech dokonce alchymií) i pro zkušené profesionály. V dnešním článku vám přiblížím, jak cloudovým nákladům porozumět, jak je uchopit, a obrátit je tak ve svůj prospěch.
Náklady v cloudu: základní teorie
Obecně platné pravidlo pro cloud zní: „Čím větší spotřeba, tím výhodnější cena.“ Tato „úspora z objemu“ vychází z faktu, že při větší spotřebě má poskytovatel cloudu nižší ceny u svých dodavatelů (např. na energii). Tyto slevy pak dopadají také na jeho klienty. I proto může být cena za stejné služby u stejného provozovatele v různých regionech rozdílná.
Než se vrhneme do trendy názvů jako CapEx, OpEx, pay-as-you-go a další, je třeba si uvědomit jednu věc. Vyčíslit náklady v cloudu je oproti on-premise řešení výrazně složitější, neboť zde vstupuje do hry více proměnných. Na ty je třeba se dívat holisticky – udržovat si o nich přehled a mít je kontinuálně pod kontrolou. Jinak mají tendenci jít vlastní cestou – a ta vede, pokud jde o náklady, vždy vzhůru.
CapEx vs. OpEx
Jedním z mnoha důvodu, proč se tolik společností v dnešní době přesouvá do cloudu, je právě snaha ušetřit. Jak toho ale dosáhnout?
U startupů a začínajících firem je to jednoduché. Pokud začínají tzv. na zelené louce, je cloud často jasnou volbou právě proto, že počáteční vstupní náklady jsou minimální.
Tím jsme si právě objasnili, co je to CapEx: investiční náklady (capital expenditures), které musí společnost vynaložit pro nakoupení, údržbu a pravidelnou inovaci (nejen) fyzického majetku. V našem kontextu může jít o pořízení serverů, síťových prvků a dalšího HW, s tím spojených prostor (budova, sál, racky, UPS), ale i o nakoupení SW, licencí apod.
Protože se hmotný majetek časem amortizuje, je po určité době třeba další investice pro udržení standardu. Této nákladné investici se může společnost elegantně vyhnout tím, že bude provozovat infrastrukturu v cloudu, a přesune tak tyto starosti na dodavatele.
V případě již provozovaného vlastního datacentra se společnost pro přesun do cloudu často rozhoduje před koncem životního cyklu části infrastruktury. Bude lepší jít cestou nákupu HW na dalších cca 5 let, nebo přesunout náklady v účetním výkazu o políčko vedle do sekce OpEx?
OpEx jsou provozní náklady (operating expense), někdy též označované jako náklady neinvestiční. Jedná se o výdaje spojené s provozem, účtované typicky na měsíční bázi. Provozem infrastruktury v cloudu společnost velké jednorázové investiční náklady nahrazuje menšími pravidelnými provozními náklady.
Výhody OpExu v cloudu
- Žádné počáteční náklady
- Urychlení a usnadnění rozpočtování
- Plynulejší cashflow a rozložení nákladů v čase
- Odlehčení interním zaměstnancům, kteří se tak mohou věnovat jiné práci (např. transformaci provozního infrastrukturního týmu na devops)
Možnosti předplatného aneb nechci slevu zadarmo
O prvních slevách se rozhoduje už při sjednávání předplatného (subscription), kdy může společnost uzavřít s poskytovatelem dvě základní varianty partnerství. Jejich konkrétní podoba se liší dle cloud providera, ale myšlenka zůstává stejná. Například pro MS Azure rozlišujeme:
- Cloud Solution Provider (CSP) je předplatné sjednané přes partnera. Typicky jde o partnerskou firmu, která pomáhá společnosti s adopcí cloudu nebo se o prostředí jinak stará. Partnerská firma má více podobných klientů a má nasmlouvané nižší ceny, než na které by dosáhla sama společnost. Variantu CSP se zajímavými slevami nabízíme klientům i my v ORBITu.
- Enterprise Agreement (EA) je vhodná především při opravdu velkých objemech a uzavírá se přímo s poskytovatelem – v tomto případě tedy s Microsoftem. Pokud má poskytovatel alespoň vizi potenciálně velké obchodní příležitosti, je ochoten nabídnout společnostem zajímavé slevy na své služby a podporu při adopci cloudu (ať už vlastními silami nebo častěji za pomoci partnera, jakým je i ORBIT).
Výhody plynoucí z CSP i EA se aplikují plošně na celé předplatné (nebo i na více předplatných) bez toho, aby bylo nutné cokoli dále nastavovat nebo měnit. Tyto slevy lze dále kombinovat s jinými. Obdobný princip praktikují i další poskytovatelé jako AWS a GCP.
Předplatné jde samozřejmě sjednat i bez partnerských slev, ale následný přesun pod EA nebo CSP není pouze „na papíře“. V některých případech vyžaduje i přesun prostředků do nového předplatného. Proto doporučuji rozhodnout se pro typ předplatného již na začátku.
Formy účtování: jak se v nich neztratit?
Poskytovatelé veřejných cloudů nabízejí více možností účtování za své služby a není možné jednoznačně říct, která je výhodnější. Záleží na typu provozovaných služeb, ale i na podnikové finanční strategii. V drtivé většině se bavíme o dvou základních formách: pay-as-you-go a rezervované instance.
Pay-as-you-go
V případě pay-as-you-go (payg) platí klient za služby dle reálné spotřeby a využití. V základní podobě sice tato varianta nenabízí žádné slevy, i tak je ale možné díky její flexibilitě ušetřit.
PAYG přináší úspory v těchto případech:
- Automatické škálování – navyšování a snižování prostředků dle potřeby
- Vypínání zdrojů mimo pracovní dobu – např. dev prostředí
- Snižování výkonu a efektivnější utilizace služby
- Testy a krátkodobé projekty
Z logiky věci vyplývá, že varianta pay-as-you-go se hodí i v případě, když zprvu není jasné, kolik bude aplikace spotřebovávat prostředků nebo zda je náchylná na časté provozní špičky (na které je třeba reagovat flexibilně).
PAYG je standardní varianta při vytváření cloudového předplatného (subscription). U některých typů služeb může být dokonce jedinou dostupnou možností, případně se kombinuje s objemovou slevou.
Rezervované instance
Druhou formou, kterou může klient při účtování využít (obvykle u virtuálních serverů), je varianta rezervovaných instancí (RI). Jak už název napovídá, klient se tímto způsobem zavazuje čerpat (většinou) konkrétní typ instance (VM) po dobu tří nebo pěti let.
Poskytovatel aplikuje slevu na tento druh instancí po celou dobu čerpání. Lze tak dosáhnout na zajímavé slevy v řádech desítek procent. RI je dobré kombinovat s PAYG a dalšími slevami, hodí se však pouze pro predikovanou zátěž a dlouhodobé projekty.
I když se klient zavazuje čerpat určité prostředky, například Azure je poměrně benevolentní a umožňuje změnu (do určitého objemu), nebo i zrušení RI bez větších problémů a bez penále. V takovém případě je vhodné detailně zkontrolovat aktuální refund policy poskytovatele.
AWS má ještě relativně novější cenový model zvaný Saving plans, který je flexibilnější než RI a kromě EC2, EKS, ECS ho lze aplikovat i na Fargate.
Saving Plans
Jde o způsob, jak efektivně využít zdroje v Azure cloudovém prostředí a co nejvíce snížit náklady. Tento koncept nabízí AWS i Azure.
Zjednodušeně lze říci, že se zavážete (podobně jako u rezervovaných instancí) na jeden nebo tři roky k určité spotřebě. Nerezervujete si tedy konkrétní instance jako v případě RI, ale spend (útratu). Cokoli nad tuto rezervovanou hranici poté platíte formou pay as you go.
Dev/Test předplatné
Tento speciální druh zlevněného předplatného nabízí Azure pro vývoj a testování. Úspory zde dosahují až desítek procent, především na straně compute a licencí – na datech zde neušetříte nic.
Sluší se rovněž upozornit, že se jedná o předplatné, které je podmíněno Visual Studio licencemi a kvůli absenci jakéhokoli SLA se hodí opravdu pouze pro specifické, a především nekritické účely.
Přenos licencí
Dalším způsobem, jak při přesunu do cloudu šetřit, je přenos existujících licencí. V AWS se nabízí možnost Bring-Your-Own-License (BYOL) pro Windows servery a SQL servery. Azure zase poskytuje tzv. Azure hybrid model, který kromě Windows a SQL serverů podporuje i SUSE a RedHat. To společnostem umožňuje přenést existující Software Assurance licence do cloudu, a snížit tím cenu cloudové služby.
A co toky, máte je spočítané?
Velká alchymie nastává ve chvíli, kdy je třeba odhadovat takové neznámé, jako je datový tok. Naštěstí to je jedna z nejlevnějších položek vůbec.
V cloudu platí, že Ingress, tedy datový tok do cloudu, je většinou zdarma (když neuvažuji přímou linku, VPN apod.). Naopak tok z cloudu, označovaný jako Egress, je již zpoplatněn – a to i v případě interní komunikace mezi datacentry, availability zónami (AZ) apod.
Vždy je třeba nahlédnout do ceníku poskytovatele. Pro představu: Azure má tok mezi zdrojem dat a CDN zdarma, ale komunikace mezi AZ je zpoplatněna částkou 0,009 € za GB.
Pokud máte petabyty dat, asi vás napadne, jak je možné je co nejlevněji a v rozumném čase přesunout do cloudu?
V případě velkých objemů dat, na které nestačí ani dedikovaná linka, cloud poskytovatelé umožňují přenos fyzických disků. Klient odešle disky přímo poskytovateli, nebo si objedná speciální HW s kapacitou od několika TB (Azure Databox, AWS Icebox) po 100 PB, tedy doslova 14metrový kamion k vlastním dveřím (AWS Snowmobile).
Kalkulačka na náklady v cloudu stačit nebude
Jak jsem zmínil na začátku, proměnných při odhadu budoucích nákladů na provoz cloudu může být opravdu hodně. Psát si vše do vlastních excel tabulek by bylo náročné a neefektivní. Jak se tedy dobrat smysluplných čísel?
Všichni velcí cloud poskytovatelé naštěstí nabízejí vlastní pokročilé nástroje k výpočtu, kolik bude klienta cloudový provoz u nich stát. Například u Azure může klient využít rychlý kalkulátor pro okamžitý přehled i o něco pokročilejší TCO kalkulátor (total cost of ownership) pro výpočet celkových nákladů.
Jsme v cloudu, co teď?
I v případě, že si společnost prošla vším doposud zmíněným, není její cesta zdaleka u konce. Pro život v cloudu je zásadní udržovat si přehled nad prostředím, s čímž souvisí kvalitní reporting, vytvoření budgetu a s ním svázaných alertů.
Průběžná optimalizace aneb plaťme jen za to, co potřebujeme
Pro optimalizaci již běžících serverů nabízejí poskytovatelé nativní nástroje ve formě advisorů, kteří klienty upozorní na přebytečný nebo nedostatečný výkon. V obou případech si provideři nechávají více než dostatečnou rezervu a vydaná doporučení jsou považována za velmi konzervativní.
Proto existují i nástroje třetích stran. Některé jsou pouze pokročilé bill readery, jiné, jako např. Densify, využívají vlastní patentovaný machine learning pro nejlepší možná doporučení.
ORBIT je více než 10 let partnerem Densify, který úspěšně provozujeme u několika významných zákazníků. Ze zkušenosti víme, že oproti běžným advisorům či nejlepší vůli interního infrastrukturního týmu jsme s tímto nástrojem schopni dosáhnout v průměru o 20 % vyšších úspor.
Optimalizací prochází nejen virtuální server na úrovni typu a family, ale i platformní služby a především kontejnery. Bez pokročilé inteligence a dlouhodobého měření není možné správnou kombinaci podkladové VM a samotného kontejneru v podu správně spočítat.
Zde bych chtěl zdůraznit, že by se mělo jednat o kontinuální proces, nikoli jednorázový úklid. Na rozdíl od on-premise infrastruktury se veřejný cloud neustále technicky i cenově mění a i při stejném odběru služeb lze vhodnou kombinací služeb platit méně. Také platí, že čím delší měření, tím přesnější výsledky.
Ve finále lze celý proces optimalizace konfigurací automatizovat, například pomocí Terraformu, a nechat o velikosti instance rozhodovat umělou inteligenci.
Čím víc vaše cloudové prostředí roste, tím více bude obtížnější optimalizaci zvládat bez pokročilých nástrojů a technik. Především u větších firem a korporátů dojde v určitém bodě k situaci, kdy budou nevyhnutelně muset řešit jasné odpovědnosti za dané zdroje a jejich řízení… Jinými slovy začnou diskutovat FinOps, kterému se věnujeme v tomto článku.
Prvotní sizing
Stejně jako v on-premise světě i v cloudu dochází při vývoji nebo migraci k nadhodnocování potřebného výkonu – zejména proto, že není jasné, kolik ho bude reálně potřeba. Přesný sizing sami nevymyslíme, je nutné ho změřit. Jinak se vystavujeme nejen riziku zbytečně vyšších nákladů, ale i nedostatečného výkonu.
Poskytovatelé veřejných cloudů k tomu klientům opět nabízejí své nástroje. V případě Azure je to Azure Migrate, který po odpovídající délce měření napoví, které instance jsou vhodné pro pokrytí výkonu. Ekvivalentní službou Amazonu je AWS Application Discovery Service.
Náklady v cloudu – další tipy
Nebylo by výhodnější a snazší přesunout aplikace do PaaS nebo SaaS? To už si musí klient rozhodnout sám. Stejně tak musí zapojit vlastní síly a s aplikačním týmem rozhodnout, zda může pro aplikace použít burstable instance, nebo dokonce spot instance, které jsou výrazně levnější.
Burstable instance jsou vhodné pro nekritický výkon, který je po většinu času minimální, a aplikace potřebují svůj výkon pouze nárazově (proto burst). S burstable je dobré být opatrný, pro testy nebo vývoj se ale může jednat o nejlepší volbu.
Spot instance jsou naopak vhodné pro stateless aplikace nebo jiné služby, u kterých nevadí, pokud o výkon náhle úplně přijdeme. Jedná se o servery, které jsou providery nevyužity, a nabízí je tak za velmi zajímavou cenu. Ve chvíli, kdy je tento výkon ale potřeba jinde, o něj můžete z nenadání přijít.
Podobně lze využít i ephemeral disky – lokální disky (podobně jako temporary disky), které jsou ke každému VM zcela zdarma, poskytují nižší read/write odezvu, a jsou tak ideální pro stateless aplikace.
Závěrem
Téma nákladů v cloudu (a především jejich optimalizace) je široké téma. V tomto článku jsem se dotkl pouze špičky ledovce, když jsem zmínil pouze ta nejzásadnější rozhodnutí a úvahy, s kterými se můžete setkat. Věřím, že nyní vás jen tak něco nezaskočí.
Pokud vás v souvislosti s cloudem zajímají i jiná témata, přečtěte si náš seriál Encyklopedie cloudu – stručný průvodce cloudovým prostředím.