Quanto spendete per l'infrastruttura? E come potete risparmiare su questo?

Quanto spendete per l'infrastruttura? E come potete risparmiare su questo?

Sicuramente ti sei chiesto quanto costi l'infrastruttura del tuo progetto. È sorprendente: la crescita delle spese non è lineare rispetto ai carichi di lavoro. Molti imprenditori, CTO e sviluppatori intuiscono che stanno pagando oltre. Ma per cosa, esattamente?

Di solito, ridurre i costi significa semplicemente cercare la soluzione più economica, un piano AWS o, nel caso delle infrastrutture fisiche, ottimizzare la configurazione hardware. Inoltre, in effetti, questo è compito di chiunque, come capita: se parliamo di una start-up, probabilmente se ne occupa il lead developer che ha già abbastanza pensieri. Nelle aziende più grandi, se ne occupano CMO/CTO, a volte il CEO stesso e il CFO si intromettono. In generale, sono le persone che già hanno le loro preoccupazioni. Risultato: le fatture per l'infrastruttura aumentano, ma a gestirle sono… coloro che non hanno tempo per farlo.

Se in ufficio bisogna acquistare carta igienica, ci penserà il responsabile o la persona incaricata della società di pulizie. Se si tratta di sviluppo, ci sono i leader e il CTO. Le vendite sono anch'esse chiare. Ma fin dai tempi antichi, quando si chiamava 'server' un armadio che ospitava un comune PC tower con una maggiore quantità di RAM e qualche disco rigido in RAID, tutti (o almeno molti) ignorano il fatto che gli acquisti di capacità dovrebbero essere gestiti anche da una persona specificamente formata.

Purtroppo, la memoria storica e l'esperienza ci dicono che questo compito è stato per decenni trasferito a persone 'casuali': chi era più vicino, si è occupato della questione. Solo di recente, nel mercato ha cominciato a delinearsi e prendere una certa forma la professione del FinOps. Questa è la persona specificamente formata il cui compito è controllare l'acquisto e l'uso delle capacità. E, alla fine, ridurre i costi aziendali in questo ambito.

Non incoraggiamo a rinunciare a soluzioni costose ed efficaci: ogni azienda deve decidere autonomamente ciò di cui ha bisogno per un'esistenza confortevole in termini di hardware e tariffe cloud. Tuttavia, non si può ignorare il fatto che un acquisto impulsivo "sulla lista" senza successivo monitoraggio e analisi dell'utilizzo può tradursi in perdite considerevoli per molte aziende a causa di una gestione inefficace degli "attivi" del proprio backend.

Chi è FinOps

Supponiamo che tu gestisca un'importante azienda, di cui i venditori parlano con entusiasmo definendola "enterprise". Probabilmente, hai acquistato una decina o più server, AWS e altre piccole cose "alla rinfusa". Ed è logico: in una grande azienda ci sono sempre movimenti in corso — alcune squadre crescono, altre si sciolgono, altre ancora si trasferiscono su progetti vicini. Questa combinazione di movimenti, unita al meccanismo di acquisto "sulla lista", porta infine a nuovi capogiri alla vista della bolletta mensile per l'infrastruttura.

Quindi, cosa fare: continuare a sedere pazientemente, cercare di risolvere o capire le cause di questi numerosi orribili zeri nella fattura?

Non nascondiamoci: l'approvazione e il pagamento della richiesta interna per lo stesso piano AWS non sono mai processi rapidi (in realtà, quasi mai). E proprio a causa del costante movimento aziendale, parte di questi acquisti può perdersi in qualche modo. Può semplicemente rimanere inattiva. Se un attento amministratore nota un rack abbandonato nel suo server, nel caso delle tariffe cloud la situazione è molto più triste. Possono rimanere 'fermi' per mesi: pagati, ma in realtà già non necessari nel dipartimento per cui sono stati acquistati. Nel frattempo, i colleghi nell'ufficio accanto iniziano a strapparsi i capelli, non solo dalla testa ma anche da altre parti, perché da settimane non riescono a ottenere il pagamento per un piano AWS simile di cui hanno estremamente bisogno.

Qual è la soluzione più ovvia? Esatto, trasferire le redini a chi ne ha bisogno, e tutti sono soddisfatti. Ma le comunicazioni orizzontali non sono sempre ben gestite. E il secondo dipartimento potrebbe semplicemente non sapere della ricchezza del primo, che in effetti sembra non averne molto bisogno.

Chi è il colpevole? — In realtà, nessuno. È semplicemente così che le cose sono organizzate per ora.
Chi ne soffre? — Tutti, l’intera azienda.
Chi può risolvere la situazione? — Certo, FinOps.

FinOps non è solo un intermediario tra gli sviluppatori e le risorse di cui hanno bisogno, ma una persona o un team che sa dove, cosa e quanto bene "si trova" riguardo alle tariffe cloud acquistate dall'azienda. In effetti, queste persone devono lavorare in sinergia con DevOps da un lato e il dipartimento finanziario dall’altro, svolgendo il ruolo di mediatori efficaci e, cosa più importante, di analisti.

Un po' di ottimizzazione

Cloud. Relativamente economico e molto conveniente. Ma questa soluzione smette di essere economica quando il numero dei server diventa a due o tre cifre. Inoltre, il cloud offre la possibilità di utilizzare sempre più servizi precedentemente non disponibili: ci sono database come servizio (Amazon AWS, Azure Database), applicazioni serverless (AWS Lambda, Azure Functions) e molti altri. Sono tutti fantastici perché facili da usare: acquisti e parti, nessun problema. Tuttavia, più un'azienda e i suoi progetti si immergono nel cloud, peggio dorme il direttore finanziario. E più velocemente imbianca il CEO.

Il fatto è che le fatture per vari servizi cloud sono sempre estremamente confuse: per una voce potresti ricevere una descrizione di tre pagine che spiega dove, come e per cosa sono andati i tuoi soldi. Certo, è piacevole, ma capire il tutto è praticamente impossibile. Inoltre, la nostra opinione su questo argomento non è affatto unica: esistono interi servizi per tradurre le fatture cloud in un linguaggio comprensibile, ad esempio www.cloudyn.com o www.cloudability.com. Se qualcuno si è preso la briga di creare un servizio separato per decifrare le fatture, allora il problema ha superato il costo della tintura per capelli.

Quindi, cosa fa in questa situazione FinOps:

  • comprende chiaramente quando e in quali quantità sono stati acquisiti i servizi cloud.
  • sa come vengono utilizzate queste risorse.
  • le ridistribuisce, a seconda delle esigenze dei vari reparti.
  • non acquista solo per avere.
  • e alla fine – risparmia il vostro denaro.

Un ottimo esempio è l'archiviazione cloud di una copia fredda del DB. Per esempio, la archiviate per ridurre lo spazio e il traffico utilizzati durante l'aggiornamento dello storage? Sì, sembrerebbe una situazione di poco conto - in un singolo caso specifico, ma la somma di queste situazioni apparentemente insignificanti porta poi a spese enormi per i servizi cloud.

Oppure un'altra situazione: hai acquistato capacità su AWS o Azure come riserva per non essere sopraffatto durante i picchi di carico. Puoi essere sicuro che questa sia la soluzione ottimale? Infatti, se queste istanze sono inattive per l'80%, stai semplicemente regalando soldi ad Amazon. Inoltre, per tali situazioni, AWS e Azure offrono istanze burstable: perchè utilizzare server che consumano risorse inutilmente quando puoi impiegare strumenti specifici per gestire i picchi di carico? Oppure, invece di istanze On Premise, potresti considerare le Reserved — costano molto meno e talvolta sono soggette a sconti.

A proposito di sconti

Come abbiamo detto all'inizio, gli acquisti spesso vengono gestiti da chiunque — si trova un responsabile e poi ci si aspetta che faccia tutto da solo. Spesso, il “responsabile” è una persona già impegnata e alla fine ci troviamo in una situazione in cui qualcuno decide rapidamente e in autonomia cosa e in quali quantità acquistare.

Eppure, interagendo con il venditore di un servizio cloud, è possibile ottenere condizioni più vantaggiose, soprattutto in caso di acquisti all'ingrosso delle risorse. È chiaro che tali sconti non possono essere ottenuti tramite un processo automatico e unilaterale — ma parlare con un vero responsabile vendite può essere fruttuoso. Inoltre, questi esperti possono suggerire quali sconti sono attualmente disponibili. Anche questo può rivelarsi utile.

È importante ricordare che AWS o Azure non sono le uniche opzioni disponibili. Naturalmente, non si parla di organizzare un proprio server — ma ci sono alternative a queste due soluzioni classiche dei giganti del settore.

Ad esempio, Google ha messo a disposizione delle aziende la piattaforma Firebase, su cui è possibile ospitare un progetto mobile 'chiavi in mano', che potrebbe richiedere una rapida scalabilità. Archiviazione, database in tempo reale, hosting e sincronizzazione cloud dei dati sono disponibili in un'unica soluzione.

D'altro canto, se non stiamo parlando di un progetto monolitico, ma della loro somma, una soluzione centralizzata non è sempre vantaggiosa. Se il progetto ha una lunga durata, una storia di sviluppo e una quantità corrispondente di dati da archiviare, è opportuno considerare un'allocazione più frammentata.

Ottimizzando le spese per i servizi cloud, potresti improvvisamente renderti conto che per le applicazioni critiche per il business è possibile acquistare piani più potenti che garantiscano un guadagno costante per l'azienda. Tuttavia, conservare il 'legacy' di sviluppo, archivi vecchi, database e simili in costosi cloud non è la scelta migliore. Infatti, per tali dati un normale data center con HDD standard e hardware di media potenza è più che sufficiente.

Qui si potrebbe di nuovo pensare che 'tutto questo lavoro non ne vale la pena', ma l'intera problematica di questa pubblicazione si basa sul fatto che in diverse fasi le persone responsabili trascurano dettagli e agiscono nel modo più semplice e rapido. Ciò, alla fine, si traduce in quelle famose bollette horror dopo un paio d'anni.

Quali sono i risultati finali?

In generale, il cloud è fantastico; risolve molti problemi per le aziende di qualsiasi dimensione. Tuttavia, la novità di questo fenomeno porta al fatto che non abbiamo ancora una cultura di consumo e gestione. FinOps è un leverage organizzativo che aiuta a utilizzare le risorse cloud in modo più efficace. L'importante è non trasformare questo ruolo in una sorta di squadra di monitoraggio, il cui compito sarà quello di cogliere i programmatori distratti sul fatto e «rimproverarli» per i periodi di inattività delle risorse.

I programmatori devono sviluppare, non contare i soldi dell'azienda. Ecco perché FinOps deve rendere sia il processo di acquisto sia quello di dismissione o trasferimento delle risorse cloud ad altre squadre un evento semplice e piacevole per tutte le parti coinvolte.

Fonte: habr.com

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster