Cosa comporta lo sviluppo di un SaaS, oltre alle funzionalità?
Un prodotto SaaS ha due parti: le funzionalità per cui i clienti pagano e la piattaforma che permette a molti clienti di usarle in sicurezza nello stesso momento. La piattaforma comprende isolamento dei tenant, registrazione e gestione dei team, abbonamenti e fatturazione, un’API pubblica, strumenti di amministrazione, monitoraggio e un processo di rilascio. Nel primo anno richiede spesso tanto lavoro quanto le funzionalità, ed è la parte più costosa da aggiungere a posteriori. Progettiamo entrambe fin dall’inizio e costruiamo solo la piattaforma che serve nella fase in cui ti trovi.
Dall’MVP alla produzione: le fasi
| Fase |
Obiettivo |
Cosa esiste alla fine |
| Analisi |
Individuare l’ipotesi più rischiosa e il prodotto più piccolo che la mette alla prova |
Perimetro, nota di architettura, modello di tenancy e di prezzo |
| MVP |
Utenti reali su dati reali |
Registrazione, flusso principale, fatturazione, tracciamento degli errori, backup |
| Produzione |
Clienti paganti che ci contano |
Ruoli, registro di audit, API pubblica, console di amministrazione, monitoraggio, revisione di sicurezza |
| Crescita |
Crescere senza emergenze continue |
Code di lavoro, cache, limiti per tenant, budget di prestazioni, runbook per la reperibilità |
Un MVP è piccolo nel perimetro, non nella qualità. Autenticazione, isolamento dei tenant e logging ci sono dal primo rilascio, perché aggiungerli dopo significa mettere mano a ogni query e a ogni schermata.
Le decisioni di architettura che prendiamo subito
Modello di tenancy. Database condiviso con una colonna tenant, uno schema per tenant oppure un database per tenant. Di solito partiamo da un database PostgreSQL condiviso e applichiamo l’isolamento con la row-level security: un filtro dimenticato nel codice applicativo non può esporre le righe di un altro tenant. Il design lascia spazio per spostare in seguito un grande cliente su un database dedicato, se un contratto lo richiede.
Identità e accessi. Sessioni per l’applicazione web, chiavi API con ambiti limitati per le integrazioni e token firmati a breve scadenza (RS256) quando il prodotto è integrato in un’altra piattaforma. I permessi vengono verificati nel backend a ogni richiesta.
Fatturazione. Il provider di fatturazione è la fonte di verità per i pagamenti; il tuo prodotto lo è per ciò che ogni piano consente. Webhook con firma verificata mantengono sincronizzate le due parti, e l’accesso non viene mai concesso sulla base di un semplice redirect del browser.
API first. Una REST API versionata con documento OpenAPI, paginazione basata su cursore e chiavi di idempotenza sulle richieste di scrittura. Per i prodotti che devono poter essere usati da agenti di IA, accanto all’API c’è un server MCP in sola lettura.
Funzioni di IA con dei limiti. Dove il prodotto richiama modelli linguistici (LLM), aggiungiamo tetti di costo per tenant, validazione dell’output del modello, un provider di riserva e la registrazione di modello, versione del prompt, token e costo per ogni chiamata.
Cosa va storto tra MVP e produzione
- Dati visibili tra tenant diversi. Si evita con l’isolamento a livello di database e con test automatici che tentano letture incrociate tra tenant.
- Fatturazione non allineata. Un webhook perso lascia l’accesso a un cliente che ha disdetto, o lo toglie a uno che paga. Handler idempotenti e un job di riconciliazione quotidiano colmano il divario.
- Un cliente che rallenta tutti. L’importazione massiva di un solo cliente rallenta gli altri. Code di lavoro in background e limiti di frequenza per tenant contengono il problema.
- Supporto alla cieca. Senza una console di amministrazione e senza gli ID delle richieste nei log, ogni ticket di supporto si risolve tirando a indovinare.
- Webhook che falliscono in silenzio. Firmiamo ogni consegna in uscita, ripetiamo i tentativi con back-off e disattiviamo gli endpoint che continuano a fallire, spiegando al cliente il motivo.
Usiamo l’OWASP Application Security Verification Standard (ASVS) come checklist di prontezza per la produzione e seguiamo le pratiche del NIST Secure Software Development Framework (SP 800-218): code review, analisi statica e scansione delle credenziali in CI, e un processo di rilascio documentato. La LPD riveduta si applica ai trattamenti che producono effetti in Svizzera, per esempio quando il prodotto ha utenti svizzeri. Il GDPR si applica se la tua azienda ha sede nell’UE o se offri il prodotto a persone nell’UE, e l’AI Act dell’UE può riguardare le funzioni di IA il cui output viene usato lì. Progettiamo flussi di dati, elenchi dei fornitori e hosting (in Svizzera o in una regione UE) in modo che le tue risposte ai questionari di sicurezza dei clienti siano corrette.
Cosa incide su costi e tempi
| Fattore |
Effetto sull’impegno |
| Tenancy e isolamento |
Database dedicati o hosting regionale per singolo cliente aggiungono lavoro di sviluppo e di gestione. |
| Modello di fatturazione |
Licenze per utente, conteggio dell’utilizzo, periodi di prova e imposte aggiungono ciascuno regole e casi limite. |
| Integrazioni |
Ogni sistema di terzi porta con sé la propria autenticazione, i propri limiti e i propri modi di fallire. |
| Funzioni di IA |
Progettazione dei prompt, valutazione e controllo dei costi si aggiungono alla funzione stessa. |
| Requisiti enterprise |
Single sign-on, esportazioni per l’audit e revisioni di sicurezza arrivano con i clienti più grandi. |
| MVP esistente |
Sostituire una base no-code o un prototipo richiede migrazione dei dati e un periodo di esercizio parallelo. |
Dopo la fase di analisi quotiamo l’MVP come progetto a perimetro fisso, poi pianifichiamo le fasi successive in base a ciò che ti insegna. Fasi e checklist di prontezza sono approfondite in dall’MVP alla produzione.
Come si collega al resto dell’azienda
Un prodotto SaaS ha bisogno di un sistema commerciale attorno. Prove gratuite e registrazioni confluiscono nell’automazione CRM e vendite. Le email di onboarding, fatturazione e utilizzo passano dall’automazione email. I dati del prodotto vengono scambiati con gli strumenti dei tuoi clienti tramite integrazioni API.
Perché Sensaria
Realizziamo e gestiamo piattaforme di questo tipo. Una directory di API di comunicazione che abbiamo realizzato pubblica una REST API pubblica con documento OpenAPI, più un server MCP in sola lettura; le richieste in testo libero passano da un parser deterministico invece che da un LLM, così la stessa domanda riceve sempre la stessa risposta. Per un cliente abbiamo sviluppato un prodotto multi-tenant con row-level security in PostgreSQL, webhook in uscita firmati con nuovi tentativi e disattivazione automatica, e un widget integrabile autenticato con token a breve scadenza. Sensaria AG ha sede a Lugano, in Svizzera, e lavora in italiano, tedesco, francese e inglese.