Il nostro SaaS di trascrizione è passato da Rails a Rust in sette giorni, senza disconnettere nessuno
SoundScript.AI trasforma l'audio in testo in 99 lingue. La sua applicazione Rails faceva girare il sito, i lavori in background e Redis su un solo piccolo server ed era arrivata al limite. L'abbiamo riscritta in Rust, verificata pagina per pagina contro la vecchia applicazione e abbiamo spostato la produzione in una finestra di circa quattro minuti.
- Cliente
- Envixo
- Piattaforma
- App web e API mobile
- Settore
- AI e SaaS
- Lancio
- 2026
La sfida
L'applicazione Rails 8.1 funzionava, ma Puma, Sidekiq, Redis e PostgreSQL condividevano un server con 1,9 GB di memoria. Sotto carico le pagine rispondevano in diversi secondi e a luglio 2026 i lavori in background sono rimasti bloccati per cinque giorni.
Cosa abbiamo realizzato
Una riscrittura completa del prodotto, non un prototipo: il sito in 99 lingue, la pipeline di trascrizione, i riassunti e la chat AI, le esportazioni, la fatturazione, l'API mobile e la console di amministrazione.
Stessi URL e stessi contratti
Ogni pagina localizzata, percorso dei webhook, endpoint dell'API mobile e bucket di archiviazione è rimasto lo stesso, così link, app e integrazioni hanno continuato a funzionare.
Nessuno disconnesso
L'applicazione Rust legge il cookie di sessione di Rails e gli hash delle password esistenti, così gli utenti sono rimasti connessi durante il passaggio.
Dati verificati, non dati per scontati
Dopo la copia finale, il numero di righe e i checksum di account, trascrizioni, consumi e abbonamenti sono stati confrontati tra il vecchio e il nuovo database: identici.
Un banco di prova per la parità
1.126 richieste di pagina per 11 tipi di utente e quattro lingue, 39 invii di form e 343 richieste di amministrazione sono stati ripetuti sulle due applicazioni e confrontati.
Tutto il prodotto
Trascrizione con Whisper e Azure, stato in tempo reale, riassunto e chat AI, esportazioni TXT, SRT, DOCX e PDF, fatturazione con Stripe e Google Play, e una console di amministrazione.
Una via di ritorno sicura
Il vecchio server è rimasto intatto per due settimane dopo il passaggio, così il rollback era un cambio DNS.
Risultati tecnici
Misurato in un test di carico prima del lancio, su una macchina condivisa: i numeri assoluti sono indicativi, i rapporti restano validi.
- Produzione spostata in una finestra di circa quattro minuti
- Registrazione, caricamento, stato in tempo reale, download, AI, API e amministrazione verificati in produzione dopo il passaggio
- Il test di carico ha trovato un bug nel pool di connessioni, risolto prima del lancio
- 99 lingue, compresi i PDF da destra a sinistra
Tecnologia
- Rust
- axum
- PostgreSQL
- Typst
- OpenAI Whisper
- Azure Speech
- Stripe
- Kubernetes
Ti serve un software costruito intorno alla tua attività?
Integrazioni, strumenti interni, app e piattaforme, realizzati su commessa da ingegneri senior che guidano agenti AI. Dicci di cosa hai bisogno e ti mostreremo come lo realizzeremmo.