Preskoči na sadržaj
Tirkizna linija stanja sistema na tamnoj mreži: jedan oštar skok pa ravna, neprekinuta linija; ispod nje četiri okvira u nizu, posljednji ispunjen.

„Razlikujemo šta je ružno od toga šta je skupo.“

Tehničko vodstvo, četiri godine: od servera koji pada do četiri smjene bez prekida

Marketing platforma za servisere kamiona u SAD-u. Preuzeli smo proizvod koji je padao na hostingu bez skaliranja i vodili ga kroz četiri tehnološke smjene — a da nijedan korisnik nikad nije vidio stranicu koja ne radi.

Kontaktirajte nas
Američki marketplace za usluge kamionima · tehničko vodstvo · tim od 12 · 2022–2026
Nula
prekida rada kroz 4 faze
60 → 90+
Lighthouse; SEO 30 → 90+
90%
brže: 20 najsporijih upita
Ukratko

Američki marketplace za usluge kamionima. Preuzeli smo proizvod koji je padao na hostingu bez skaliranja, sa propustima kroz koje su prolazile SQL injection, i vodili ga četiri godine kroz četiri tehnološke smjene — PHP na Node.js i NestJS, jQuery na React i Next.js, native Android na Expo, jedan server na ECS. Nijedan korisnik u tom periodu nije vidio stranicu koja ne radi.

Prve dvije godine nismo prepisivali ništa. Stabilizovali smo zatečeno: AWS, WAF, email na SQS, slike na S3, indeksi na dvadesetak najsporijih upita. Prihod nije mogao čekati da rebuild završi. MySQL je ostao jedina fiksna tačka kroz sve četiri faze, a stare Android aplikacije radile su dok promet s njih nije pao na nulu.

Ishod: Lighthouse performanse sa 60 na 90+, SEO sa 30 na 90+, dvadeset najsporijih upita 90% brže — na platformi koja živi od organske pretrage.

Problem

Zatečeni PHP proizvod padao je na hostingu bez skaliranja, sa sigurnosnim propustima kroz koje su prolazile SQL injection. Platforma živi od organske pretrage i oglašivača — svaki sat nedostupnosti je sat u kojem oglašivač plaća ništa.

Ograničenje

Bez prepisivanja unaprijed — prihod nije mogao čekati dvije godine da rebuild završi. MySQL je proglašen jedinom fiksnom tačkom. A stare Android aplikacije nisu se mogle ugasiti, jer korisnik ne ažurira kad mu ti kažeš.

Šta smo uradili

  1. Prvo stabilizovati ono što donosi novac

    Dva mjeseca: prelazak na AWS, email na SQS, slike na S3, WAF ispred svega i zatvoreni naslijeđeni propusti. Dvadesetak najsporijih upita ubrzano indeksiranjem — bez ijedne linije prepisane unaprijed.

    Upiti 90% brže
  2. Rebuild bez prekida — oba sistema žive uporedo

    PHP zamijenjen Node.js-om pa NestJS-om sa TypeScriptom; React web, Next.js sajt, Expo aplikacije, ECS autoskaliranje. Okidači na staroj bazi prosljeđivali su izmjene u novu, a stare aplikacije radile su dok promet nije pao na nulu.

    Rollback: nekoliko sekundi, CloudFront
  3. Jedan dizajn sistem za web i mobilno

    Vlastita UI biblioteka: 200+ komponenti u monorepou, dijeljenih između React weba i Expo aplikacija — primitivi i forme zajednički, odvojeni samo sporedni efekti.

    Web i mobilno se ne mogu razići
  4. AI ugrađen u proces, standardi u CI

    Inženjerska pravila provjerava pre-commit hook i CI: bez any, komponenta do 200 linija, tipovi na svakom API pozivu. Claude Code u svakodnevnoj upotrebi — testovi se više ne pišu ručno.

    Tim radi oko 50% brže
SISTEM — JEDAN HUB, JEDAN IZLAZ
Tri klijenta ulaze u jedan API. API piše u četiri baze izabrane po namjeni i stavlja poruke u jedan red. Iz reda izlaze tri radnika, a samo jedan od njih ikad nešto pošalje.Javni sajtNext.jsKontrolne pločeReactMobilna aplikacijaExpoGlavni API506 ruta · 100 modelaRelacijskajedina fiksna tačkaIndeks pretrageOpenSearchVremenskaanalitikaCacheRedisRed porukaSQSIzlazni servismail i SMSSinhronizacija pretragereindeks po izmjeniŠest dnevnih poslovaobnova, naplata, vraćanjejedina stvar koja ikad nešto pošaljeizvan produkcije preusmjeri svu poštu na test adresu
Jedan API, četiri baze po namjeni, jedan red poruka — i jedini izlaz prema klijentima.
PRODUKCIJSKI SAOBRAĆAJ — BEZ PREKIDA
Faza 1 · 2022 stabilizacija PHP-a

Dva mjeseca spašavanja: prelazak na AWS (email na SQS, slike na S3, WAF ispred svega), zatvoreni sigurnosni propusti, dvadeset najsporijih upita ubrzano 90% indeksiranjem — bez ijedne linije prepisane unaprijed.

MySQL — jedina fiksna tačka, sinhronizovana kroz svaki prelaz

Rezultat

Četiri tehnološke smjene, nula prekida rada. Lighthouse performance sa 60 na preko 90, SEO sa 30 na preko 90 — na oglasnoj platformi koja živi od pretrage, to je direktan prihod.
Za kontekst
1%
manje prodaje na svakih 100 ms sporijeg učitavanja
Amazon — Greg Linden, 2006
+2%
konverzije na svaku sekundu bržeg učitavanja
Walmart

Ovo je bila oglasna platforma čiji kupci dolaze iz pretrage.

Šta bismo uradili drugačije

Mjerili bismo od prvog dana. Imamo Lighthouse i vremena upita, ali nemamo brojku za postavljanje oglasa prije i poslije — a to je tok koji oglašivač zapravo osjeti. Dvije štoperice u prvoj sedmici dale bi nam najbolju brojku u cijelom portfoliju.

I ranije bismo ugasili stare Android aplikacije. Čekanje da promet padne na nulu bilo je ispravno prema korisniku, ali je dvije godine držalo dvije klijentske aplikacije na istom API-ju.

Srodno
Svih 18 projekata
  • Node.js
  • NestJS
  • TypeScript
  • React
  • Next.js
  • Expo
  • styled-components
  • MySQL
  • AWS: ECS, S3, SQS, RDS, CloudFront, WAF
  • Claude Code

Imate sistem koji pada, a ne smije stati?

Kontaktirajte nas

Sistemi koji ne smiju stati — od arhitekture do produkcije.

© 2026 Micro Tech, Sarajevo