paint-brush
Cum să câștigi 1 milion USD cu AWS într-un ande@gianpicolonna
65,371 lecturi
65,371 lecturi

Cum să câștigi 1 milion USD cu AWS într-un an

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

Prea lung; A citi

Reduceți costurile cloud AWS cu 90%! Aflați 4 pași pentru a optimiza cheltuielile: contestați ipotezele, reglați resursele, utilizați instanțele Graviton și monitorizați utilizarea.

Company Mentioned

Mention Thumbnail
featured image - Cum să câștigi 1 milion USD cu AWS într-un an
Gianpi Colonna HackerNoon profile picture
0-item
1-item


Dacă ai dat peste această pagină crezând că te vei îmbogăți cu o schemă de îmbogățire rapidă, îmi pare rău că te dezamăgesc. Acest articol va vorbi mai degrabă despre cum să scadă facturile cu costurile cloud cu 1 milion USD. Făcând asta, veți fi generat, în esență, un milion de dolari în plus în venituri - pe care îi puteți cheltui cumpărând cursul meu online despre cum să vă îmbogățiți cu AWS ( link la curs aici ).



Costul cloud este adesea trecut cu vederea și nesocotit la începutul proiectelor companiilor. Sondajul HashiCorp din 2021 a constatat că aproape 40% dintre companii au cheltuit excesiv pentru costurile cloud în 2021 [ 1 ]. În 2023, aproape toate companiile (94%) au recunoscut că iroseau bani pe cloud [ 1 ] și că cel puțin 30% din costul cloud a fost irosit [ 2 ]. Cheltuielile pentru cloud au fost de aproape 500 de miliarde de dolari în 2022 - prin urmare vorbim de 150 de miliarde de dolari irosite pe an!!


Nu numai că aceasta este o preocupare privind veniturile ratate, ci și practicile slabe de durabilitate. 150 de miliarde de dolari de energie risipită!


Aceste constatări implică întreprinderi mari, precum și pe cele mai mici, de la maturitate înaltă la cloud până la maturitate scăzută. Se referă la AWS, dar aceleași principii pot fi aplicate oricărui alt furnizor de cloud. Deci, dacă vreo parte a jobului tău se află în cloud, atunci acest articol este pentru tine.


Vorbesc dintr-o perspectivă de inginer de date, dar aceleași învățăminte pot fi aplicate și altor practici de inginerie software.

Să ne scufundăm.


Ce este nevoie pentru a cheltui un milion de dolari în costuri cloud într-un an?

Acest tip de factură în cloud este de obicei limitată la întreprinderile foarte mari care operează la nivel global cu milioane de clienți.


Pentru a vă face o idee, o factură cloud de 1 milion USD poate rezulta dintr-o lucrare Spark ETL care procesează ~1,5 Tb pe oră 24 de ore pe zi, 7 zile pe zi, timp de 365 de zile pe an. Un alt exemplu ar putea fi o aplicație care primește miliarde de solicitări pe zi din mai multe locații din lume.


Într-o întreprindere mare, există sute de aplicații de această dimensiune – rezultând contracte de miliarde de dolari cu furnizorii de cloud. De exemplu, Airbnb și-a luat angajamentul de a cheltui 1,2 miliarde de dolari pe resurse cloud pe parcursul a cinci ani la sfârșitul anului 2019 [3 ].


La Expedia am redus costurile pentru un ETL de procesare a datelor care costă 1,1 milioane de dolari pe an la doar 100.000 de dolari pe an, prin implementarea practicilor de optimizare. Aceasta este o reducere a costurilor cu 91%!!


Nu toate companiile au aplicații de o dimensiune atât de mare, dar imaginați-vă că vă reduceți costul cloud cu 90% doar pentru o singură aplicație sau pentru întreaga companie.



Cum începem să economisim?

PASUL 1: Provocați-vă ipotezele de proiectare

Mergeți și obțineți o listă cu cele mai scumpe aplicații ale dvs. și contestați-vă ipotezele de proiectare .

  • Creați o aplicație care are o disponibilitate de 99,999% și o latență de sub milisecunde, dar, în mod realist, utilizatorii ar fi suficient de buni cu o disponibilitate de 99% și o latență de sute de milisecunde?
  • Creați seturi de date cu miliarde de rânduri, dar utilizatorii ar folosi doar agregarea unora dintre măsuri?
  • Aterizați date în timp real, dar datele sunt analizate doar o dată pe zi?
  • Reîmprospătați memoria cache la fiecare 10 secunde, dar se schimbă cu adevărat de-a lungul zilelor?


Toate aceste întrebări revin la cea mai importantă întrebare: cum va fi folosită aplicația? Care este valoarea afacerii ca să existe? Cum ne ajută aplicația să atingem un anumit obiectiv?


Desigur, toate aceste răspunsuri sunt foarte adesea neclare la începutul unui proiect; dar de aceea proiectarea ar trebui să fie întotdeauna un proces iterativ - permițând schimbărilor să se producă cât mai ușor posibil. Inginerii ar trebui să accepte evoluția și schimbarea, aliniind dezvoltarea aplicațiilor cu impactul.


PASUL 2: Reglați-vă resursele de infrastructură la nevoile dvs

Al doilea pas constă în furnizarea aplicației cu resursele potrivite și reglarea acesteia la infrastructura potrivită.


În calitate de inginer, fiți conștient de modul în care sunt calculate costurile cloud. De exemplu, AWS oferă instanțe spot, în care puteți licita pentru prețul clusterului - acest lucru este deosebit de util dacă aveți aplicații flexibile și tolerante la erori. Folosiți-le dacă puteți — AWS pretinde o reducere de până la 90% a costurilor [ 4 ].


Alte considerații pe care ați dori să le abordați sunt:

  • Deserviți clienți la nivel global sau doar într-o zonă geografică? Chiar aveți nevoie de infrastructura dvs. pentru a trăi pe tot globul sau o puteți configura mai aproape de baza dvs. de clienți?
  • Supraprovizionați instanțele dvs. de cluster? Încercați să vă asigurați că există suficientă capacitate pentru a face față sarcinilor de vârf fără costuri inutile. Utilizați scalarea automată pentru a ajusta dinamic resursele în funcție de cererea reală, prevenind plata în exces pentru resursele inactive.
  • Dacă lucrați cu date și Spark, asigurați-vă că înțelegeți conceptele și reglajul Spark! Dacă nu, aruncați o privire la următoarele resurse [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ].

PASUL 3: Utilizați instanțe AWS Graviton

Există puține sau deloc dezavantaje în utilizarea instanțelor AWS Graviton. AWS a investit enorm în crearea celor mai rentabile procesoare. Puteți obține o reducere de până la 40% a cheltuielilor pentru cloud doar trecând de la un procesor bazat pe intel la un procesor bazat pe ARM [ 10 ].


Singura avertizare la acest lucru este că aplicația dvs. trebuie să fie compatibilă cu procesoarele bazate pe ARM pe care rulează Graviton. Dacă aveți de-a face cu un serviciu gestionat, cum ar fi RDS sau OpenSearch, atunci nu există nicio complicație în schimbare - AWS se ocupă de sistemul de operare și compatibilitatea aplicațiilor de bază. Dacă vă construiți propria aplicație, atunci ar putea fi necesar să recompilați pachetul în funcție de limba pe care o utilizați — Java și alte limbi nu necesită modificare, în timp ce Python necesită o anumită atenție.


PASUL 4: Monitorizați-vă cheltuielile și educați-vă cu privire la conștientizarea costurilor

În cele din urmă, nu uitați să vă monitorizați în continuare costurile pentru vârfuri și surprize neașteptate. Costul din ziua 0 a aplicației dvs. va fi diferit de costul din ziua 170. Asigurați-vă că țineți evidența modificărilor și că înțelegeți de ce se întâmplă schimbarea: stivuiește costurile de stocare s3 sau este doar o singură dată vârf?


Configurați alertele și ghidurile operaționale necesare !


Este important să implementați etichete de alocare a costurilor pentru a urmări cheltuielile în funcție de departament, proiect sau mediu. Evitați riscul de a crea o mlaștină de date unde costul nu este de urmărit sau necesită o călătorie lungă prin diferite sisteme de jurnal. Ar trebui să fie rapid și simplu să reveniți la orice cost de aplicație dat.


Gânduri finale

Oriunde lucrați, este dificil să echilibrați livrarea de noi funcții cu optimizarea celor actuale. Cine nu a fost presat să ofere noi funcții ciudate la viteza luminii.


Cu toate acestea, este esențial atât pentru ingineri, cât și pentru manageri să ia decizii deliberate și proactive cu privire la proiectele lor curente, gestionând riscurile și oportunitățile în mod eficient.