Preskočiť na obsah
Zapolu

DevOps a infraštruktúra

Pragmatická infraštruktúra, CI/CD, observabilita a on-call setup, dimenzované na e-commerce, pre stabilnú prevádzku bez opakovaných nočných incidentov.

Navrhujeme a prevádzkujeme infraštruktúru, na ktorej bežia e-shopy, a to bez Kubernetes clusteru, ktorého prevádzka by vyžadovala senior SRE na plný úväzok.

Kedy je táto služba vhodná

  • E-shop beží na jednom VPS a pri každej akcii alebo spustení kampane dôjde k výpadku
  • Deploy trvá 40 minút, zlyháva bez chybového hlásenia alebo ho vie spustiť len jediný člen tímu
  • Nikto nevie, prečo bola pokladňa minulý štvrtok pomalá, lebo neexistujú logy ani metriky
  • Požiadavky na compliance (PCI, GDPR audit trail) zrazu potrebujú skutočné odpovede
  • Zakladateľ alebo CTO je de facto on-call inžinier a každý Black Friday trávi v pohotovosti

Čo robíme

  • Cloudová a edge infraštruktúra. Cloudflare, AWS, GCP, Hetzner alebo bare metal; stack vyberáme podľa workloadu.
  • CI/CD pipeline na GitHub Actions alebo GitLab CI, s reprodukovateľnými buildmi, reverzibilnými deploymi a secrets, ktoré nie sú v repe.
  • Observabilita: logy, metriky a traces cez Grafanu, OpenTelemetry, Sentry alebo Cloudflare Logpush. Na otázku „čo sa stalo o 14:32 minulý utorok“ by ste mali vedieť odpovedať do minúty.
  • Výkon a náklady. Edge caching, image CDN, autoscaling vyladený na špičky kampaní a cost review, ktorého úspora neraz pokryje náklady celej spolupráce.
  • Incident response: runbooky, alerting bez falošných poplachov a post-mortem procesy, ktoré z nočného incidentu urobia opravu nasadenú v nasledujúcom týždni.
  • Bezpečnostný základ. Správa secrets, dependency scanning, image signing, network policies a pravidelné patche, ktoré držia známe zraniteľnosti mimo vášho e-shopu.

Východiskom je pre nás vždy najjednoduchšia infraštruktúra, s akou sa dajú požiadavky splniť; zložitosť musí mať dôvod.

Incidenty, ktoré sme riešili

Vzorka z produkčných systémov, ktoré sme v uplynulých rokoch prevádzkovali:

  • Dashboardy pamäte zostávali ploché, zatiaľ čo aplikácii unikala pamäť, pretože agent na metriky sledoval process manager namiesto aplikácie, ktorú spúšťal. Diagnostikované forenznou analýzou stromu procesov a čítaním zdrojového kódu agenta; opravené malým init wrapperom, vďaka ktorému sú odvtedy čisté aj shutdowny.
  • Opakované výpadky do „maintenance mode“, za ktorými v skutočnosti bola cache vrstva, ktorej dochádzala transient pamäť; situáciu zhoršoval „stable“ image tag, ktorý sa sám aktualizoval a bez upozornenia menil nasadený softvér. Pripli sme verzie, prepracovali VCL a hit rate stúpol zo 4 % na zdravé hodnoty.
  • CI agentov ukončoval OOM killer uprostred jobu, čo bez chybového hlásenia zablokovalo stavový automat indexerov e-shopu a zastavilo aktualizácie zásob. Zlyhanie sme najprv zámerne zreprodukovali na stagingu a potom prestavali vrstvu plánovaných úloh s izoláciou po skupinách a self-healing resetmi.
  • Frontendová cache celej jednej krajiny sa nedala invalidovať kvôli preklepu v jednom slove namespace v zozname purge hostov. Naživo opravené ručnými cache banmi, natrvalo potom v konfigurácii.
  • Klientske prostredie niekto omylom zmazal a logické zálohy neexistovali. Vrátili sme ho zo snapshotov hypervízora cez vynútené InnoDB recovery, a to naprieč skokom o hlavnú verziu MySQL.

Zásada, ktorá za tým stojí: alerty na biznisové invarianty, napríklad „každá objednávka je do 15 minút v ERP“, nielen na chybovosť. Niekoľko z incidentov vyššie zachytila presne takáto sonda skôr, než si čokoľvek všimol prvý zákazník.

Ako zákazka zvyčajne začína

Veľká časť tejto práce prichádza vnútri inej zákazky: audit, ktorý vystopuje úzke hrdlo až k hostingu, alebo stavba, ktorá potrebuje deploy pipeline skôr, než sa dá čokoľvek dodať. Pri samostatnej infraštruktúrnej práci začíname krátkou revíziou toho, čo kde beží, koľko to stojí a čo pod záťažou zlyhá ako prvé, a odporúčané zmeny dáme písomne s fixnou cenou. Priebežná prevádzka beží ako mesačný paušál s pomenovanými hodinami, za podmienok opísaných na stránke Ako pracujeme.

Súvisiace služby