PaaS significa Platform as a Service: è un modello di cloud computing che mette a disposizione una piattaforma gestita sulla quale puoi sviluppare, distribuire ed eseguire applicazioni senza amministrare direttamente gran parte dell’infrastruttura sottostante.
Il punto non è che “i server spariscono”. I server continuano a esistere, ma il provider si occupa di una parte molto più ampia dello stack: infrastruttura fisica, virtualizzazione, sistema operativo, runtime e altri componenti di piattaforma, a seconda del servizio. Tu puoi concentrarti soprattutto sul codice, sulla configurazione dell’applicazione, sui dati e sulle regole di accesso.
È questo che colloca il PaaS fra IaaS e SaaS. Con IaaS mantieni più controllo sull’ambiente e più responsabilità operative; con SaaS utilizzi direttamente un software già pronto. Con PaaS, invece, costruisci e gestisci la tua applicazione sopra una piattaforma che qualcun altro mantiene per te.
Il NIST include PaaS fra i tre modelli di servizio del cloud computing, insieme a IaaS e SaaS. Nella pratica moderna, però, i confini sono meno rigidi di quanto suggerisca il classico diagramma a tre livelli: piattaforme serverless, container gestiti e servizi Kubernetes possono offrire esperienze molto vicine al PaaS.
Capire questa evoluzione è importante perché ti permette di scegliere una piattaforma in base a ciò che vuoi davvero delegare, non in base all’etichetta commerciale usata dal provider.
Cos’è PaaS e cosa significa Platform as a Service
Una Platform as a Service fornisce un ambiente in cui creare, testare, distribuire, eseguire e aggiornare applicazioni senza dover costruire e mantenere da zero la piattaforma tecnica necessaria.
In un ambiente tradizionale, per pubblicare un’applicazione potresti dover scegliere e configurare server, sistema operativo, runtime, web server, middleware, rete, meccanismi di deployment, monitoraggio e procedure di aggiornamento. Con un PaaS, una parte consistente di questo lavoro viene standardizzata e gestita dal provider.
La conseguenza pratica è semplice: l’unità di lavoro si sposta dall’infrastruttura all’applicazione.
Invece di pensare prima a quante macchine virtuali creare e come configurarle, il team può partire da domande come:
- quale applicazione dobbiamo distribuire;
- quale runtime richiede;
- quali servizi dati utilizza;
- come gestiamo configurazioni e segreti;
- come deve scalare;
- quali metriche e log dobbiamo osservare;
- quali vincoli di sicurezza, compliance e portabilità dobbiamo rispettare.
Se vuoi inquadrare il concetto nel modello generale, la nostra guida al cloud computing distingue i modelli di servizio da quelli di deployment e chiarisce perché PaaS, SaaS e IaaS non sono sinonimi di cloud pubblico, privato o ibrido.
PaaS non significa semplicemente “hosting nel cloud”
Un hosting mette a disposizione un ambiente in cui pubblicare un sito o un’applicazione. Un PaaS, però, tende a offrire un livello di astrazione e automazione più ampio.
Il provider può occuparsi, per esempio, di:
- provisioning dell’ambiente;
- gestione del sistema operativo;
- runtime applicativo;
- patch della piattaforma;
- bilanciamento del carico;
- autoscaling;
- health check;
- deployment e rollback;
- log e metriche;
- integrazione con database, code, storage e altri servizi gestiti.
Non tutti i PaaS includono le stesse funzionalità e non tutti nascondono allo stesso modo l’infrastruttura. È proprio per questo che la parola “PaaS” da sola non basta per scegliere una piattaforma: bisogna capire quali responsabilità vengono realmente trasferite al provider.
Dove si colloca PaaS nel cloud computing
Il modo più semplice per orientarsi è pensare a una progressione del livello di gestione.
Con IaaS ricevi soprattutto infrastruttura: compute, storage e rete. Con PaaS ricevi una piattaforma applicativa più completa. Con SaaS ricevi direttamente l’applicazione pronta all’uso.
Più sali verso servizi gestiti, meno componenti infrastrutturali devi amministrare direttamente. In cambio, accetti più decisioni prese dal provider: runtime disponibili, versioni supportate, modalità di deployment, limiti di configurazione e integrazioni native.
Il PaaS è quindi un compromesso: rinunci a una parte del controllo per ridurre il lavoro operativo.
Come funziona una piattaforma PaaS
Il funzionamento cambia da provider a provider, ma il flusso generale è abbastanza riconoscibile.
Immagina di aver sviluppato una web application. Invece di creare manualmente un server, installare il sistema operativo, configurare il runtime e predisporre l’intero ambiente, distribuisci il codice o un artefatto compatibile con la piattaforma.
Il flusso può diventare:
codice → build → configurazione → deployment → runtime gestito → scaling → monitoring
La piattaforma traduce queste istruzioni in risorse operative. Il provider prepara l’ambiente, avvia l’applicazione, controlla lo stato delle istanze e, nei servizi che lo prevedono, aumenta o riduce la capacità in base alle regole configurate.
Dal codice al deployment: cosa succede in pratica
Un workflow PaaS tipico può funzionare così:
- sviluppi l’applicazione usando un linguaggio e un framework supportati;
- salvi il codice in un repository o produci un pacchetto/container distribuibile;
- configuri variabili d’ambiente, segreti, dominio e risorse necessarie;
- avvii il deployment tramite console, CLI, Git o pipeline CI/CD;
- la piattaforma crea o aggiorna l’ambiente di esecuzione;
- health check, log e metriche permettono di verificare il comportamento dell’applicazione;
- eventuali regole di scaling modificano la capacità quando il carico cambia.
La differenza rispetto a un processo più infrastrutturale non è che ogni passaggio venga eliminato. Molti passaggi vengono automatizzati, standardizzati o resi dichiarativi.
Questo riduce le attività ripetitive, ma rende importante conoscere bene il contratto della piattaforma: formati supportati, limiti, timeout, filesystem, networking, versioni runtime e comportamento dello scaling possono influenzare direttamente l’architettura dell’applicazione.
Runtime, middleware, database e servizi gestiti
Un PaaS non è soltanto “un server già configurato”. Può mettere insieme diversi componenti:
- runtime per Java, .NET, Node.js, Python, PHP, Ruby o altri linguaggi;
- web server e application server;
- middleware;
- sistemi di build e deployment;
- certificati e gestione HTTPS;
- sistemi di logging e observability;
- database o connessioni verso database gestiti;
- cache;
- message queue;
- storage;
- sistemi di autenticazione;
- strumenti per CI/CD;
- integrazioni con servizi esterni.
Molte di queste integrazioni vengono esposte tramite API, SDK, CLI o configurazioni dichiarative. Questo consente al team di comporre un’applicazione usando servizi gestiti senza dover implementare internamente ogni componente.
Il vantaggio cresce quando le integrazioni sono coerenti e automatizzabili. Il rischio, invece, aumenta quando l’applicazione diventa dipendente da servizi proprietari difficili da sostituire.
Cosa gestisce il provider PaaS e cosa resta a te
Una delle semplificazioni più pericolose è pensare che PaaS significhi “il provider gestisce tutto”. Non è così.
Il modello di responsabilità condivisa di Microsoft mostra bene il principio: in PaaS il provider gestisce sistema operativo, host fisici, rete fisica e data center, mentre dati, identità, utenti e configurazioni restano responsabilità del cliente; alcune aree applicative e di rete possono essere condivise.
| Area | Provider PaaS | Cliente |
|---|---|---|
| Data center e hardware fisico | gestisce | non gestisce direttamente |
| Virtualizzazione e piattaforma di base | gestisce | non gestisce direttamente |
| Sistema operativo | normalmente gestisce | configura solo ciò che il servizio espone |
| Runtime e middleware | gestisce secondo il servizio | sceglie versioni/opzioni disponibili |
| Codice applicativo | fornisce l’ambiente | sviluppa, testa e protegge il codice |
| Configurazione applicativa | offre strumenti e controlli | configura correttamente ambiente e applicazione |
| Dati | protegge il servizio secondo le condizioni offerte | resta responsabile di dati, classificazione, accessi e uso |
| Identità e permessi | fornisce meccanismi | governa account, ruoli e privilegi |
| Sicurezza | protegge la piattaforma | protegge ciò che controlla e configura |
La divisione reale cambia tra servizi. Prima di migrare un workload, la domanda da fare al provider non è soltanto “è un PaaS?”, ma quali attività restano esplicitamente a nostro carico?

PaaS, IaaS e SaaS: cosa cambia davvero
La differenza fra IaaS, PaaS e SaaS riguarda soprattutto quanto in basso nello stack vuoi continuare a lavorare.
| Modello | Cosa ricevi | Gestisci soprattutto | Il provider gestisce soprattutto | Scenario tipico |
|---|---|---|---|---|
| IaaS | infrastruttura virtualizzata | OS, runtime, applicazione, dati e molte configurazioni | hardware, virtualizzazione e infrastruttura fisica | workload che richiedono controllo dell’ambiente |
| PaaS | piattaforma applicativa gestita | codice, dati, configurazioni, identità e comportamento applicativo | infrastruttura, OS, runtime e componenti di piattaforma secondo il servizio | sviluppo e deployment di applicazioni |
| SaaS | software pronto all’uso | utenti, dati, permessi e configurazioni disponibili | applicazione e gran parte dello stack sottostante | CRM, email, collaboration e software gestionali |
La tabella è intenzionalmente semplificata. I servizi cloud moderni combinano spesso componenti appartenenti a modelli differenti.
PaaS vs IaaS: velocità operativa contro controllo infrastrutturale
Con IaaS puoi avere maggiore libertà su sistema operativo, rete, runtime e configurazioni. Questo è utile quando il workload ha esigenze specifiche o quando devi replicare un ambiente esistente con poche modifiche.
La stessa libertà, però, significa dover gestire più cose: patch, hardening, runtime, immagini delle macchine, configurazioni e una parte maggiore del ciclo operativo.
PaaS sposta questa responsabilità verso il provider. Il team guadagna velocità e standardizzazione, ma deve accettare il modello operativo della piattaforma.
Per questo PaaS non è “migliore” di IaaS in assoluto. È più adatto quando il valore del controllo infrastrutturale è inferiore al costo di mantenerlo.
PaaS vs SaaS: sviluppare un’applicazione contro usare un software pronto
La differenza è ancora più netta.
Con PaaS costruisci o distribuisci una tua applicazione. Con SaaS utilizzi un’applicazione già fornita dal vendor.
Se devi gestire clienti e un CRM SaaS soddisfa già il tuo processo, costruire un CRM su PaaS avrebbe senso soltanto se esistono requisiti specifici che giustificano sviluppo, manutenzione e costi aggiuntivi.
Se invece devi creare un prodotto digitale proprietario, un’API, un backend o una web application con logica personalizzata, PaaS può essere il livello giusto perché ti lascia il controllo sull’applicazione senza obbligarti a gestire tutto ciò che si trova sotto.
Quali sono i vantaggi del PaaS
Il valore del PaaS non sta in una singola funzione. Nasce dalla combinazione fra automazione della piattaforma e riduzione delle attività operative che non differenziano il prodotto.
Riduce il lavoro infrastrutturale
Se il provider gestisce sistema operativo, runtime, patch della piattaforma e provisioning, il team deve dedicare meno tempo a mantenere l’ambiente di base.
Questo non elimina il lavoro DevOps o SRE. Lo sposta verso aspetti più vicini all’applicazione: deployment, osservabilità, affidabilità, sicurezza del codice, configurazione, capacità e costi.
Accelera provisioning e deployment
Un ambiente standardizzato può essere creato e aggiornato molto più rapidamente rispetto a un’infrastruttura configurata manualmente.
Il vantaggio è particolarmente evidente quando il team distribuisce spesso nuove versioni, deve creare ambienti di test o gestisce più applicazioni con requisiti simili.
Favorisce ambienti coerenti
Se sviluppo, staging e produzione usano la stessa piattaforma e gli stessi meccanismi di deployment, diminuiscono le differenze dovute a configurazioni manuali.
Non significa che gli ambienti diventino identici automaticamente, ma la piattaforma rende più semplice descrivere e replicare configurazioni coerenti.
Integra scaling e osservabilità
Molti PaaS includono o integrano bilanciamento del carico, metriche, log, health check e meccanismi di autoscaling.
Questo abbassa la barriera tecnica per costruire applicazioni elastiche, ma non sostituisce una buona architettura. Un’applicazione con stato locale non gestito, query inefficienti o dipendenze esterne fragili non diventa resiliente solo perché gira su una piattaforma scalabile.
Riduce il time-to-market quando il problema è la piattaforma, non il prodotto
Se un team impiega giorni a preparare ambienti, configurare runtime e replicare procedure di deployment, delegare queste attività può liberare tempo per funzionalità che hanno un valore diretto per utenti e business.
È il caso in cui il PaaS dà il meglio: quando la piattaforma necessaria è importante, ma non è ciò che differenzia il prodotto.
Limiti e svantaggi del PaaS
L’astrazione ha un costo. Più una piattaforma decide per te, più devi verificare che quelle decisioni siano compatibili con il workload.
Hai meno controllo sull’infrastruttura
Se devi modificare parametri del kernel, installare componenti non supportati, controllare in dettaglio il networking o usare un sistema operativo specifico, un PaaS può diventare troppo restrittivo.
In questi casi IaaS, container gestiti con maggiore controllo o un’altra architettura possono essere più appropriati.
Il vendor lock-in può diventare concreto
Il lock-in non nasce solo dal fatto che “usi il cloud di un’azienda”. Diventa più forte quando il codice dipende da API proprietarie, servizi dati specifici, sistemi di autenticazione, formati di configurazione o meccanismi di deployment difficili da replicare altrove.
Una applicazione che usa un runtime standard e un database portabile è generalmente più semplice da spostare di una costruita intorno a decine di servizi esclusivi del provider.
La soluzione non è evitare qualsiasi servizio gestito. È decidere consapevolmente dove la comodità del servizio proprietario vale il costo di uscita futuro.
Runtime e versioni supportate impongono vincoli
Un provider può deprecare versioni di runtime, rimuovere stack obsoleti o modificare le piattaforme supportate.
AWS, per esempio, distingue le piattaforme Elastic Beanstalk fra stati come supported, beta, deprecated e retired nella propria documentazione sulle piattaforme. Questo rende evidente un principio generale: la piattaforma gestita riduce il lavoro di manutenzione, ma ti obbliga a seguire il suo ciclo di supporto.
Il costo non è automaticamente inferiore
PaaS può ridurre il costo operativo interno, ma il conto del provider può crescere con traffico, istanze, storage, database, log, servizi collegati ed egress.
Con workload prevedibili e team infrastrutturali maturi, un’alternativa più controllata può avere economics migliori. Con workload piccoli o team che vogliono evitare una piattaforma interna, il contrario può essere vero.
Il confronto corretto deve quindi includere costo del servizio + costo del lavoro operativo + costo del rischio + costo di uscita.
Debugging e troubleshooting possono essere meno trasparenti
Quando il provider nasconde una parte dello stack, non puoi sempre ispezionare o modificare ogni livello.
Log, metriche, tracing e strumenti diagnostici diventano quindi decisivi. Una piattaforma facile da distribuire ma difficile da osservare può trasformare un incidente in un problema molto più complesso.
Compliance e data residency vanno verificate servizio per servizio
La presenza di un provider in una determinata area geografica non significa che ogni servizio, backup, log o sistema di supporto segua automaticamente i requisiti della tua organizzazione.
Regioni disponibili, certificazioni, localizzazione dei dati, gestione delle chiavi, retention e accessi amministrativi vanno verificati sul servizio specifico e sulle condizioni contrattuali applicabili.
Esempi di PaaS
Il modo migliore per capire il modello è osservare piattaforme reali. L’elenco seguente non è una classifica: mostra implementazioni diverse dello stesso principio di fondo.
| Piattaforma | Modello operativo | Punto distintivo | Da verificare prima di sceglierla |
|---|---|---|---|
| Azure App Service | PaaS gestita per web app e API | deployment e scaling senza gestione diretta delle VM | runtime, piano, networking, regioni e costi |
| AWS Elastic Beanstalk | piattaforma gestita sopra risorse AWS | provisioning automatico dell’ambiente applicativo | piattaforme supportate e risorse sottostanti |
| Google App Engine | piattaforma applicativa gestita | ambienti standard e flexible | roadmap e confronto con Cloud Run per nuovi progetti |
| Heroku | PaaS focalizzata sulla developer experience | deploy e gestione applicativa fortemente astratti | costi, add-on, regioni e requisiti enterprise |
| Red Hat OpenShift managed | application platform basata su Kubernetes | esperienza PaaS per workload containerizzati | complessità, modello operativo e requisiti Kubernetes |
Azure App Service
La documentazione Microsoft descrive Azure App Service come una PaaS completamente gestita per creare applicazioni web con linguaggi diffusi e custom container.
È un esempio utile perché mostra bene il vantaggio del modello: puoi distribuire un’applicazione senza dover gestire direttamente le macchine virtuali e il sistema operativo su cui gira.
Resta comunque necessario scegliere piano, regione, runtime, networking, configurazioni di sicurezza e integrazioni con gli altri servizi Azure.
AWS Elastic Beanstalk
Con AWS Elastic Beanstalk distribuisci l’applicazione e il servizio effettua il provisioning delle risorse necessarie, configura bilanciamento del carico, health monitoring e scaling dell’ambiente.
È un PaaS interessante per capire che “gestito” non significa sempre “infrastruttura invisibile”. Elastic Beanstalk usa risorse AWS sottostanti che restano parte dell’architettura e del costo.
Il vantaggio è l’automazione del ciclo di provisioning e deployment; il compromesso è che devi ancora comprendere come il servizio traduce la tua configurazione in risorse AWS.
Google App Engine
Google App Engine continua a offrire ambienti standard e flexible per eseguire applicazioni gestite.
C’è però un dettaglio importante per una scelta nuova: Google raccomanda ai nuovi utenti Cloud di valutare Cloud Run come alternativa preferita per i progetti futuri e per modernizzare applicazioni esistenti.
Questo non significa che App Engine sia “morto”. Significa che il mercato delle application platform sta evolvendo verso modelli in cui container gestiti e serverless assorbono parte dei casi d’uso storicamente associati al PaaS classico.
Heroku
Heroku continua a definirsi esplicitamente una Platform as a Service e basa la propria proposta su deployment, gestione e scaling delle applicazioni con una forte attenzione alla developer experience.
È uno degli esempi più intuitivi di PaaS: lo sviluppatore ragiona in termini di applicazione, runtime, configurazione, processi e servizi collegati molto più che di server da amministrare.
Proprio questa semplicità va confrontata con i requisiti reali: costi a scala, regioni, networking, servizi dati, compliance e possibilità di uscita dalla piattaforma.
Red Hat OpenShift managed
Red Hat descrive le edizioni cloud gestite di OpenShift come offerte PaaS.
È un esempio importante perché mostra quanto il concetto si sia avvicinato al mondo container. Kubernetes può essere la base tecnologica, mentre il livello PaaS aggiunge esperienza applicativa, automazione, policy, deployment e gestione della piattaforma.
Per un team che usa già container e pratiche cloud-native, questo modello può offrire più portabilità e controllo rispetto a un PaaS fortemente proprietario. Il prezzo da pagare è una maggiore complessità concettuale e operativa.
PaaS, serverless e container: perché i confini sono meno netti
Il classico schema IaaS → PaaS → SaaS resta utile per capire chi gestisce cosa. Non descrive però perfettamente tutte le piattaforme moderne.
Oggi un team può distribuire un’applicazione su:
- una PaaS tradizionale;
- un servizio serverless;
- una piattaforma per container gestiti;
- un Kubernetes gestito;
- una application platform costruita sopra Kubernetes.
Dal punto di vista dello sviluppatore, alcune di queste opzioni producono esperienze molto simili: distribuisci codice o container, configuri risorse, osservi metriche e lasci al provider gran parte dell’infrastruttura.
PaaS vs serverless e FaaS
PaaS e serverless riducono entrambi la gestione diretta dell’infrastruttura, ma non sono sinonimi.
Una PaaS classica tende a fornirti un ambiente applicativo persistente e un modello di deployment relativamente completo. Un servizio Function as a Service esegue invece funzioni o unità di codice in risposta a eventi, con un’astrazione ancora maggiore della capacità sottostante.
Le piattaforme serverless moderne hanno però ampliato il proprio perimetro. Servizi come Cloud Run possono eseguire container applicativi completamente gestiti, rendendo meno netto il confine fra “PaaS” e “serverless application platform”.
Per scegliere non serve stabilire quale etichetta sia semanticamente perfetta. Serve capire:
- quale unità distribuisci: codice, funzione, container o applicazione;
- come viene gestito lo scaling;
- se esistono istanze persistenti;
- quali timeout e limiti sono presenti;
- come funziona il networking;
- come vengono calcolati i costi;
- quanta portabilità vuoi mantenere.
PaaS e piattaforme basate su container
I container hanno reso più portabile il pacchetto applicativo: in un workflow basato su Docker, codice e dipendenze possono essere distribuiti insieme attraverso immagini container.
Una piattaforma può offrire un’esperienza PaaS accettando container come unità di deployment: il provider continua a gestire provisioning, orchestrazione, scaling e parte dell’operatività, mentre il team mantiene più controllo sul contenuto del runtime.
Quando però il container rimane il centro del modello operativo e il provider fornisce come servizio una parte significativa dell’infrastruttura e dell’orchestrazione, il confine può avvicinarsi al CaaS (Containers as a Service). I due concetti non coincidono automaticamente: una piattaforma container molto astratta può comportarsi come PaaS, mentre un ambiente CaaS più controllabile lascia al team maggiori responsabilità sulla piattaforma.
È quindi più utile confrontare ciò che il provider gestisce realmente che tentare di assegnare ogni prodotto a una casella rigida.
È un compromesso interessante: maggiore portabilità rispetto a runtime proprietari, ma più responsabilità sulla costruzione e manutenzione dell’immagine.
Kubernetes è un PaaS?
Kubernetes da solo non è automaticamente un PaaS.
È un sistema di orchestrazione per distribuire e gestire workload containerizzati. Offre primitive potenti, ma lascia al team molte decisioni: ingress, storage, policy, observability, gestione dei segreti, developer workflow, deployment strategy e componenti della piattaforma.
Un’organizzazione può costruire sopra Kubernetes una vera esperienza PaaS aggiungendo automazione, cataloghi di servizi, pipeline, policy, runtime e strumenti self-service.
Per questo una piattaforma gestita basata su Kubernetes può essere venduta e utilizzata come PaaS, mentre un cluster Kubernetes “nudo” richiede ancora una quantità significativa di platform engineering.
Quando scegliere PaaS e quando ha più senso un’altra soluzione
PaaS è particolarmente adatto quando devi sviluppare un’applicazione personalizzata ma non hai un motivo valido per possedere e gestire l’intera piattaforma sottostante.
| Scenario | PaaS | Alternativa da valutare |
|---|---|---|
| MVP o nuova web app | molto adatto | serverless se il workload lo consente |
| API e backend applicativi | molto adatto | container/serverless per requisiti specifici |
| team piccolo senza piattaforma interna | molto adatto | SaaS se il problema è già risolto da software pronto |
| deployment frequenti | molto adatto | container platform se serve più controllo |
| workload legacy con forte dipendenza dall’OS | meno adatto | IaaS o modernizzazione graduale |
| requisiti di rete molto specifici | da verificare | IaaS o piattaforma container più controllabile |
| software standard già disponibile | spesso eccessivo | SaaS |
| necessità di modificare kernel o sistema operativo | poco adatto | IaaS/bare metal |
| portabilità multicloud come requisito prioritario | dipende dal servizio | container/Kubernetes e componenti standard |
Scegli PaaS quando vuoi accelerare lo sviluppo
È il caso tipico di web app, API, backend, portali, applicazioni interne e servizi digitali per i quali il team vuole concentrarsi sul prodotto.
Se creare e mantenere la piattaforma non genera un vantaggio competitivo, delegarla può essere una buona decisione.
Evitalo quando l’infrastruttura fa parte del requisito
Alcuni workload richiedono controllo dettagliato su rete, storage, sistema operativo, hardware o componenti installati.
In questi casi cercare di adattare l’applicazione ai limiti di un PaaS può produrre più complessità di quella che dovrebbe eliminare.
Valuta SaaS prima di costruire
Prima di creare un’applicazione su PaaS, chiediti se esiste già un SaaS affidabile che risolve il problema.
Costruire software proprietario ha un costo permanente: sviluppo, sicurezza, manutenzione, supporto, aggiornamenti e gestione dei dati. Il fatto che un PaaS renda il deployment più semplice non rende automaticamente conveniente sviluppare un prodotto da zero.
Valuta serverless se il workload è event-driven o molto variabile
Funzioni, job, webhook, microservizi stateless e workload che restano inattivi per lunghi periodi possono beneficiare di modelli serverless.
Anche qui non esiste una regola universale: timeout, cold start, costi, osservabilità e vincoli architetturali vanno confrontati con il modello PaaS tradizionale.
Come scegliere una piattaforma PaaS
La scelta non dovrebbe partire dal logo del provider. Parti dall’applicazione e dai vincoli che non puoi negoziare.
Linguaggi, runtime e framework
Controlla quali linguaggi sono supportati, quali versioni sono disponibili e quanto dura il ciclo di supporto.
Se il tuo stack dipende da una versione specifica o da librerie native particolari, verifica prima il runtime reale della piattaforma, non soltanto la lista dei linguaggi nella pagina commerciale.
Deployment e CI/CD
Chiediti come arriva il codice in produzione.
La piattaforma supporta Git, CLI, container, artifact registry e pipeline CI/CD? Puoi fare deployment progressivi, staging slot, rollback e separare chiaramente ambienti di sviluppo, test e produzione?
Una developer experience piacevole nei primi dieci minuti conta meno di un processo di release affidabile nei successivi tre anni.
Database e servizi gestiti
Valuta quali database e servizi dati puoi utilizzare e quanto sono accoppiati alla piattaforma.
Un database gestito può eliminare molto lavoro operativo, ma diventa anche uno dei componenti più difficili da migrare quando dati, estensioni o API divergono dagli standard.
Scalabilità e affidabilità
Non fermarti alla voce “autoscaling”. Verifica:
- quale metrica attiva lo scaling;
- quali limiti minimi e massimi esistono;
- quanto tempo richiede l’aumento di capacità;
- come vengono gestite più zone o regioni;
- cosa succede durante un deployment;
- come vengono eseguiti health check e restart;
- quali SLA sono previsti dal piano scelto.
Observability e troubleshooting
Log, metriche e tracing devono permetterti di capire cosa succede senza accedere al server sottostante.
Cerca integrazioni con strumenti esterni, retention configurabile, correlazione fra request e servizi e accesso ai dati necessari per diagnosticare errori e colli di bottiglia.
Sicurezza, identità e compliance
Verifica come vengono gestiti:
- identità e ruoli;
- segreti e credenziali;
- TLS e certificati;
- network isolation;
- firewall e private endpoint;
- cifratura;
- audit log;
- patching della piattaforma;
- certificazioni richieste dalla tua organizzazione.
Ricorda che il provider protegge la piattaforma, ma il tuo codice, i tuoi dati e le tue configurazioni restano parte del problema di sicurezza.
Regioni e data residency
Una piattaforma può essere eccellente tecnicamente e non essere utilizzabile se non offre la regione, la residenza dei dati o le condizioni contrattuali richieste.
Controlla separatamente applicazione, database, backup, log e servizi accessori: non è scontato che ogni componente sia disponibile nelle stesse regioni.
Prezzi, traffico ed egress
Non confrontare soltanto il prezzo base del runtime.
Calcola almeno:
compute + database + storage + traffico + egress + log/monitoring + servizi collegati + supporto.
Aggiungi poi il costo del lavoro necessario per operare la soluzione. Un servizio più caro al mese può essere economicamente migliore se evita un carico operativo significativo; può anche accadere l’opposto quando il consumo cresce molto.
Portabilità e strategia di uscita
Prima di entrare in una piattaforma, prova a descrivere come ne usciresti.
Non serve progettare ogni applicazione per cambiare provider domani. Serve sapere quali componenti renderebbero una migrazione difficile.
Controlla:
- runtime standard o proprietari;
- containerizzazione;
- database;
- formati dei dati;
- servizi di messaging;
- identity provider;
- object storage;
- API proprietarie;
- strumenti di deployment;
- DNS e certificati;
- dipendenze da regioni e servizi esclusivi.
Una exit strategy credibile è un criterio di architettura, non una previsione pessimistica.
Domande frequenti sul PaaS
PaaS è la stessa cosa del cloud computing?
No. Il cloud computing è il modello generale con cui vengono forniti risorse e servizi informatici on demand. PaaS è uno dei modelli di servizio che possono essere offerti attraverso un’infrastruttura cloud.
PaaS include sempre un database?
No. Alcune piattaforme includono o integrano database gestiti, altre li offrono come servizi separati. Devi verificare quali servizi dati sono disponibili, come vengono fatturati e quali responsabilità restano al cliente.
Heroku è un PaaS?
Sì. Heroku si definisce esplicitamente una Platform as a Service e offre un ambiente gestito per distribuire, eseguire e scalare applicazioni.
Google App Engine è ancora un PaaS utilizzabile?
Sì, App Engine continua a essere disponibile. Per nuovi progetti, però, Google raccomanda ai nuovi utenti di valutare Cloud Run come alternativa preferita. È un buon esempio di come il mercato si stia spostando da categorie PaaS rigide verso application platform serverless e container gestiti.
PaaS e iPaaS sono la stessa cosa?
No. PaaS è una piattaforma per sviluppare ed eseguire applicazioni. iPaaS, Integration Platform as a Service, è invece orientata soprattutto a collegare applicazioni, dati e servizi attraverso flussi di integrazione, connettori e automazioni.
PaaS è serverless?
Non necessariamente. Entrambi possono ridurre la gestione dell’infrastruttura, ma serverless descrive un modello operativo in cui provisioning e scaling della capacità sono fortemente astratti. Alcune piattaforme moderne combinano caratteristiche di entrambi i modelli.
Kubernetes è un PaaS?
Non da solo. Kubernetes è una piattaforma di orchestrazione dei container. Può diventare la base di una PaaS quando sopra vengono aggiunti workflow per sviluppatori, deployment, policy, servizi gestiti, observability e automazione della piattaforma.
Conclusione
PaaS ha senso quando vuoi costruire software senza trasformare la gestione dell’infrastruttura nel lavoro principale del team.
Per una web app, un’API o un prodotto digitale, una buona piattaforma può eliminare provisioning manuale, gestione del sistema operativo e molte attività ripetitive. In cambio devi accettare i suoi runtime, i suoi limiti, il suo modello di deployment e una certa dipendenza dai servizi scelti.
La decisione quindi non è “PaaS sì o no” in astratto.
Se vuoi usare un software già pronto, parti da SaaS. Se devi controllare direttamente sistema operativo e infrastruttura, guarda prima a IaaS. Se devi sviluppare un’applicazione ma non hai un motivo concreto per gestire tutto lo stack sottostante, PaaS è spesso il punto di equilibrio più razionale.
Prima di scegliere il provider, verifica cinque cose: ciò che il servizio gestisce davvero, i vincoli del runtime, i costi a scala, la responsabilità sulla sicurezza e quanto sarebbe difficile spostare l’applicazione altrove. È lì che si vede la differenza fra una piattaforma semplicemente comoda da provare e una piattaforma adatta a sostenere il progetto nel tempo.