![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Pokud jste narazili na tuto stránku a mysleli jste si, že zbohatnete na nějakém schématu rychlého zbohatnutí, je mi líto, že vás zklamu. Tento článek bude spíše hovořit o tom, jak snížit náklady na cloud o 1 milion dolarů. Tímto způsobem v podstatě vygenerujete další milion dolarů v příjmech – které můžete utratit nákupem mého online kurzu o tom, jak zbohatnout s AWS ( odkaz na kurz zde ).
Náklady na cloud jsou na začátku projektů společností často přehlíženy a nezohledněny. Průzkum HashiCorp z roku 2021 zjistil, že téměř 40 % společností v roce 2021 přehnalo náklady na cloud [ 1 ]. V roce 2023 téměř všechny společnosti (94 %) připustily, že plýtvají penězi za cloud [ 1 ] a nejméně 30 % nákladů na cloud bylo promarněno [ 2 ]. Výdaje na cloud byly v roce 2022 téměř 500 miliard dolarů – proto mluvíme o 150 miliardách promarněných dolarů ročně!
Nejde jen o obavy z ušlých příjmů, ale také o špatné praktiky udržitelnosti. 150 miliard dolarů vyplýtvané energie!
Tato zjištění zahrnují velké podniky i menší podniky, od vyspělosti s vysokým cloudem po vyspělost s nízkým cloudem. Odkazuje na AWS, ale stejné principy lze aplikovat na jakéhokoli jiného poskytovatele cloudu. Pokud je tedy nějaká část vaší práce v cloudu, pak je tento článek určen právě vám.
Mluvím z pohledu datového inženýra, ale stejné poznatky lze aplikovat na jiné postupy softwarového inženýrství.
Pojďme se ponořit.
Tento druh cloudového účtu je obvykle omezen na velmi velké podniky, které působí globálně s miliony zákazníků.
Pro představu, účet za cloud ve výši 1 milion USD může být výsledkem zpracování úlohy Spark ETL ~1,5 Tb za hodinu 24x7 po 365 dní v roce. Dalším příkladem může být aplikace, která denně přijímá miliardy požadavků z více míst na světě.
Ve velkém podniku existují stovky aplikací této velikosti, což vede k miliardovým kontraktům s cloudovými poskytovateli. Airbnb se například zavázalo utratit 1,2 miliardy dolarů za cloudové zdroje během pěti let na konci roku 2019 [3 ].
Ve společnosti Expedia jsme implementací optimalizačních postupů snížili náklady na zpracování dat ETL stojící 1,1 milionu dolarů ročně na pouhých 100 000 dolarů ročně. To je 91% snížení nákladů!!
Ne všechny společnosti mají aplikace tak obrovské velikosti, ale představte si, že snížíte náklady na cloud o 90 % jen pro jednu aplikaci nebo pro celou vaši společnost.
Jděte a získejte seznam svých nejdražších aplikací a zpochybněte své návrhové předpoklady .
Všechny tyto otázky se vracejí k nejdůležitější otázce: jak se bude aplikace používat? Jaká je obchodní hodnota jeho existence? Jak nám aplikace pomáhá dosáhnout daného cíle?
Všechny tyto odpovědi jsou samozřejmě na začátku projektu velmi často nejasné; ale to je důvod, proč by měl být design vždy iterativní proces – umožňující změny probíhat tak hladce, jak je to jen možné. Inženýři by měli přijmout evoluci a změny a sladit vývoj aplikací s dopadem.
Druhým krokem je poskytnout aplikaci správné zdroje a vyladit ji na správnou infrastrukturu.
Jako inženýr si uvědomte, jak se počítají náklady na cloud. Například AWS poskytuje okamžité instance, kde můžete nabízet cenu za cluster – to je zvláště užitečné, pokud máte odolné a flexibilní aplikace. Použijte je, pokud můžete — AWS tvrdí až 90% snížení nákladů [ 4 ].
Některé další úvahy, které byste mohli chtít řešit, jsou:
Využití instancí AWS Graviton má malé až žádné nevýhody. Společnost AWS investovala značné prostředky do vytváření cenově nejefektivnějších procesorů. Pouhým přechodem z procesoru Intel na procesor založený na ARM můžete dosáhnout až 40% snížení výdajů na cloud [ 10 ].
Jedinou výhradou k tomu je, že vaše aplikace musí být kompatibilní s procesory založenými na ARM, na kterých běží Graviton. Pokud máte co do činění se spravovanou službou, jako je RDS nebo OpenSearch, pak není při přepínání vůbec žádná komplikace – AWS se zabývá základním operačním systémem a kompatibilitou aplikací. Pokud vytváříte vlastní aplikaci, možná budete muset balíček překompilovat v závislosti na jazyce, který používáte – Java a další jazyky nevyžadují žádnou změnu, zatímco Python vyžaduje určitou pozornost.
A konečně, nezapomeňte neustále sledovat své náklady, zda nedochází k neočekávaným špičkám a překvapením. Náklady v den 0 vaší aplikace se budou lišit od nákladů v den 170. Ujistěte se, že sledujete změny a chápete, proč ke změně dochází: jde o nahromadění nákladů na úložiště S3 nebo je to jen jednorázová špice?
Vytvořte si nezbytná upozornění a provozní průvodce !
Důležité je implementovat značky pro rozdělení nákladů, abyste mohli sledovat výdaje podle oddělení, projektu nebo prostředí. Vyhněte se riziku vytvoření datové bažiny, kde jsou náklady nesledovatelné nebo vyžadují dlouhou cestu napříč různými logovacími systémy. Mělo by být rychlé a jednoduché vrátit se k jakékoli dané ceně aplikace.
Ať už pracujete kdekoli, je těžké vyvážit poskytování nových funkcí a optimalizaci těch současných. Na koho nebyl vyvíjen nátlak, aby přinášel nové nepředvídatelné funkce rychlostí světla.
Je však nezbytné, aby jak inženýři, tak manažeři činili uvážená a proaktivní rozhodnutí o svých současných projektech a efektivně řídili rizika a příležitosti.