Mūsų transkribavimo SaaS per septynias dienas perkeltas iš Rails į Rust, nieko neatjungus
SoundScript.AI paverčia garsą tekstu 99 kalbomis. Jo Rails programa viename mažame serveryje laikė svetainę, fonines užduotis ir Redis ir jau artėjo prie savo ribų. Perrašėme ją su Rust, puslapis po puslapio palyginome su senąja programa ir perjungėme gamybinę aplinką per maždaug keturių minučių langą.
- Klientas
- Envixo
- Platforma
- Žiniatinklio programa ir mobilioji API
- Sektorius
- DI ir SaaS
- Paleista
- 2026
Iššūkis
Rails 8.1 programa veikė, bet Puma, Sidekiq, Redis ir PostgreSQL dalijosi serveriu su 1.9 GB atminties. Esant apkrovai puslapiai atsakydavo per kelias sekundes, o 2026 m. liepą foninės užduotys užstrigo penkioms dienoms.
Ką sukūrėme
Visiškas produkto perrašymas, ne prototipas: svetainė 99 kalbomis, transkribavimo konvejeris, DI santraukos ir pokalbiai, eksportai, atsiskaitymai, mobilioji API ir administravimo konsolė.
Tie patys URL ir sąsajos
Kiekvienas lokalizuotas puslapis, webhook kelias, mobiliosios API galinis taškas ir saugyklos sritis liko tie patys, todėl nuorodos, programėlės ir integracijos toliau veikė.
Niekas neatjungtas
Rust programa skaito Rails sesijos slapuką ir esamas slaptažodžių maišas, todėl vartotojai per perjungimą liko prisijungę.
Duomenys patikrinti, o ne numanyti
Po galutinio kopijavimo paskyrų, transkripcijų, naudojimo ir prenumeratų įrašų skaičiai bei kontrolinės sumos buvo palygintos senojoje ir naujojoje duomenų bazėse: identiškos.
Lygiavertiškumo testų sistema
1,126 puslapių užklausos 11 vartotojų tipų ir keturiomis kalbomis, 39 formų pateikimai ir 343 administravimo užklausos buvo pakartotos abiem programoms ir palygintos.
Visas produktas
Transkribavimas su Whisper ir Azure, tiesioginė būsena, DI santrauka ir pokalbiai, TXT, SRT, DOCX ir PDF eksportai, Stripe ir Google Play atsiskaitymai bei administravimo konsolė.
Saugus kelias atgal
Senasis serveris dar dvi savaites po perjungimo liko nepaliestas, todėl atšaukimas buvo tik DNS pakeitimas.
Inžineriniai rezultatai
Išmatuota apkrovos teste prieš paleidimą, bendrai naudojamoje mašinoje: absoliutūs skaičiai orientaciniai, santykiai nesikeičia.
- Gamybinė aplinka perjungta per maždaug keturių minučių langą
- Registracija, įkėlimas, tiesioginė būsena, atsisiuntimai, DI, API ir administravimas patikrinti gamyboje po perjungimo
- Apkrovos testas rado prisijungimų telkinio klaidą, pataisytą prieš paleidimą
- 99 kalbos, įskaitant PDF iš dešinės į kairę
Technologijos
- Rust
- axum
- PostgreSQL
- Typst
- OpenAI Whisper
- Azure Speech
- Stripe
- Kubernetes
Reikia programinės įrangos, sukurtos pagal jūsų verslą?
Integracijos, vidiniai įrankiai, programėlės ir platformos, kuriamos pagal užsakymą patyrusių inžinierių, vadovaujančių DI agentams. Papasakokite, ko jums reikia, ir parodysime, kaip tai sukurtume.