paint-brush
Jak vydělat 1 milion $ s AWS za jeden rokpodle@gianpicolonna
65,371 čtení
65,371 čtení

Jak vydělat 1 milion $ s AWS za jeden rok

podle Gianpi Colonna5m2024/04/28
Read on Terminal Reader
Read this story w/o Javascript

Příliš dlouho; Číst

Snižte náklady na cloud AWS o 90 %! Naučte se 4 kroky k optimalizaci výdajů: zpochybňujte předpoklady, vylaďte zdroje, používejte instance Graviton a sledujte využití.

Company Mentioned

Mention Thumbnail
featured image - Jak vydělat 1 milion $ s AWS za jeden rok
Gianpi Colonna HackerNoon profile picture
0-item
1-item


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.


Co to znamená utratit 1 milion dolarů za náklady na cloud za rok?

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.



Jak začneme šetřit?

KROK 1: Vyzvěte své předpoklady návrhu

Jděte a získejte seznam svých nejdražších aplikací a zpochybněte své návrhové předpoklady .

  • Vytváříte aplikaci, která má 99,999% dostupnost a submilisekundovou latenci, ale reálně by uživatelům stačila 99% dostupnost a stovky milisekundových latencí?
  • Vytváříte datové sady s miliardami řádků, ale uživatelé by používali pouze agregace některých opatření?
  • Získáváte data v reálném čase, ale data jsou analyzována pouze jednou denně?
  • Obnovujete mezipaměť každých 10 sekund, ale ve skutečnosti se mění jen v průběhu dnů?


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.


KROK 2: Vylaďte své zdroje infrastruktury podle svých potřeb

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:

  • Obsluhujete zákazníky globálně nebo pouze v jedné geografické oblasti? Opravdu potřebujete, aby vaše infrastruktura žila po celém světě, nebo ji můžete nastavit blíže k vaší zákaznické základně?
  • Zařizujete nadměrně své instance clusteru? Pokuste se zajistit dostatečnou kapacitu pro zvládnutí špičkového zatížení bez zbytečných nákladů. Využijte automatické škálování k dynamické úpravě zdrojů na základě skutečné poptávky, čímž se zabrání přeplatkům za nečinné zdroje.
  • Pokud pracujete s daty a Sparkem, ujistěte se, že rozumíte konceptům a ladění Sparku! Pokud ne, podívejte se na následující zdroje [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ].

KROK 3: Použijte instance AWS Graviton

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.


KROK 4: Sledujte své náklady a vzdělávejte se v povědomí o nákladech

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.


Závěrečné myšlenky

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.