Казус AI и SaaS

Нашият SaaS за транскрипция премина от Rails на Rust за седем дни, без да изхвърли никого

SoundScript.AI превръща аудио в текст на 99 езика. Приложението му на Rails държеше сайта, задачите на заден план и Redis на един малък сървър и беше стигнало предела си. Пренаписахме го на Rust, проверихме го страница по страница срещу старото приложение и преместихме продукцията с около четири минути прекъсване.

Клиент
Envixo
Платформа
Уеб приложение и мобилен API
Индустрия
AI и SaaS
Стартирано
2026

Предизвикателството

Приложението на Rails 8.1 работеше, но Puma, Sidekiq, Redis и PostgreSQL делеха един сървър с 1.9 GB памет. При натоварване страниците отговаряха за секунди, а през юли 2026 задачите на заден план спряха за пет дни.

Преди: Puma, Sidekiq, Redis и PostgreSQL на един сървър с 1.9 GB памет
След: Уеб и worker услуги в Kubernetes с управляван PostgreSQL 18 и без Redis: опашките, обновяванията в реално време и ограниченията на заявки работят в PostgreSQL
Преди: Медиана 2.7 s на публичните страници при 100 едновременни връзки
След: Медиана 11.7 ms в същия тест
Преди: Експорти в PDF, нечетими на арабски, иврит, персийски, урду и деванагари
След: PDF файлове, съставени с Typst и шрифтовете Noto, с правилни лигатури и писменост отдясно наляво
Преди: Webhook адресите за плащане и транскрипция приемаха неподписани събития, когато тайният ключ липсваше
След: Подписът на всеки webhook се проверява винаги
Преди: 937 MB памет при пик
След: 102 MB памет при пик

Какво създадохме

Пълно пренаписване на продукта, не прототип: сайт на 99 езика, конвейер за транскрипция, AI резюмета и чат, експорти, плащания, мобилен API и конзола за администриране.

Същите URL адреси и договорености

Всяка преведена страница, път за webhook, адрес на мобилния API и хранилище останаха същите, така че връзките, приложенията и интеграциите продължиха да работят.

Никой не беше изхвърлен

Приложението на Rust чете бисквитката за сесия на Rails и съществуващите хешове на паролите, така че потребителите останаха вписани през смяната.

Данните са проверени, не предположени

Броят на редовете и контролните суми на профилите, транскрипциите, използването и абонаментите бяха сравнени между старата и новата база данни след последното копие: съвпаднаха.

Система за тестове за еднаквост

1,126 заявки за страници, 39 изпратени форми и 343 административни заявки от 11 различни потребителя и четири езика бяха повторени и сравнени в двете приложения.

Целият продукт

Транскрипция с Whisper и Azure, режим в реално време, AI резюмета и чат, експорти в TXT, SRT, DOCX и PDF, плащания през Stripe и Google Play, както и конзола за администриране.

Безопасен път назад

Старият сървър остана непокътнат две седмици след смяната, така че връщането назад беше само смяна на DNS.

Инженерни резултати

Измерено в тест с натоварване на споделена машина преди пускането: абсолютните числа са само ориентир, но съотношенията са надеждни.

230x
По-бърз среден отговор при натоварване
9x
По-малко памет при пик
880
Автоматични теста, които проверяват всяка промяна
7
Дни от първия комит до продукция
  • Продукцията беше преместена с около четири минути прекъсване
  • Регистрацията, качването, режимът в реално време, експортите, AI, API и панелът за управление бяха проверени в продукция след смяната
  • Тестът с натоварване откри дефект в пула от връзки, поправен преди пускането
  • 99 езика, включително PDF файлове отдясно наляво

Технологии

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

Нужен ви е софтуер, изграден около вашия бизнес?

Интеграции, вътрешни инструменти, приложения и платформи, създадени по поръчка от старши инженери, които управляват AI агенти. Кажете ни от какво имате нужда и ще ви покажем как бихме го изградили.