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
- System design a architektúraRozhodnutia, ktoré sa neskôr menia draho: hranice služieb, tok dát, voľba platformy a spôsoby zlyhania, ktoré nikto nezarátal do ceny.
- Fractional CTO a technické poradenstvoSeniorný technický úsudok vo vedení firmy bez platu na plný úväzok. Mesačný retainer za rozhodnutia, ktoré už nemusíte robiť sami; projekty a konkrétne dodávky doň nepatria.
- Vývoj softvéru na mieruTypeScript služby a integrácie na mieru, dodané do vášho repozitára a zdokumentované na odovzdanie.