basementeleven

Caso studio

Testbusters: il simulatore di quiz online migrato su un'architettura serverless AWS

Abbiamo sviluppato il simulatore online con cui gli studenti di Testbusters si preparano ai test di ammissione, e lo abbiamo poi migrato da un monolite PHP su VPS a un'architettura serverless su AWS: stessa base utenti, costi infrastrutturali ridotti dell'87%.

Progetto Testbusters
studenti che hanno usato la piattaforma
100.000+
costi infrastrutturali
-87%
spesa mensile per l'infrastruttura
600 → 80 $

Il cliente

Testbusters prepara gli studenti ai test di ammissione dei corsi di laurea a numero chiuso in Italia, con un forte accento su Medicina, Odontoiatria e Veterinaria. Una parte centrale della preparazione è l'esercitazione: affrontare quiz nelle stesse condizioni della prova reale, più e più volte, e misurare i propri progressi.

La sfida

Con la pandemia di Covid-19 e i vincoli sugli assembramenti, la formazione in presenza non era più possibile. Testbusters ha dovuto digitalizzare in tempi rapidi l'intera offerta, affiancando alla didattica a distanza un simulatore di quiz online.

Noi ci siamo occupati del simulatore: una piattaforma che doveva reggere decine di migliaia di studenti, spesso collegati negli stessi momenti, senza rallentamenti e senza far lievitare i costi.

La prima versione

La prima versione del simulatore è stata sviluppata in PHP con rendering lato server, su un framework realizzato internamente, con database MySQL e un'interfaccia basata su Bootstrap personalizzato tramite SASS. Il tutto girava su una VPS on-premise con Apache.

La piattaforma funzionava, ma il modello infrastrutturale mostrava presto i suoi limiti: una VPS va dimensionata sul carico massimo e si paga per intero anche quando resta inutilizzata. Per servire decine di migliaia di utenti la spesa aveva raggiunto circa 600 dollari al mese.

La migrazione a un'architettura serverless

Abbiamo quindi deciso di scomporre il monolite PHP e passare a un'architettura serverless, in cui le risorse si attivano solo quando servono e scalano automaticamente con il numero di utenti.

Il primo passo è stato MongoDB App Services. Quando MongoDB ne ha annunciato la dismissione, abbiamo migrato l'intera logica su AWS, mantenendo MongoDB Atlas come database: i dati sono rimasti dov'erano e la transizione è stata trasparente per gli studenti.

Tutta l'infrastruttura è descritta come codice con AWS CDK: ogni risorsa è versionata, riproducibile e modificabile in modo controllato, senza configurazioni manuali.

Prima e dopo

Prima

  • Monolite PHP con rendering lato server
  • Database MySQL
  • VPS on-premise con Apache, dimensionata sui picchi
  • Circa 600 $ al mese

Dopo

  • API Gateway e AWS Lambda
  • MongoDB Atlas
  • Serverless su AWS, infrastruttura come codice con CDK
  • Circa 80 $ al mese, a parità di utenti

L'architettura

Amazon Cognito
Autenticazione e gestione degli utenti.
Amazon DynamoDB
Login passwordless e memorizzazione dei codici temporanei di accesso.
API Gateway + AWS Lambda
API e logica applicativa, in modalità proxy.
Amazon S3
Hosting dei contenuti statici.
MongoDB Atlas
Database di domande, simulazioni e risultati.
Amazon SES
Invio delle email transazionali.
AWS CDK
Definizione e rilascio dell'intera infrastruttura come codice.

I risultati

  • Costi infrastrutturali scesi da circa 600 a circa 80 dollari al mese, con la stessa base di utenti.
  • Scalabilità automatica: le risorse crescono con gli studenti collegati e si riducono quando il traffico cala.
  • Accesso passwordless, senza password da ricordare o reimpostare.
  • Infrastruttura interamente descritta come codice, versionata e riproducibile.

Tecnologie

  • AWS Lambda
  • API Gateway
  • Amazon Cognito
  • DynamoDB
  • Amazon S3
  • Amazon SES
  • MongoDB Atlas
  • AWS CDK

Servizi coinvolti

Contatti

Parliamo del tuo progetto.

Raccontaci di cosa hai bisogno: ti ricontatteremo al più presto per approfondire insieme.