Serverless
Il termine serverless si riferisce a un modello di esecuzione del cloud computing in cui il fornitore di servizi cloud gestisce dinamicamente l'allocazione delle risorse macchina
Il termine serverless si riferisce a un modello di esecuzione del cloud computing in cui il fornitore di servizi cloud gestisce dinamicamente l'allocazione delle risorse macchina. In questo modello, gli sviluppatori possono eseguire codice senza dover gestire o preoccuparsi delle infrastrutture server sottostanti. Nonostante il nome, il codice non viene eseguito senza server; piuttosto, i server sono completamente gestiti dal provider cloud.
Caratteristiche principali del serverless:
- No Management Server: Gli sviluppatori non devono gestire i server. Il fornitore cloud si occupa della gestione delle risorse, inclusa la scalabilità, la manutenzione, e la sicurezza.
- Scalabilità Automatica: Le applicazioni serverless possono scalare automaticamente in risposta al carico di lavoro. Se un'applicazione riceve molte richieste, il sistema scalabile serverless le gestisce automaticamente, e viceversa.
- Costo Basato sul Consumo: Si paga solo per il tempo effettivo di esecuzione del codice. Non ci sono costi per il tempo in cui il codice non viene eseguito. Questo modello di pricing può risultare più economico rispetto ai modelli tradizionali in cui si pagano le risorse anche quando non sono completamente utilizzate.
- Event-Driven: Le applicazioni serverless sono spesso progettate per rispondere a eventi, come cambiamenti nei dati, richieste HTTP, o eventi di messaggistica. Questa natura event-driven rende il serverless adatto per molteplici scenari di utilizzo.
applicazioni con carichi di lavoro variabili.
Soluzioni serverless:
- AWS Lambda: Una delle piattaforme serverless più conosciute, AWS Lambda consente di eseguire codice in risposta a eventi senza gestire server.
- Google Cloud Functions: Servizio di Google Cloud che permette di eseguire funzioni in risposta a eventi nel cloud.
- Azure Functions: La soluzione di Microsoft Azure per l'esecuzione di codice senza gestione di server.
- IBM Cloud Functions: Basato su Apache OpenWhisk, consente l'esecuzione di funzioni cloud con un modello di pricing basato sull'uso.
Scenari di utilizzo comuni:
- Microservizi: Le architetture a microservizi beneficiano del serverless per la scalabilità individuale di ogni componente.
- Elaborazione di eventi: Gestione di eventi, come l'elaborazione di file caricati, eventi di flusso di dati, e webhook.
- API backend: Implementazione di backend API che scalano automaticamente in base al traffico.
- Automazione: Task automatizzati come l'elaborazione di messaggi o la risposta a trigger in altre applicazioni cloud.