Inženýrské případové studie
Inženýrská rozhodnutí v reálných omezeních.
Popisujeme skutečné situace v rozsahu, který lze odpovědně zveřejnit. Důležité jsou problém, rozhodnutí a výsledný provozní stav.
Vybraná práce
Čtyři situace, v nichž omezení určovala technické řešení.
01Anonymizovaný případ klienta
Provozní model SRE pro nepřetržitou produkční platformu
- Situace
- Produkční platforma přešla na nepřetržitý provoz. Podpora musela fungovat napříč směnami, ne podle paměti jednotlivců.
- Omezení / inženýrský problém
- Služby, pohotovost, předání, vlastnictví a odpovědnost za incidenty potřebovaly jasné hranice včetně hranic SRE.
- Co jsme udělali
- Definovali jsme směny, pohotovost, předávání stavu, eskalaci a rozhodovací práva. Řetězec vedl od inženýra na směně přes pohotovost a vedoucího profilu k vlastníkovi platformy a CTO.
- Výsledek
- Produkční provoz bylo možné popsat rolemi, stavem a procesy místo osobní paměti a improvizace.
- Co to ukazuje
- Spolehlivý provoz vyžaduje jasné pravomoci a cestu předání, nejen schopné lidi.
Související službaStabilizace a spolehlivost
02Anonymizovaný případ klienta
Diagnostika přetížení produkční databáze při nárůstu souběžnosti
- Situace
- Produkční databáze se blížila saturaci CPU. Selhávaly kontroly stavu a dopad pocítili externí odběratelé.
- Omezení / inženýrský problém
- Obnovení služby nevysvětlovalo příčinu. Bylo nutné oddělit příznaky od vyšší souběžné zátěže a pomalejší kritické databázové cesty.
- Co jsme udělali
- Po obnovení služby jsme pokračovali v analýze příčin. Oddělili jsme okamžité zmírnění dopadu od nápravy a důkazy od předpokladů.
- Výsledek
- Záznam incidentu zachytil změnu zátěže a zjištění o databázové cestě, aniž by obnovu vydával za důkaz příčiny.
- Co to ukazuje
- Obnovení služby a analýza kořenové příčiny jsou různé milníky.
Související službaStabilizace a spolehlivost
03Inženýrský případ Gronnark
Obnova 17 repozitářů Git po ztrátě administrátorského přístupu
- Situace
- Ztratil se administrátorský přístup ke starému účtu GitHub a obnova účtu nebyla možná. Před migrací bylo nutné zachovat 17 repozitářů.
- Omezení / inženýrský problém
- Pokus o převod nesměl být jedinou kopií historie a referencí.
- Co jsme udělali
- Zachytili jsme reference, historii a stromy; vytvořili git bundle a archivy větví; zapsali manifesty SHA256; ověřili balíky, integritu objektů, čisté klony, submoduly a závislosti LFS.
- Výsledek
- Všech 17 repozitářů bylo obnoveno v nové organizaci. Relevantní reference jsme ověřili SHA po SHA; stará organizace zůstala historickým zdrojem.
- Co to ukazuje
- Nejprve zachovat. Potom migrovat.
Související službaInfrastruktura a platforma
04Anonymizovaný případ klienta
Náhrada nespolehlivé vzdálené podpory zubní ordinace
- Situace
- Ordinace používala systém pro správu praxe ve Windows a lokální databázi. Spotřebitelský nástroj začal přerušovat relace podpory.
- Omezení / inženýrský problém
- Databázi a interní služby nebylo možné vystavit Internetu jen kvůli pohodlnějšímu vzdálenému přístupu.
- Co jsme udělali
- Navrhli jsme připojení odděleně od aplikace: šifrovaný tunel, řízený vnější vstup a VPN pro oprávněné inženýry před použitím administračních protokolů.
- Výsledek
- Navržený model přístupu počítal s neveřejnou lokální databází a výslovně řízeným vstupem do sítě. Nabídl bezpečnější architekturu pro nahrazení nespolehlivé vzdálené podpory.
- Co to ukazuje
- Příznak vzdálené plochy může být problémem architektury přístupu.
Související službaInfrastruktura a platforma
Další inženýrské případy
Samostatné problémy a konkrétní změny v řízení systému nebo provozu.
05Anonymizovaný případ klienta
Řízení incidentů s jasným vlastníkem
- Situace
- Závažnost, vlastník, eskalace a definice dokončení nebyly jednoznačné.
- Co se změnilo
- Zavedli jsme model závažnosti, role Owner a Commander, eskalaci, kritéria dokončení incidentu a postmortemu a nápravná opatření s vlastníky v jednotném záznamu.
- Výsledek
- Pouhé obnovení produkce přestalo být jediným kritériem uzavření incidentu.
06Anonymizovaný případ klienta
Oddělení odpovědnosti SRE od odpovědnosti za aplikaci
- Situace
- Účast SRE při incidentu začala znamenat očekávání, že SRE samostatně zjistí příčinu každého selhání aplikace.
- Co se změnilo
- Oddělili jsme detekci, posouzení dopadu, koordinaci a eskalaci od technického vlastnictví komponenty.
- Výsledek
- Odpovědnost lze přiřadit lidem s pravomocí a kontextem jednat. Odpovědnost bez možnosti řízení není vlastnictví.
07Anonymizovaný případ klienta
Předání směny jako provozní systém
- Situace
- Provozní stav byl rozptýlen mezi Slackem, Jirou, Confluence a osobními rozhovory.
- Co se změnilo
- Standardizovali jsme předání aktivních incidentů, nedokončených změn, očekávaných událostí, rizik, úkolů a vlastníků.
- Výsledek
- Provozní souhrn se stal definovanou schopností systému místo neformální zprávy mezi směnami.
08Anonymizovaný případ klienta
Vyšetření selhání kontrol stavu bez vymyšlené příčiny
- Situace
- Krátká selhání kontrol stavu doprovázely důkazy související se spojením; služba se rychle obnovila.
- Co se změnilo
- Odděleně jsme popsali pozorovaná fakta, důkazy, pravděpodobný mechanismus a neznámé skutečnosti.
- Výsledek
- Postmortem zachoval přesnou hranici znalostí místo předstírání jistoty o neprokázané příčině.
09Inženýrský případ Gronnark
Obnova důvěry v CI/CD po migraci repozitářů
- Situace
- Přesun repozitářů nepřenesl identity a oprávnění potřebná pro nasazování.
- Co se změnilo
- Obnovili jsme Actions, runner, OIDC a důvěru AWS, vyměnili klíč a tajný údaj SSH a provedli izolovaný test od Actions přes runner a AWS po SSH. Dočasný síťový přístup jsme poté odstranili.
- Výsledek
- Řetězec důvěry pro nasazení byl ověřen od začátku do konce, nikoli odvozen ze zeleného pipeline.
10Inženýrský případ Gronnark
Izolovaný stage před změnou produkce
- Situace
- Změny webu začaly zahrnovat jazyky, logiku edge, CloudFront, WAF, geografické nápovědy a automatizaci.
- Co se změnilo
- Vybudovali jsme stage s odděleným stavem infrastruktury, edge náhledem a vlastní cestou nasazení. Povýšení do produkce zůstalo samostatným rozhodnutím.
- Výsledek
- Změny lze testovat v nasazeném prostředí, aniž by se chyba v testu stala produkční změnou; stage zůstává mimo indexování.
11Inženýrský případ Gronnark
Mezinárodní dodání bez vynuceného přesměrování podle země
- Situace
- Dodání na různých trzích vyžadovalo více než seznam podporovaných zemí.
- Co se změnilo
- Definovali jsme profily Local, Regional a International pro práci na dálku i na místě, cesty, překryv pracovní doby, fyzické zásahy a dostupnost služeb. Země z CloudFront je jen nápověda; volí návštěvník.
- Výsledek
- Model vyjadřuje, co lze posoudit, bez tvrzení o místní kanceláři, trvalé přítomnosti nebo nuceném přesměrování.
12Inženýrský případ Gronnark
Změna značky technické firmy bez přerušení provozu
- Situace
- Přechod z Aize.IT na Gronnark zasáhl domény, e-mail, Workspace, GitHub, DNS, certifikáty, automatizaci, dokumentaci i vztahy s klienty.
- Co se změnilo
- Naplánovali jsme přechod domén, přesměrování, e-mailové aliasy a migraci, změny DNS a DKIM, veřejné oznámení i postupné změny identity infrastruktury.
- Výsledek
- Stávající závazky a provozní přístup mohly pokračovat i po změně jména. Technický rebranding je také migrace.
Důvěrnost a rozsah
Klientské případy anonymizujeme, vyžaduje-li to smluvní nebo provozní důvěrnost. Některé popisují různé problémy řešené během delší spolupráce; nejde o dvanáct různých klientů.
Řešíte podobnou situaci?
Řekněte nám, co se děje, co musí dál fungovat a kde začíná nejistota.
Probrat situaci