1 Novembre 2022

Uso ed abuso di Amazon AWS.

Scopriamo insieme perchè sedicenti devops e Full stack developer stanno facendo male il loro lavoro proponendo AWS laddove non serve.

Print Friendly, PDF & Email

Circa 4 volte a settimana veniamo contatti in merito a consulenze su Amazon AWS. Di queste richieste, circa la metà provengono da aziende che vorrebbero migrare i loro servizi su Amazon AWS, e circa la metà di aziende che vorrebbero arginare i costi di Amazon AWS, eventualmente anche migrando altrove.

E’ piuttosto lapalissiano dunque, come ci siano due trend che si assomigliano laddove, coloro che vorrebbero migrare su AWS non ne hanno mai sentito parlare prima e pertanto cercano aiuto esterno, laddove il secondo gruppo che vorrebbe avere costi più sostenibili sono invece realtà che sono al primo o secondo anno di utilizzo di Amazon AWS.

Molto spesso capita che il servizio venga messa online dal personale tecnico che segue il progetto, e che l’azienda proprietaria si fidi ciecamente delle scelte adottate dal reparto IT, facendo quello che siamo abituati a fare ogni giorno della nostra vita : delegare.

Quando si delega, di fatto, come primo requisito c’è quello della FIDUCIA. Se non c’è fiducia non si può sicuramente delegare. Tuttavia in un campo vasto, complesso ed in continua evoluzione come l’Information Technology la fiducia umana nelle persone, non sempre corrisponde alla competenza in possesso a colui che andrà a svolgere il lavoro.

La fattura di Amazon AWS molto costosa.

Capita dunque, che andando a controllare i bilanci, magari in un momento di contrazione dei consumi, si vada a rivalutare i costi di quel fornitore che fino al mese prima finiva in contabilità e messo in pagamento puntuale senza farsi troppe domande.

10 mila dollari al mese per tenere online un sito e-commerce di cosmetica?

Sarà stata più o meno questo l’interrogativo che si è posto la nuova figura incaricata al marketing (badate bene, non l’amministrazione, il CEO, il reparto IT, o i vertici) ma bensì il Marketing, quando dovendo “recuperare” budget per campagne di advertising e pubblicità online, è andato a controllare i costi trovando quanto meno curioso se non sospetto questa fatturina qui sotto.

Ovviamente come prassi, celiamo per correttezza e segreto professionale l’identità del committente, ma vogliamo condividere con voi alcune considerazioni in merito ad un caso che potremmo definire comune, più che specifico, considerando la somiglianza in moltissimi altri casi.

Fattura <a href=Amazon AWS molto costosa" width="1024" height="585" srcset="https://managedserver.it/wp-content/uploads/2022/11/Fattura-Amazon-AWS-molto-costosa-2-1024x585.jpg 1024w, https://managedserver.it/wp-content/uploads/2022/11/Fattura-Amazon-AWS-molto-costosa-2-300x171.jpg 300w, https://managedserver.it/wp-content/uploads/2022/11/Fattura-Amazon-AWS-molto-costosa-2-768x439.jpg 768w, https://managedserver.it/wp-content/uploads/2022/11/Fattura-Amazon-AWS-molto-costosa-2.jpg 1421w" sizes="(max-width: 1024px) 100vw, 1024px" />

Parliamo di una fattura di oltre 10 mila dollari, che al cambio di allora (un anno fa) corrispondeva a circa 9 mila euro, oggi, con un cambio euro dollaro svantaggioso, il costo da corrispondere sarebbe di circa 1200 euro in più arrivando circa sui 10 mila e 200 euro, il tutto per far girare un e-commerce di cosmetica scritto in PHP e MySQL che fa circa 150 mila visitatori al mese, e circa 600 mila pagine viste.

Si potrebbe soprassedere dicendo che si sa, Amazon AWS costa molto ed in fondo sia normale che abbia costi nell’ordine di decine di migliaia di euro.

Tuttavia la fattura, è composta da voci che se esaminate attentamente ci permette di comprendere delle anomalie vere e proprio che ci consentirebbero di risparmiare almeno il 60% della spesa semplicemente sostituendo un servizio con un altro.

Oltre 7000 dollari al mese per far girare MySQL su Amazon Aurora

Amazon Aurora è un servizio di database relazionale sviluppato e offerto da Amazon Web Services a partire da ottobre 2014. Aurora è disponibile come parte di Amazon Relational Database Service (RDS).

Amazon ha progettato Aurora per essere compatibile con MySQL, il che significa che è possibile utilizzare strumenti per eseguire query o gestire i database MySQL (come il client della riga di comando mysql e l’ interfaccia utente grafica di MySQL Workbench ). A partire da dicembre 2021, Amazon Aurora è compatibile con MySQL 5.6, 5.7 e 8.0.  Supporta InnoDB come motore di archiviazione.

Sembrerà assurdo, ma quando abbiamo esaminato la fattura non volevamo credere ai nostri occhi. Oltre il 70% dei costi era da attribuire al servizio DBMS AWS Aurora MySQL.

 

AWS Aurora MySQL costo

La fattura parla chiarissimo, 7 mila e 68 dollari per far girare un’istanza DB.R5.4xLARGE per Aurora MySQL. 

Cos’è un’istanza DB.R5.4xLARGE e da cosa è composta a livello hardware ? Ve lo siete mai chiesti ? Se lo sono mai chiesti ? Ce lo dice direttamente Amazon AWS nel loro sito web :

https://aws.amazon.com/it/rds/instance-types/ 

AWS DB.R5.4xLARGE

Parliamo dunque di un’istanza 8core / 16 thread con 128GB di RAM.

Processori Intel Xeon® Platinum serie 8000 fino a 3,1 GHz (Skylake 8175M or Cascade Lake 8259CL) con il nuovo set di istruzioni per le estensioni Intel Advanced Vector (AVX-512)

La plausibile alternativa ad Amazon AWS.

Qualcosa di simile poteva essere sostituito tranquillamene da un Server fisico dedicato su cui far girare Percona Server o Maria DB con supporto dedicato.

Se prendiamo ad esempio la seguente configurazione, ci troviamo di fronte ad esattamente il doppio dei core fisici (ed ovviamente dei thread) con un ciclo di clock da 5Ghz contro i 3 dell’istanza su Amazon AWS.

Alternative ad <a href=Amazon AWS" width="1024" height="474" srcset="https://managedserver.it/wp-content/uploads/2022/11/Alternative-ad-Amazon-AWS-1024x474.png 1024w, https://managedserver.it/wp-content/uploads/2022/11/Alternative-ad-Amazon-AWS-300x139.png 300w, https://managedserver.it/wp-content/uploads/2022/11/Alternative-ad-Amazon-AWS-768x356.png 768w, https://managedserver.it/wp-content/uploads/2022/11/Alternative-ad-Amazon-AWS.png 1164w" sizes="(max-width: 1024px) 100vw, 1024px" />

 

Ha senso spendere 7000 euro, invece di 185 (immaginiamo anche fosse 500 euro di assistenza sistemistica, arrotondare a 1000 per varie ed eventuali) ? Nella peggiore delle ipotesi ha senso spendere 7000 euro invece di 1000 ?

Se la risposta è si, bisognerebbe vedere i vantaggi. Andiamo ad esaminare le obiezioni più comuni a chi dice che AWS Aurora MySQL è sempre la migliore scelta.

Amazon non va mai offline ed ha uptime del 100%.

Affermazione priva di fondamento e riscontro oggettivo. Basti cercare Amazon AWS Uptime, o Amazon AWS Down sui motori di ricerca per visionare diversi incidenti anche gravi che hanno portato online intere porzioni di rete o servizi, spesso per errori di tipo umano.

Certamente una problematica che può riguardare tutti, e non esente da comprensione e scusanti, tuttavia se si è disposti a pagare 7000 euro invece di 185, il valore aggiunto deve essere tangibile, ed il downtime non è tra le opzioni concesse, ammesse o tollerabili.

Amazon AWS Aurora MySQL è più veloce di MySQL, di Percona Server o di MariaDB.

Questa affermazione è un’affermazione molto generica che va presa necessariamente con le pinze. In primis perchè bisogna capire a quale periodo risale, nel 2015 ad esempio era sicuramente vero ed inopinabile che Aurora MySQL fosse la migliore scelta in termini di performance, ad oggi invece ci sono benchmark ed analisi anche pubbliche che mostrano e dimostrano che questo GAP che si credeva inarrivabile, sia stato ampiamente colmato sia da MySQL, che da Percona Server che da MariaDB.

Ad esempio le conclusioni tratte da SQLPipe nella comparazione tra i vari fork di MySQL affermano che :

MySQL: 16.855 ordini elaborati al minuto, 50.945 transazioni al minuto

MariaDB: 23.347 ordini elaborati al minuto, 76.866 transazioni al minuto

Aurora: 15.781 ordini elaborati al minuto, 47.517 transazioni al minuto

HammerDB ha riportato per noi due cifre centrali: il numero di ordini che il nostro sistema OLTP è stato in grado di elaborare al minuto, nonché il numero di transazioni di database necessarie per arrivarci.

Se prevedi di eseguire un’istanza RDS con 4 GB di RAM e il tuo carico di lavoro è simile a quello eseguito da questo benchmark, MariaDB è la scelta migliore. Ha elaborato il 38% in più di ordini rispetto a MySQL e il 48% in più rispetto ad Aurora.

Ho trovato questo risultato sorprendente! Pensavo che Aurora sarebbe risultata al top in termini di prestazioni, ma era più o meno alla pari con MySQL per questo carico di lavoro specifico. La mancanza di un vantaggio in termini di prestazioni è particolarmente evidente se si considera il costo.

A cosa è dovuta dunque la popolarità di AWS se non ci sono sempre reali vantaggi in termini di performance e di costi ?

Gran parte della fama di Amazon AWS è data dai meritati risultati ottenuti dalla loro infrastruttura hardware e software che a fronte di una capillarizzazione mondiale, è stata in grado di rispondere alle esigenze sempre più stringenti di player come Spotify, Netflix e realtà di questo calibro della TOP 500 Fortune che hanno visto nei servizi di Amazon AWS la loro unica alternativa per tenere in piedi servizi che avrebbero richiesto di “reinventare la ruota” a costi molto maggiori che affittarne una già pronta.

Potenza di calcolo distribuita e hyperscaling da centinaia di migliaia di istanza a decine di milioni di istanza in pochi secondi, sono caratteristiche e prerogative possibili solo per Amazon e pochi player del loro calibro come Microsoft Azure o Google Cloud.

Passare da centinaia di Gigabit di banda a centinaia di Terabit senza dover fare un upgrade delle istanze, è un altro valore aggiunto senza eguali, possibile solo su realtà di questo calibro e caratura.

Appare dunque corretto e verosimile utilizzare un servizio di fascia enterprise, a prescindere dalle reali esigenze, soprattutto laddove l’acquirente sia un Amministratore Delegato che poco ha a che fare con materie sistemistiche o di sviluppo, e vuol fare la scelta del mercato anche in ottica di salvaguardia e tutela delle proprie scelte.

E’ facile insomma manlevarsi da ipotetiche responsabilità personali, scegliendo quello che è de facto il top player sul mercato, e non essere imputabili di errori, o cattive valutazioni a fronte di un down, semplicemente affermando di aver fatto la scelta del mercato, frase questa, che fino ad una decina di anni fa veniva riassunta in :

Nessuno è mai stato licenziato per aver comprato Microsoft.

Nel mondo IT reale delle piccole e medie realtà.

Quando vediamo situazioni come quelle sopra, in cui per far girare un e-commerce realizzato in PHP / MySQL / Javascript, si ricorre ad Amazon AWS con costi come quelli sopra elencati, vien da chiederci se effettivamente oggi nel mondo IT ci sia consapevolezza e cognizione di causa in quello che si sta facendo.

Un po’ come andare a cena al ristorante in compagnia di una dolce fanciulla, e non essendo esperto di vini si lascia carta bianca al cameriere di proporre un vino adeguato e in abbinamento con i piatti ordinati.

Immaginate di veder arrivare il conto, e trovate un conto di 5000 euro, di cui 4600 per un vino Sassicaia del 1985.

Capite facilmente che qualcosa non va, che non si può proporre un servizio d’eccellenza dove non ci sono reali benefici nell’utilizzo se non dei costi spropositati senza nessun valore aggiunto. Se quello che faccio con un server dedicato da 200 euro, lo faccio addirittura meglio che con Amazon Aurora DB, per quale motivo devo spendere cifre folli su AWS ?

I motivi non esistono, ed è la spinta principale per cui una volta analizzati i costi si arriva a chiedere aiuto per risolvere dei problemi che potevano essere risolti brillantemente altrove, con tecnologie simili ma diverse.

Di chi sono le responsabilità di questo trend crescente ?

Non esiste una risposta univoca perchè non esistono casi unici. Ogni caso è un caso a se, così come ogni azienda è un’azienda a se. Tuttavia siamo del parere che il potere decisionale in ambito tecnologico non debba essere delegato ad un’unica figura e ad un unico parere, ma bensì valutato serenamente e senza conflitti di interesse tra più figure tecniche, tenendo a mente sia la parte inerente la qualità del servizio che ovviamente anche la parte economica.

La dirigenza deve ovviamente tener conto di questa situazione ed essere in grado di valutare quello che è il risultato finale delle soluzioni consigliate dal consulente di turno, comprendendo se effettivamente i costi sono in linea con il budget per l’infrastruttura IT ed esso sia sostenibile sul lungo termine.

DevOps e Full Stack Developer improvvisati.

Vediamo costantemente, ogni giorno valide figure under 30, cimentarsi in innumerevoli task e competenze. Frontend, Backend, PHP, Node.js, MongoDB, MySQL, davvero una miriade di skills e competenze che lasciano intuire che non sia possibile conoscere perfettamente tutto.

Figli di un momento storico, in cui terminologie come SaaS, PaaS, sono ormai all’ordine del giorno, rispetto a quella precedente in cui si andava a sviluppare in C, ed allestire localmente server e web server col fine di servire applicazioni e servizi.

In un mondo in cui il modus operandi, diventa : “compra una soluzione già pronta, che tanto poi la paga il cliente finale committente“, è altrettanto normale vedere servizi fatturati a peso d’oro e “Ferrari da F1 comprate come auto per chi ha esigenza di andare a fare la spesa”.

Purtroppo manca cultura e mancano i sistemisti veri, puri, di quelli che utilizzano sistemi Cloud di fascia Enterprise se e solo se lo reputano conveniente rispetto a soluzioni in house, o ibride.

Non ci si pone più la domanda di quale potrebbe essere l’alternativa ad Amazon AWS dato che Amazon AWS sembra sia ormai il punto di partenza ed il punto di arrivo per questa nuova generazione di “sistemisti”, che fanno (male) un po’ di tutto.

Da parte nostra cerchiamo sempre di fare gli interessi del cliente, mettendo il profitto al secondo posto, e considerandolo mero “effetto collaterale” nonchè conseguenza di fare bene il proprio lavoro, avendo cura sia di sporcarci le mani nella ricerca della via più complessa ma più conveniente per il cliente da percorrere, sia nel dispensare articoli, post, casi di studio come questo nella speranza di riuscire a fare informazione e dimostrare come non sempre la soluzione più adottata sia in realtà quella più conveniente.

Hai dei dubbi? Non sai da dove partire? Contattaci


Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

ManagedServer.it è il principale provider italiano di soluzioni hosting ad alte performance. Il nostro modello di sottoscrizione ha costi contenuti e prevedibili, affinché i clienti possano accedere alle nostre affidabili tecnologie di hosting, server dedicati e cloud. ManagedServer.it offre, inoltre, eccellenti servizi di supporto e consulenza su Hosting dei principali CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Magento.

Torna su