Studium przypadku AI i SaaS

Nasz SaaS do transkrypcji przeszedł z Rails na Rust w siedem dni, nikogo nie wylogowując

SoundScript.AI zamienia dźwięk w tekst w 99 językach. Aplikacja w Rails obsługiwała stronę, zadania w tle i Redisa na jednym małym serwerze i dochodziła do swoich granic. Przepisaliśmy ją w Rust, sprawdziliśmy strona po stronie względem starej wersji i przełączyliśmy produkcję w okienku około czterech minut.

Klient
Envixo
Platforma
Aplikacja web i API mobilne
Branża
AI i SaaS
Premiera
2026

Wyzwanie

Aplikacja w Rails 8.1 działała, ale Puma, Sidekiq, Redis i PostgreSQL dzieliły serwer z 1.9 GB pamięci. Pod obciążeniem strony odpowiadały po kilku sekundach, a w lipcu 2026 zadania w tle stanęły na pięć dni.

Przedtem: Puma, Sidekiq, Redis i PostgreSQL na jednym serwerze z 1.9 GB pamięci
Potem: Usługi web i worker na Kubernetes z zarządzanym PostgreSQL 18 i bez Redisa: kolejki, aktualizacje na żywo i limity działają na PostgreSQL
Przedtem: Mediana 2.7 s na stronach publicznych przy 100 jednoczesnych połączeniach
Potem: Mediana 11.7 ms w tym samym teście
Przedtem: Eksporty PDF nieczytelne w arabskim, hebrajskim, perskim, urdu i pismach dewanagari
Potem: PDF-y składane w Typst z fontami Noto, z poprawnym kształtowaniem znaków i tekstem od prawej do lewej
Przedtem: Webhooki płatności i transkrypcji, które przyjmowały niepodpisane zdarzenia, gdy brakowało sekretu
Potem: Każdy podpis webhooka weryfikowany, zawsze
Przedtem: 937 MB pamięci w szczycie
Potem: 102 MB pamięci w szczycie

Co zbudowaliśmy

Pełne przepisanie produktu, a nie prototyp: strona w 99 językach, proces transkrypcji, streszczenia i czat z AI, eksporty, rozliczenia, API mobilne i panel administracyjny.

Te same adresy URL i kontrakty

Każda strona językowa, ścieżka webhooka, endpoint API mobilnego i magazyn plików pozostały takie same, więc linki, aplikacje i integracje dalej działały.

Nikt nie został wylogowany

Aplikacja w Rust czyta ciasteczko sesji Rails i istniejące skróty haseł, więc użytkownicy pozostali zalogowani przez całe przełączenie.

Dane sprawdzone, a nie założone

Po ostatniej kopii porównaliśmy liczby wierszy i sumy kontrolne kont, transkrypcji, zużycia i subskrypcji między starą i nową bazą danych: identyczne.

Stanowisko testowe do porównań

1,126 żądań stron dla 11 rodzajów użytkowników i czterech języków, 39 wysłanych formularzy i 343 żądania administracyjne odtworzono w obu aplikacjach i porównano.

Cały produkt

Transkrypcja z Whisper i Azure, status na żywo, streszczenie i czat z AI, eksporty TXT, SRT, DOCX i PDF, rozliczenia Stripe i Google Play oraz panel administracyjny.

Bezpieczna droga powrotna

Stary serwer pozostał nietknięty dwa tygodnie po przełączeniu, więc wycofanie było zmianą DNS.

Wyniki inżynieryjne

Zmierzone w teście obciążeniowym przed startem, na współdzielonej maszynie: liczby bezwzględne są orientacyjne, proporcje się trzymają.

230x
Szybsza mediana odpowiedzi pod obciążeniem
9x
Mniej pamięci w szczycie
880
Testy automatyczne uruchamiane przy każdej zmianie
7
Dni od pierwszego commita do produkcji
  • Produkcja przełączona w okienku około czterech minut
  • Rejestracja, wysyłanie plików, status na żywo, pobieranie, AI, API i panel admina sprawdzone na produkcji po przełączeniu
  • Test obciążeniowy wykrył błąd w puli połączeń, naprawiony przed startem
  • 99 języków, w tym PDF-y od prawej do lewej

Technologia

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

Potrzebujesz oprogramowania dopasowanego do Twojej firmy?

Integracje, narzędzia wewnętrzne, aplikacje i platformy tworzone na zamówienie przez doświadczonych inżynierów kierujących agentami AI. Powiedz nam, czego potrzebujesz, a pokażemy Ci, jak byśmy to zbudowali.