Viviamo in un mondo serverless e containerizzato… e bisogna conoscerlo bene
Un nuovo report di Datadog rivela che l’elaborazione serverless potrebbe entrare nel mainstream. I risultati della ricerca mostrano infatti che più della metà di tutte le organizzazioni utilizza serverless su uno dei tre principali provider di cloud pubblico: Amazon, Microsoft e Google.
Un risultato decisamente diverso di quello di soli due anni fa, quando la maggior parte dello sviluppo serverless si verificava su un singolo provider cloud. Ora, tutti e tre i grandi fornitori di cloud stanno godendo di una crescita esplosiva del serverless.
Ciò significa che il serverless è ora considerato più un concetto “aperto”, proprio come i container. Il supporto al serverless comune ai tre grandi provider cloud elimina alcuni dei timori che lo sviluppo serverless porti al lock-in, che può tuttavia verificarsi ancora se state sfruttando costantemente funzionalità e servizi che non potete trovare su altre piattaforme cloud.
Il sondaggio ha anche rilevato che la maggior parte delle aziende intervistate utilizza la tecnologia serverless insieme ai container. Questo perché le aziende considerano queste tecnologie complementari, visto che il serverless rimuove il problema dell’auto-provisioning fornendo una distribuzione automatizzata delle risorse.
Anche coloro che utilizzano i container stanno tentando di eseguire il provisioning del numero esatto di risorse di cui avranno bisogno, come archiviazione e calcolo. Serverless lo fa automaticamente, il che significa una cosa in meno a cui pensare quando si progetta e si distribuisce un sistema basato su cloud e container in cui le risorse sono spesso sovradimensionate.
Il report ha rilevato che nel gennaio 2022 il 20% degli utenti di AWS Lambda stava distribuendo funzioni Lambda tramite container contro lo 0% di gennaio 2021. È un enorme salto in avanti.
L’aspetto positivo di ciò è che i container, oltre a fornire una potente piattaforma di sviluppo e distribuzione per applicazioni nuove o esistenti, aggiungono anche un altro livello di complessità. Questo porta alla cosiddetta “tassa sui container” di cui parlo da anni; questa “tassa” significa che generalmente vi costerà almeno il 20% in più di denaro e/o tempo per costruire soluzioni utilizzando i container anziché metodi più tradizionali.
L’elaborazione serverless dovrebbe ridurre sensibilmente questo 20%, considerando che non abbiamo più a che fare direttamente con il provisioning delle risorse, che infatti viene eseguito automaticamente. Ciò, unito al fatto che lo sviluppo dei container sta diventando più snello e automatizzato, dovrebbe significare che il numero di ragioni per non sfruttare i container, come il costo aggiuntivo appena descritto, dovrebbe essere ridotto seppur non ancora del tutto eliminato.
L’aspetto negativo è che molti potrebbero lasciare la gestione delle risorse all’automazione serverless più di quanto dovrebbero, sebbene le applicazioni dinamiche traggano il massimo vantaggio dall’elaborazione serverless. I sistemi serverless possono aggiungere e rimuovere risorse attraverso processi automatizzati che nessun essere umano può eguagliare, considerando l’imprevedibilità di alcune applicazioni in termini di consumo di risorse.
Tuttavia, molte applicazioni sono molto prevedibili e possono sfruttare un numero statico di risorse. Rispetto a lasciare il provisioning delle risorse all’automazione serverless, potreste finire con lo spendere soldi inutilmente se non utilizzate alcuni servizi scontati come le istanze riservate. Con l’utilizzo del cloud e l’esplosione dei costi, un semplice risparmio del 20% al mese potrebbe arrivare a centinaia di migliaia di dollari all’anno.