Il Function as a Service(FaaS) sta acquisendo sempre più spazio grazie al Cloud ed è diventato un servizio estremamente utile soprattutto per la parellizzazione dei workload, per un approfondimento puoi leggere il precedente articolo “Cos’è il Function as a Service(FaaS)“.
In questo articolo confronteremo il FaaS con tecnologie moderne come Serverless, vale a dire servizi senza alcuna infrastruttura da gestire per l’utente, e tecnologie più “tradizionali” come Platform as a Service(PaaS), i container e le Virtual Machine(VM).
FaaS vs Serverless
I servizi Serverless e Faas spesso vengono confusi come simili ma in realtà Faas è un sottoinsieme dei servizi serverless poichè mentre la tecnologia serverless è focalizzata su una specifica categoria di servizi, per esempio in Google App Engine sul servizio “compute”, la tecnologia FaaS è orientata agli eventi, è event-driven, per esempio in Google Functions.
Seppur condividano il fatto che la configurazione e la gestione dell’infrastruttura, dei sistemi operativi, dei software, ecc… siano nascoste all’utente finale e completamente a carico del provider il modo di lavorare di FaaS e di Serverless rispettivo è differente poichè ilcompito del FaaS è reagire in risposta solo a specifici eventi e richieste e nessuna infrastruttura è attiva quando non ci sono richieste da evadere mentre nel Serverless un minimo di ambiente è permanentemente attivo e scala in base alle richieste.
FaaS rappresenta lo stato dell’arte della tecnologia serverless applicata agli eventi ed i vantaggi saranno evidenti nel prossimo raffronto con le tecnologie più “tradizionali”.
Contattaci subito e senza impegno per migrare i tuoi workload su FaaS.
FaaS vs PaaS, container e VM
PaaS, container e VM giocano un eccellente ruolo nella progettazione di architetture avanzate in cui i concetti legacy del server fisico e dell’architettura fisica vengono superati da ambienti virtuali e containerizzati attraverso Docker e Kubernetes.
FaaS, come abbiamo accennato, supera tutti i limiti anche di tecnologie evolute grazie al Cloud:
- Provisioning: millisecondi invece che minuti o peggio ore negli altri casi;
- Gestione: nessuna invece che difficile in base alla complessità dello scenario negli altri casi;
- Scalabilità: il FaaS è scalabile per definizione, non c’è nulla quando il servizio è “a riposo”, e per questo l’unico limite è la potenza computazionale del provider mentre negli altri casi la scalabilità richiede specifici tuning ed impostazioni di auto-scaling;
- Capacità: nessuna per definiziona, la capacità è legata al provider mentre è necessaria una pianificazione di capacità per poter configurare correttamente gli altri modelli;
- Costi: i costi sono basati su reali utilizzi computazionali mentre negli altri casi sulle risorse usate in maniera permanente e che aumentano in base alla scalabilità impostata;
- High Availability(HA) e Disaster Recovery(DR): anche in questo caso HA e DR sono strutturali per definizione mentre negli altri casi sono una tua responsabilità.
Una nota occorre farla perchè nascendo come servizio event-driven il FaaS ha limiti nella gestione della persistenza delle connessioni e nell’abilità di mantenere lo stato e pertanto in diversi Case Study è probabile che debba essere integrato con altri servizi esterni.
Contattaci subito e senza impegno per migrare i tuoi workload su FaaS.
Glue Labs e FaaS
Ti supportiamo nel delivery, nello sviluppo, nell’integrazione e nella migrazione verso ambienti Cloud FaaS. Siamo Google Cloud Partner e grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti forniamo assistenza e supporto per qualsiasi progetto di delivery ed integrazione di FaaS. Contattaci subito e senza impegno per maggiori informazioni.