paint-brush
Come guadagnare 1 milione di dollari con AWS in un annodi@gianpicolonna
65,371 letture
65,371 letture

Come guadagnare 1 milione di dollari con AWS in un anno

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

Troppo lungo; Leggere

Riduci del 90% i costi del tuo cloud AWS! Scopri 4 passaggi per ottimizzare la spesa: sfida le ipotesi, ottimizza le risorse, usa le istanze di Graviton e monitora l'utilizzo.

Company Mentioned

Mention Thumbnail
featured image - Come guadagnare 1 milione di dollari con AWS in un anno
Gianpi Colonna HackerNoon profile picture
0-item
1-item


Se ti sei imbattuto in questa pagina pensando di arricchirti con qualche schema per arricchirti in fretta, mi dispiace deluderti. Questo articolo parlerà piuttosto di come ridurre le tue bollette dei costi del cloud di 1 milione di dollari. Facendo ciò, avrai essenzialmente generato un milione di dollari extra di entrate, che puoi spendere acquistando il mio corso online su come arricchirti con AWS ( link al corso qui ).



I costi del cloud sono spesso trascurati e non considerati all'inizio dei progetti delle aziende. Il sondaggio HashiCorp del 2021 ha rilevato che quasi il 40% delle aziende ha speso troppo per i costi del cloud nel 2021 [ 1 ]. Nel 2023, quasi tutte le aziende (94%) hanno ammesso di sprecare denaro sul cloud [ 1 ] e almeno il 30% dei costi del cloud è stato sprecato [ 2 ]. La spesa per il cloud è stata di quasi 500 miliardi di dollari nel 2022, quindi stiamo parlando di 150 miliardi di dollari sprecati all'anno!!


Non si tratta solo di mancati ricavi, ma anche di scarse pratiche di sostenibilità. 150 miliardi di dollari di energia sprecata!


Questi risultati coinvolgono sia le grandi aziende che quelle più piccole, da high-cloud maturity a low-cloud maturity. Si riferisce ad AWS, ma gli stessi principi possono essere applicati a qualsiasi altro provider cloud. Quindi, se una parte del tuo lavoro è nel cloud, allora questo articolo è per te.


Parlo dal punto di vista di un ingegnere dei dati, ma gli stessi insegnamenti possono essere applicati ad altre pratiche di ingegneria del software.

Cominciamo.


Cosa ci vuole per spendere 1 milione di dollari in costi cloud in un anno?

Questo tipo di bolletta cloud è solitamente riservata alle grandi aziende che operano a livello globale con milioni di clienti.


Per darvi un'idea, una fattura cloud da 1 milione di $ può derivare da un processo Spark ETL che elabora circa 1,5 Tb all'ora 24 ore su 24, 7 giorni su 7, 365 giorni all'anno. Un altro esempio potrebbe essere un'applicazione che riceve miliardi di richieste al giorno da più sedi nel mondo.


In una grande azienda, ci sono centinaia di applicazioni di queste dimensioni, che si traducono in contratti da miliardi di dollari con i provider cloud. Ad esempio, Airbnb si era impegnata a spendere 1,2 miliardi di dollari in risorse cloud in cinque anni alla fine del 2019 [3 ].


In Expedia abbiamo ridotto i costi per un ETL di elaborazione dati che costava 1,1 milioni di dollari all'anno a soli 100.000 dollari all'anno implementando pratiche di ottimizzazione. Si tratta di una riduzione dei costi del 91%!!


Non tutte le aziende dispongono di applicazioni di dimensioni così grandi, ma immagina di ridurre i costi del cloud del 90% per una sola applicazione o per l'intera azienda.



Come possiamo iniziare a risparmiare?

FASE 1: Metti alla prova le tue ipotesi di progettazione

Vai a procurarti un elenco delle tue applicazioni più costose e metti in discussione le tue ipotesi di progettazione .

  • Stai sviluppando un'applicazione con una disponibilità del 99,999% e una latenza inferiore al millisecondo, ma realisticamente gli utenti sarebbero soddisfatti anche con una disponibilità del 99% e una latenza di centinaia di millisecondi?
  • Stai creando set di dati con miliardi di righe ma gli utenti utilizzeranno solo aggregazioni di alcune misure?
  • I dati vengono trasmessi in tempo reale, ma analizzati solo una volta al giorno?
  • Aggiorni la cache ogni 10 secondi, ma in realtà cambia solo nel giro di qualche giorno?


Tutte queste domande ci riportano alla domanda più importante: come verrà utilizzata l'applicazione? Qual è il valore aziendale della sua esistenza? In che modo l'applicazione ci aiuta a raggiungere un determinato obiettivo?


Naturalmente, tutte queste risposte sono molto spesso poco chiare all'inizio di un progetto; ma è per questo che la progettazione dovrebbe sempre essere un processo iterativo, consentendo ai cambiamenti di avvenire nel modo più fluido possibile. Gli ingegneri dovrebbero abbracciare l'evoluzione e il cambiamento, allineando lo sviluppo dell'applicazione all'impatto.


FASE 2: Adatta le risorse infrastrutturali alle tue esigenze

Il secondo passaggio consiste nel fornire all'applicazione le risorse giuste e nell'adattarla alla giusta infrastruttura.


Come ingegnere, sii consapevole di come vengono calcolati i costi del cloud. Ad esempio, AWS fornisce istanze spot, dove puoi fare un'offerta per il prezzo del cluster, il che è particolarmente utile se hai applicazioni flessibili e tolleranti ai guasti. Usale se puoi: AWS afferma una riduzione dei costi fino al 90% [ 4 ].


Ecco altre considerazioni che potresti voler prendere in considerazione:

  • Stai servendo clienti a livello globale o solo in un'area geografica? Hai davvero bisogno che la tua infrastruttura viva in tutto il mondo o puoi impostarla più vicino alla tua base di clienti?
  • Stai eseguendo un provisioning eccessivo delle istanze del cluster? Prova a garantire che ci sia abbastanza capacità per gestire i picchi di carico senza costi inutili. Utilizza l'auto-scaling per adattare dinamicamente le risorse in base alla domanda effettiva, impedendo il pagamento eccessivo per le risorse inutilizzate.
  • Se lavori con dati e Spark, assicurati di comprendere i concetti e l'ottimizzazione di Spark! In caso contrario, dai un'occhiata alle seguenti risorse [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ].

FASE 3: utilizzare le istanze AWS Graviton

Ci sono pochi o nessun inconveniente nell'utilizzare le istanze AWS Graviton. AWS ha investito molto nella creazione dei processori più convenienti. Puoi ottenere fino al 40% di riduzione nella spesa cloud semplicemente passando da un processore basato su Intel a un processore basato su ARM [ 10 ].


L'unica avvertenza è che la tua applicazione deve essere compatibile con i processori basati su ARM su cui gira Graviton. Se hai a che fare con un servizio gestito come RDS o OpenSearch, non ci sono complicazioni nel passaggio: AWS si occupa della compatibilità del sistema operativo e dell'applicazione sottostante. Se stai creando la tua applicazione, potresti dover ricompilare il pacchetto a seconda del linguaggio che stai utilizzando: Java e altri linguaggi non richiedono modifiche, mentre Python richiede un po' di attenzione.


FASE 4: Monitora le tue spese e sensibilizza sulla consapevolezza dei costi

Infine, non dimenticare di continuare a monitorare i costi per picchi e sorprese inaspettate. Il costo al giorno 0 della tua applicazione sarà diverso dal costo al giorno 170. Assicurati di tenere traccia delle modifiche e di capire perché si verifica la modifica: si tratta di un accatastamento dei costi di archiviazione s3 o è solo un picco una tantum?


Impostare gli avvisi e le guide operative necessari !


È importante implementare tag di allocazione dei costi per tracciare la spesa per reparto, progetto o ambiente. Evita il rischio di creare una palude di dati in cui il costo non è rintracciabile o richiede un lungo viaggio attraverso diversi sistemi di log. Dovrebbe essere rapido e semplice tornare a qualsiasi costo di applicazione.


Considerazioni finali

Ovunque tu stia lavorando, bilanciare la distribuzione di nuove funzionalità con l'ottimizzazione di quelle attuali è difficile. Chi non è stato pressato a distribuire nuove funzionalità bizzarre alla velocità della luce.


Tuttavia, è essenziale che sia gli ingegneri sia i manager prendano decisioni ponderate e proattive sui loro progetti in corso, gestendo efficacemente rischi e opportunità.