Projekts MI un SaaS

Mūsu transkripcijas SaaS septiņās dienās pārcelts no Rails uz Rust, nevienu neizrakstot

SoundScript.AI pārvērš audio tekstā 99 valodās. Tās Rails lietotne vienā nelielā serverī darbināja vietni, fona uzdevumus un Redis un bija sasniegusi savas robežas. Mēs to pārrakstījām Rust valodā, pārbaudījām lapu pēc lapas pret veco lietotni un pārslēdzām produkciju aptuveni četru minūšu logā.

Klients
Envixo
Platforma
Tīmekļa lietotne un mobilais API
Nozare
MI un SaaS
Palaista
2026

Izaicinājums

Rails 8.1 lietotne darbojās, taču Puma, Sidekiq, Redis un PostgreSQL dalīja vienu serveri ar 1,9 GB atmiņas. Pie slodzes lapas atbildēja sekundēs, un 2026. gada jūlijā fona uzdevumi iestrēga uz piecām dienām.

Pirms: Puma, Sidekiq, Redis un PostgreSQL vienā serverī ar 1,9 GB atmiņas
Pēc: Tīmekļa un fona pakalpojumi Kubernetes vidē ar pārvaldītu PostgreSQL 18 un bez Redis: rindas, atjauninājumi reāllaikā un pieprasījumu ierobežojumi darbojas uz PostgreSQL
Pirms: Mediāna 2,7 s publiskajās lapās pie 100 vienlaicīgiem savienojumiem
Pēc: Mediāna 11,7 ms tajā pašā testā
Pirms: PDF eksporti, kas bija nesalasāmi arābu, ivrita, persiešu, urdu un devanāgarī rakstos
Pēc: PDF faili, kas salikti ar Typst un Noto fontiem, ar pareizu burtu savienošanu un tekstu no labās uz kreiso
Pirms: Maksājumu un transkripcijas webhook, kas pieņēma neparakstītus notikumus, ja trūka slepenās atslēgas
Pēc: Katrs webhook paraksts tiek pārbaudīts, vienmēr
Pirms: 937 MB atmiņas maksimumā
Pēc: 102 MB atmiņas maksimumā

Ko mēs izveidojām

Pilnīga produkta pārrakstīšana, nevis prototips: vietne 99 valodās, transkripcijas process, MI kopsavilkumi un tērzēšana, eksporti, norēķini, mobilais API un administrēšanas panelis.

Tie paši URL un saskarnes

Katra lokalizētā lapa, webhook ceļš, mobilā API galapunkts un krātuves kopa palika tāda pati, tāpēc saites, lietotnes un integrācijas turpināja darboties.

Neviens netika izrakstīts

Rust lietotne lasa Rails sesijas sīkdatni un esošos paroļu jaucējkodus, tāpēc lietotāji palika pieteikušies arī pēc pārslēgšanās.

Dati pārbaudīti, nevis pieņemti

Pēc pēdējās kopijas kontu, transkripciju, lietojuma un abonementu rindu skaits un kontrolsummas tika salīdzinātas starp veco un jauno datubāzi: identiskas.

Paritātes testu ietvars

1,126 lapu pieprasījumi 11 lietotāju veidiem un četrās valodās, 39 formu nosūtīšanas un 343 administrēšanas pieprasījumi tika atkārtoti abās lietotnēs un salīdzināti.

Viss produkts

Transkripcija ar Whisper un Azure, statuss reāllaikā, MI kopsavilkums un tērzēšana, TXT, SRT, DOCX un PDF eksporti, norēķini ar Stripe un Google Play, kā arī administrēšanas panelis.

Drošs ceļš atpakaļ

Vecais serveris palika neskarts divas nedēļas pēc pārslēgšanās, tāpēc atgriešanās bija tikai DNS izmaiņa.

Inženiertehniskie rezultāti

Mērīts slodzes testā pirms palaišanas, uz koplietota servera: absolūtie skaitļi ir orientējoši, attiecības saglabājas.

230x
Ātrāka mediānas atbilde pie slodzes
9x
Mazāk atmiņas maksimumā
880
Automatizēti testi, kas tiek palaisti pie katras izmaiņas
7
Dienas no pirmās izmaiņas līdz produkcijai
  • Produkcija pārslēgta aptuveni četru minūšu logā
  • Reģistrācija, augšupielāde, statuss reāllaikā, lejupielādes, MI, API un administrēšana pārbaudīti produkcijā pēc pārslēgšanās
  • Slodzes tests atklāja savienojumu kopas kļūdu, kas tika izlabota pirms palaišanas
  • 99 valodas, tostarp PDF faili no labās uz kreiso

Tehnoloģijas

  • Rust
  • axum
  • PostgreSQL
  • Typst
  • OpenAI Whisper
  • Azure Speech
  • Stripe
  • Kubernetes

Vajadzīga programmatūra, kas veidota ap jūsu biznesu?

Integrācijas, iekšējie rīki, lietotnes un platformas, ko pēc pasūtījuma veido pieredzējuši inženieri, kas vada MI aģentus. Pastāstiet, kas jums nepieciešams, un mēs parādīsim, kā mēs to izveidotu.