surfup

Logistika SaaS

Väljalase 15 minutiga varasemate käsitsi tehtud öiste juurutuste asemel

Logistika · DevOps · Kubernetes · CI/CD · Seire
Projekti taust

Klient on logistikateenus, mis töötleb kümneid tuhandeid tellimusi päevas, kogeb õhtuseid ja sooduskampaaniate tippe ning peab kinni pidama rangetest SLA-dest partnerpoodide ees. Taristu oli kasvanud isevoolu teel: eraldiseisvad VPS-id, „serveritesse“ jäänud seadistused ja käsitsi juurutamine wiki juhendi järgi. Iga väljalase tähendas öist käivitamist katkestusega, iga koormustipp aga tellimuste kaotamise riski. Meie poole pöördumise ajend oli uusaastaeelne kampaaniaintsident, mil platvorm oli neli tundi maas ja teenus maksis partneritele hüvitist.

01 · Ülesanne

Viia platvorm üle hallatud taristule äri peatamata:

taristu koodina, automatiseeritud tarne, konteinerid ja orkestreerimine, jälgitavus ning töökindel taastumine riketest. Asutaja sõnastas edumõõdu nii: „juurutus tööajal, seisakuta ja ilma SSH-juurdepääsuga inimeseta“.

02 · Tehtud töö

Liikusime tõestatud järjestuses: esmalt konteinerid ja korratavad keskkonnad, seejärel tarne automatiseerimine ning alles siis orkestreerimine koos automaatse skaleerimisega.

  • Auditeerisime taristu: teenuste ja sõltuvuste kaart, tipukoormuse profiili mõõtmine ning nende käsitsi toimingute loend, mis põhjustasid kõige sagedamini avariisid.
  • Panime teenused konteineritesse: ühtlustasime ehituse, viisime seadistuse koodist keskkonnamuutujatesse ning lõime identsed dev-, stage- ja prod-keskkonnad.
  • Kirjeldasime taristu Terraformis koodina: keskkonnad juurutatakse hoidlast ning käsitsi muudatused pilveteenuse pakkuja konsoolis on keelatud.
  • Koostasime GitLab CI tarneahela: testid ja kujutiste ehitus käivituvad automaatselt; stage’i juurutus toimub kohe, prod’i juurutus nupuvajutusega pärast ülevaatust ning tagasipööramine ühe toiminguga.
  • Viisime platvormi automaatse skaleerimisega Kubernetesesse: õhtuste ja sooduskampaaniate tippude ajal lisab platvorm täiendavaid eksemplare, mitte ei nõua erakorralist käsitööd.
  • Seadsime sisse seire ja hoiatused „kuldsete signaalide“ — viiteaeg, vead, liiklus ja koormatus — alusel, koos valvegraafiku ja eskalatsiooniga.
  • Seadsime sisse varukoopiad ja katastroofist taastumise: taasteprotseduurid ning lavakeskkonnas tehtud rikkeproov, kus mõõtsime tegelikku MTTR-i.

Projekti kõige väärtuslikum tulemus polnud tehnoloogia, vaid vastutuse ümberpaigutamine: taristu ei sõltunud enam „SSH-juurdepääsuga inimesest“. Iga juurutus on korratav, iga keskkonna saab koodist taastada ning juhtpaneelid näitavad riket enne, kui esimene klient kirjutab. Nii muutub seisak katastroofist tavaliseks intsidendiks selge tegevusjuhise ja mõõdetava taastumisajaga.

03 · Tulemus

Projekti majanduslik mõju koosnes kolmest osast: otsene 32% taristukulu kokkuhoid tänu automaatsele skaleerimisele ja pidevalt „soojana“ hoitud tippvõimsuse hülgamisele; meeskonna töötunnid, mis varem kulusid öistele väljalasetele; ning eelkõige tulu säilitamine tippudel, mis nüüd mööduvad intsidentideta. Suur poekettidest klient pikendas lepingut just pärast esimest uuel taristul toimunud kampaaniat.

04 · Peamised tulemused
NäitajadTulemus
Väljalaske juurutamine3–4 tundi käsitsi → 15 minutit automaatselt
Väljalasete sagedus2–3 kuus → Peaaegu iga päev
Platvormi töökindlus97,8% → 99,95%
KoormustipudSeisakuoht → Automaatne skaleerimine ilma inimese sekkumiseta

Näitajad on üle kantud juhtumi algmaterjalidest. Periood on märgitud seal, kus see on allikas fikseeritud.

Viis kuud töös
väljalaske juurutus (varem 3–4 tundi käsitsi)
15 min
platvormi töökindlus (varem 97,8%)
99,95%
taastumine pärast riket (varem 2–4 tundi)
20–30 min
taristukulu
−32%
Enne ja pärast
Väljalaske juurutus, minutit
Enne3–4 tundi
Pärast15 min
Väiksem on parem
Taastumine (MTTR), minutit
Enne2–4 tundi
Pärast20–30 minutit
Väiksem on parem
Platvormi seisak
Enne2,2%
Pärast0,05%
Väiksem on parem

Kuvatud on vahemike ülemised piirid (4 tundi, 30 minutit). Seisak = 100% − töökindlus.

Tarneahel
  1. 01Commit
  2. 02Testid
  3. 03Kujutise ehitus
  4. 04Stagekohe
  5. 05Prodnupuvajutusega pärast ülevaatust
Järgmised sammud

Taristu järgmise arendustsükli võimalused:

  • FinOpsi praktika — kuluhälvete hoiatused ja läbipaistev maksumus meeskondade kaupa.
  • GitOpsi lähenemine — tootmiskeskkonna olek kirjeldatakse hoidlas ning muudatused tehakse ainult pull request'i kaudu.
  • Mitme regiooni lahendus — kriitiliste teenuste koopia, et tulla toime teenusepakkuja rikkega.
Tsitaat
Varem tähendas väljalase ööd, kohvi ja palvet. Nüüd tähendab see nuppu ja viitteist minutit. Esimest intsidendivaba kampaaniat tähistasime terve ettevõttega.

— Logistikateenuse tehnoloogiajuht

Viimased materjalid

Kõik materjalid

SurfUpi praktilised artiklid ja juhendid.

Juhend · 10 min

„Mis on…“ lehed ja AI-vastused: kadunud klikid või langev nõudlus

Panga teatmejaotis kaotas 24% külastusi, kui nõudlus langes 13%. Kuidas eristada tehisintellekti ploki kaotatud klikke langevast nõudlusest ja seda mõõta.

Loe
Juhend · 8 min

Liiklus vähenes pärast Google’i uuendust

Kuidas teha kindlaks, kas liikluse langus tuleneb Google’i uuendusest, hooajalisusest või saidi rikkest. 2026. aasta uuenduste ajajoon, kuue küsimusega kontroll ja tegevuskava esimeseks 14 päevaks.

Loe
Juhend · 9 min

Nõudlus langes või sait kaotas: liikluse sidumine Wordstatiga

Hoiuste nõudlus langes 75%, liiklus 37%; kaartidel nõudlus −35%, liiklus −63%. Kuidas liiklust nõudlusega sobitada ja turu eest saiti mitte süüdistada.

Loe