Negli ultimi anni, l’architettura serverless è emersa come componente fondamentale dell’informatica moderna. In risposta a questo trend, i principali fornitori cloud hanno sviluppato e offerto servizi serverless specifici.
Il cloud è la base della trasformazione digitale e impone all’attenzione delle organizzazioni parametri sempre nuovi ai quali prestare attenzione. Le grandi legacy esistenti stanno richiedendo scelte architetturali innovative.
Molte di queste scelte, però, sembrano impostate più al risparmio immediato di tempo e denaro che non a una manutenibilità nel tempo. Alcune analisi specifiche permettono di mettere a fuoco anche punti in prospettiva, validi per aziende e organizzazioni di media e grande dimensione. Nel report The state of serverless, aggiornato ad agosto 2023 partendo dall’edizione pubblicata del giugno 2022, sono elencate nuove tendenze su questo approccio allo sviluppo del software.
L’indagine presenta altri trend che potrete leggere accedendo direttamente al report, particolarmente accorto al modello di AWS ma abbastanza utile anche in senso generale. Tra gli elementi emersi troviamo l’interesse del mercato verso i processori ARM per Lambda e la prevalenza di Terraform come strumento di scelta per le grandi organizzazioni.
Per chiederci dove sta andando il serverless, in questo articolo ci occuperemo di alcuni elementi, forse più generali, che è opportuno considerare: il frontend, Python/Node e il virtual private cloud.
Il serverless nelle piattaforme frontend
Nato come backend, l’approccio senza server esplicito sta verificando le sue possibilità anche nel frontend. Già oggi, il 7% delle organizzazioni con carichi di lavoro serverless su cloud principali usa almeno una delle piattaforme emergenti di sviluppo frontend come Vercel, Netlify, Cloudflare e Fastly, quindi non limitandosi esclusivamente ai micro frontend ma esplorando anche possibilità più ampie.
Su questo fronte, è lecito attendersi un veloce adeguamento di molte altre organizzazioni nel breve volgere di pochi mesi. La verifica nel tempo, però, richiederà un’attesa più lunga.
Node.js e Python sono dominanti
Senza grande sorpresa, si osserva che oltre la metà delle invocazioni Lambda provengono da funzioni scritte in Python o Node.js. D’altronde, l’evoluzione di Python continua inarrestabile: recentemente il linguaggio è entrato anche nella suite Microsoft per l’ufficio. Anche in questo caso, la scelta sembra privilegiare il time-to-market ad altri punti a più lungo termine.
Se Node.js e Python sono le lingue dominanti per le funzioni AWS Lambda, Java è il terzo linguaggio più comune, Su questo fronte si segnala anche il tentativo di trasformare il vecchio Cobol proprio in Java, un approccio che lascia perplessi nella manutenzione a lungo termine. Per completare il panorama serverless, sullo sfondo si fa avanti il linguaggio Go.
Serverless su VPC
Per integrare risorse di calcolo e database in reti isolate, molti teams stanno lavorando su Virtual Private Clouds (VPC). Negli ultimi 12 mesi, il 65% dei clienti Datadog ha collegato almeno cinque delle loro funzioni Lambda a un VPC dedicato.
Nel caso di Amazon, l’80% dei team rilevati nell’indagine ha su VPC almeno una funzione Lambda, mentre il 10% le esegue tutte in questo ambiente.
Sempre nel caso Amazon, segnala il report, non usando il VPC di default fornito da AWS i rischi potrebbero aumentare.
Si tratta di un fatto normale. Le aziende sono sempre più inclini a cercare soluzioni ottimizzate in termini sia di costi, sia di efficienza. Ogni modifica, però, porta ad affrontare nuovi rischi.
Attenzione al cold start
Un problema del serverless che desta preoccupazione è il cold start. L’avvio di una funzione serverless richiede sempre un minimo di latenza per creare l’istanza e avviarla. Questo lasso di tempo tra avvio e attivazione viene definito cold start.
In Lambda, dice Datadog, i tempi di cold starts variano a seconda del runtime: Java ha la durata di cold start più lunga, Node.js e Python la più breve. I fornitori di servizio serverless stanno attivamente lavorando su questo fronte.
Guardando al futuro, il serverless continuerà ad adattarsi e a svilupparsi in risposta alle esigenze del mercato, alle sfide tecnologiche e alle opportunità offerte dalle nuove tecnologie. Il passaggio sul front-end è la prova di questa plasticità, al contempo vantaggio (nel time to market) e svantaggio (nel’adesione senza troppe verifiche). Gli sviluppatori e le organizzazioni devono quindi restare aggiornati su questa tendenza, ma mantenendo uno spirito critico anche laddove equivalga ad aumentare i costi e allungare i tempi.