Případová studie AI a SaaS

Náš přepisovací SaaS přešel z Rails do Rustu za sedm dní a nikoho neodhlásil

SoundScript.AI převádí zvuk na text v 99 jazycích. Jeho aplikace na Rails provozovala web, úlohy na pozadí i Redis na jediném malém serveru a narážela na své limity. Přepsali jsme ji do Rustu, stránku po stránce porovnali se starou aplikací a produkci přepnuli v okně asi čtyř minut.

Klient
Envixo
Platforma
Webová aplikace a mobilní API
Odvětví
AI a SaaS
Spuštěno
2026

Výzva

Aplikace na Rails 8.1 fungovala, ale Puma, Sidekiq, Redis a PostgreSQL se dělily o server s 1.9 GB paměti. Při zátěži odpovídaly stránky v řádu sekund a v červenci 2026 se úlohy na pozadí zasekly na pět dní.

Předtím: Puma, Sidekiq, Redis a PostgreSQL na jednom serveru s 1.9 GB paměti
Potom: Webové a workerové služby na Kubernetes se spravovaným PostgreSQL 18 a bez Redisu: fronty, živé aktualizace a limity požadavků běží na PostgreSQL
Předtím: Medián 2.7 s na veřejných stránkách při 100 souběžných připojeních
Potom: Medián 11.7 ms ve stejném testu
Předtím: Exporty do PDF nečitelné v arabském, hebrejském, perském, urdském a dévanágarském písmu
Potom: PDF vysázená v Typstu s fonty Noto, se správným tvarováním a textem zprava doleva
Předtím: Platební a přepisovací webhooky, které přijímaly nepodepsané události, když chybělo tajemství
Potom: Každý podpis webhooku ověřen, vždy
Předtím: 937 MB paměti ve špičce
Potom: 102 MB paměti ve špičce

Co jsme vyvinuli

Kompletní přepsání produktu, ne prototyp: web v 99 jazycích, přepisovací pipeline, souhrny a chat s AI, exporty, fakturace, mobilní API a administrační konzole.

Stejné URL a rozhraní

Každá lokalizovaná stránka, cesta webhooku, endpoint mobilního API a úložný bucket zůstaly stejné, takže odkazy, aplikace i integrace fungovaly dál.

Nikdo nebyl odhlášen

Aplikace v Rustu čte session cookie z Rails a existující hashe hesel, takže uživatelé zůstali během přepnutí přihlášení.

Data ověřená, ne předpokládaná

Po poslední kopii se mezi starou a novou databází porovnaly počty řádků a kontrolní součty účtů, přepisů, spotřeby a předplatných: shodné.

Testovací sada pro paritu

Proti oběma aplikacím se přehrálo a porovnalo 1,126 požadavků na stránky v 11 typech uživatele a čtyřech jazycích, 39 odeslání formulářů a 343 administračních požadavků.

Celý produkt

Přepis pomocí Whisperu a Azure, živý stav, souhrn a chat s AI, exporty do TXT, SRT, DOCX a PDF, fakturace přes Stripe a Google Play a administrační konzole.

Bezpečná cesta zpět

Starý server zůstal po přepnutí dva týdny nedotčený, takže návrat zpět byl jen změnou DNS.

Technické výsledky

Měřeno v zátěžovém testu před spuštěním na sdíleném stroji: absolutní čísla jsou orientační, poměry platí.

230x
Rychlejší mediánová odezva při zátěži
9x
Méně paměti ve špičce
880
Automatizované testy při každé změně
7
Dny od prvního commitu do produkce
  • Produkce přepnuta v okně asi čtyř minut
  • Registrace, nahrávání, živý stav, stahování, AI, API a administrace zkontrolovány v produkci po přepnutí
  • Zátěžový test odhalil chybu v poolu připojení, opravenou před spuštěním
  • 99 jazyků, včetně PDF psaných zprava doleva

Technologie

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

Potřebujete software postavený na míru vaší firmě?

Integrace, interní nástroje, aplikace a platformy vyvinuté na zakázku zkušenými inženýry, kteří řídí AI agenty. Řekněte nám, co potřebujete, a ukážeme vám, jak bychom to postavili.