Il segreto del serverless computing: perché i server continuano a lavorare silenziosamente in background?

Con lo sviluppo del cloud computing, il serverless computing ha attirato l’attenzione di un numero sempre maggiore di aziende. Tuttavia, dietro questo concetto si nasconde il segreto che molti server continuano ad aiutare silenziosamente. Secondo la definizione di ISO/IEC 22123-2, il serverless computing consente ai clienti di utilizzare i servizi cloud senza configurare, distribuire o gestire risorse hardware o software e richiede solo di fornire codice o dati dell'applicazione.

Il termine serverless non è del tutto accurato perché i fornitori di servizi cloud necessitano comunque di server per eseguire il codice dello sviluppatore.

L'esistenza dei server cambia la definizione di elaborazione serverless. Ben Kehoe ha proposto che il serverless computing debba essere visto più come uno spettro piuttosto che come una definizione rigida. Ciò significa che le aziende dovrebbero concentrarsi sullo sfruttamento dei vantaggi delle soluzioni serverless anziché limitarsi a una definizione ristretta di una tecnologia specifica. Sebbene il serverless computing semplifichi il processo di distribuzione del codice, secondo Gregor Hohpe non elimina completamente la complessità, ma la sposta dal team operativo al team di sviluppo.

Il codice serverless può essere utilizzato con stili tradizionali come i microservizi o l'architettura monolitica, o anche senza fare affidamento su alcun server configurato. Questo non deve essere confuso con alcuni modelli informatici o di rete che non richiedono il funzionamento di un server vero e proprio, come i modelli peer-to-peer (P2P). Secondo Yan Cui, il serverless computing dovrebbe essere adottato quando può aiutare a fornire valore al cliente più velocemente.

Runtime senza server

Il runtime di elaborazione fornito dai fornitori serverless può eseguire la logica dell'applicazione ma non è responsabile dell'archiviazione dei dati. I modelli di runtime comuni includono Function as a Service (FaaS) e Container as a Service (CaaS). I linguaggi comunemente supportati includono Java, Python e PHP.

Prodotti commerciali

La storia del serverless computing può essere fatta risalire a Zimki, lanciata nel 2006, ma la piattaforma non ebbe successo. Successivamente, nel 2008, Google ha lanciato Google App Engine, il primo modulo a fornire applicazioni di fatturazione.

AWS Lambda è stato lanciato da Amazon nel 2014, rendendo ulteriormente popolare il modello astratto di elaborazione serverless.

Anche i database serverless come Amazon Aurora e Azure Data Lake hanno esteso con successo questo modello di elaborazione ai sistemi di gestione di database relazionali (RDBMS), eliminando la necessità di configurazione ed espansione dell'hardware del database fisico o virtuale. Questo cambiamento consente alle aziende di concentrarsi maggiormente sulla logica aziendale piuttosto che sull’infrastruttura.

Vantaggi dell'elaborazione serverless

Il serverless computing offre molteplici vantaggi, soprattutto in termini di convenienza e flessibilità. Questo modello informatico evita le spese elevate legate al noleggio o alla gestione di server fissi e si espande automaticamente al variare della domanda. I team di sviluppo sono in grado di eseguire il codice rapidamente senza scavare nell'infrastruttura, consentendo loro di concentrarsi maggiormente sulla logica aziendale e offrire valore al cliente.

Le sfide del serverless computing

Tuttavia, il serverless computing non è esente da sfide. Ritardi di risposta, vincoli di risorse, difficoltà di monitoraggio e debug e problemi di sicurezza sono tutti fattori che le aziende devono considerare attentamente quando adottano soluzioni serverless.

Alcuni attacchi di forza bruta o codici difettosi potrebbero causare agli utenti fluttuazioni inaspettate dei pagamenti, che rappresentano il rischio di "fatture shock".

Inoltre, fare affidamento su servizi serverless forniti da terze parti può anche portare a problemi di blocco del fornitore, che rendono le aziende in difficoltà durante la migrazione dei carichi di lavoro.

Best practice

L’adozione delle pratiche DevSecOps può aiutare le aziende a utilizzare e proteggere le tecnologie serverless in modo efficiente, sfumando ulteriormente i confini tra sviluppo e sicurezza e rendendo la sicurezza una componente importante della cooperazione multilaterale.

Sebbene questo modello informatico emergente possa tecnicamente risolvere molti problemi, nelle applicazioni aziendali reali le aziende devono comunque considerarlo attentamente e non ignorare i potenziali rischi per comodità. Di fronte a un settore tecnologico in così rapido sviluppo, le aziende sono pronte ad affrontare le sfide e le opportunità offerte dal serverless computing?

Trending Knowledge

coprire i costi nascosti del serverless computing: perché il pagamento a consumo potrebbe sorprenderti
Con la diffusione del cloud computing, il serverless computing è gradualmente diventato una tendenza importante nel settore IT. Si riferisce a un servizio cloud che non richiede agli utenti di gestire

Responses