Salta al contenuto
Alessandro Manzullo Communication Contattaci
Contattaci

Skill

Piattaforme a più clienti

Software che serve tanti clienti dallo stesso impianto, ognuno con i propri dati, i propri utenti e il proprio dominio.

Un gestionale per un cliente solo è un progetto. Un gestionale che ne serve cento è un prodotto, e cambia tutto: i permessi, i piani, i limiti, la fatturazione, l’assistenza, gli aggiornamenti che devono valere per tutti senza rompere nessuno.

L’isolamento non è una buona intenzione

Il punto dove queste piattaforme si rompono è sempre lo stesso: da qualche parte il programma si fida dell’identificativo che arriva dal browser. Basta cambiarlo e si vedono i dati di un altro. La difesa è strutturale: l’appartenenza si risolve una volta sola, lato server, e ogni azione passa da lì. Non è una verifica sparsa in trecento punti, è un punto solo che le altre trecento attraversano per forza.

Piani, limiti e le eccezioni che fanno la differenza

Ogni cliente ha un piano con limiti veri scritti nel database, non nel codice. E siccome nella realtà esistono sempre gli accordi speciali, esistono anche le deroghe per singolo cliente — con accanto la motivazione scritta a parole, così fra sei mesi si sa ancora perché quel cliente ha un trattamento diverso.

Track record

  • Una sola applicazione che serve tre domini diversi con tre identità diverse, sullo stesso archivio
  • Novantacinque tabelle, sei ruoli, un titolare che può gestire più sedi e passare dall'una all'altra
  • L'identità del cliente arriva dal server, mai dal browser: quello che manda la pagina è un dato, non un permesso
  • Accesso come cliente per l'assistenza, con una fascia sempre visibile che ricorda a nome di chi si sta lavorando
  • Domini dei clienti che si accendono da soli, con certificato automatico, perché l'elenco vive nel database

Tool

Next.jsPrismaPostgresTraefikDocker

Alessandro Manzullo Communication
Passo 1Di cosa vi occupate?