Esettanulmány AI és SaaS

Átírási SaaS-ünk hét nap alatt költözött Railsről Rustra, és senkit sem léptetett ki

A SoundScript.AI 99 nyelven alakít hangot szöveggé. A Rails alkalmazása egyetlen kis kiszolgálón futtatta a weboldalt, a háttérfeladatokat és a Redist, és elérte a határait. Átírtuk Rustra, oldalról oldalra összevetettük a régi alkalmazással, és körülbelül négyperces időablakban álltunk át élesben.

Ügyfél
Envixo
Platform
Webalkalmazás és mobil API
Iparág
AI és SaaS
Indulás
2026

A kihívás

A Rails 8.1 alkalmazás működött, de a Puma, a Sidekiq, a Redis és a PostgreSQL egy 1,9 GB memóriájú kiszolgálón osztozott. Terhelés alatt az oldalak másodpercek alatt válaszoltak, 2026 júliusában pedig a háttérfeladatok öt napra megálltak.

Előtte: Puma, Sidekiq, Redis és PostgreSQL egyetlen, 1,9 GB memóriájú kiszolgálón
Utána: Webes és worker szolgáltatások Kubernetesen, menedzselt PostgreSQL 18-cal, Redis nélkül: a várólisták, az élő frissítések és a kéréskorlátok PostgreSQL-en futnak
Előtte: 2,7 s-os medián a nyilvános oldalakon, 100 egyidejű kapcsolatnál
Utána: 11,7 ms-os medián ugyanazon a teszten
Előtte: Arab, héber, perzsa, urdu és dévanágari írásban olvashatatlan PDF-exportok
Utána: Typsttel és Noto betűkészletekkel szedett PDF-ek, helyes betűformálással és jobbról balra írt szöveggel
Előtte: Fizetési és átírási webhookok, amelyek aláírás nélküli eseményeket is elfogadtak, ha hiányzott egy titkos kulcs
Utána: Minden webhook-aláírás ellenőrizve, mindig
Előtte: 937 MB memória a csúcson
Utána: 102 MB memória a csúcson

Amit fejlesztettünk

A termék teljes átírása, nem prototípus: a weboldal 99 nyelven, az átírási folyamat, az AI-összefoglalók és -csevegés, az exportok, a számlázás, a mobil API és az admin konzol.

Ugyanazok az URL-ek és szerződések

Minden lokalizált oldal, webhook-útvonal, mobil API-végpont és tároló ugyanaz maradt, így a linkek, az alkalmazások és az integrációk tovább működtek.

Senki sem lépett ki

A Rust alkalmazás beolvassa a Rails munkamenet-sütijét és a meglévő jelszókivonatokat, így a felhasználók bejelentkezve maradtak az átállás alatt.

Ellenőrzött, nem feltételezett adatok

A végső másolás után összehasonlítottuk a fiókok, az átiratok, a használat és az előfizetések sorszámait és ellenőrzőösszegeit a régi és az új adatbázis között: azonosak.

Egyezést vizsgáló tesztkörnyezet

1126 oldalkérést 11 felhasználótípuson és négy nyelven, 39 űrlapbeküldést és 343 adminisztrációs kérést játszottunk vissza mindkét alkalmazáson, majd összevetettük őket.

A teljes termék

Átírás Whisperrel és Azure-ral, élő állapot, AI-összefoglaló és -csevegés, TXT-, SRT-, DOCX- és PDF-export, Stripe- és Google Play-számlázás, és egy admin konzol.

Biztos út visszafelé

A régi kiszolgáló az átállás után két hétig érintetlen maradt, így a visszaállítás egy DNS-módosítás volt.

Mérnöki eredmények

Indulás előtti terheléses tesztben mérve, megosztott gépen: az abszolút számok tájékoztató jellegűek, az arányok állnak.

230x
Ennyivel gyorsabb medián válasz terhelés alatt
9x
Ennyivel kevesebb memória a csúcson
880
Automatikus teszt fut minden változtatáskor
7
Nap az első commit-tól az éles üzemig
  • Az éles átállás körülbelül négyperces időablakban történt
  • A regisztrációt, a feltöltést, az élő állapotot, a letöltéseket, az AI-t, az API-t és az adminisztrációt az átállás után élesben is ellenőriztük
  • A terheléses teszt talált egy hibát a kapcsolatkészletben, amelyet indulás előtt kijavítottunk
  • 99 nyelv, a jobbról balra írt PDF-ekkel együtt

Technológia

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

Vállalkozására szabott szoftverre van szüksége?

Integrációk, belső eszközök, alkalmazások és platformok, megrendelésre, AI-ügynököket irányító tapasztalt mérnökök fejlesztésében. Mondja el, mire van szüksége, és megmutatjuk, hogyan építenénk meg.