Uzavrite spätnú väzbu overeným zlepšením
DokončenéPremeňte produkčné dôkazy na požiadavky, testy, riadené zmeny a merané výsledky. Definujte, čo môže zodpovedne znamenať softvér, ktorý sa sám zlepšuje.
Vydáva TaigaAko píšeme
Overte si porozumenieAgent zníži latenciu exportu vynechaním kontrol autorizácie. Metrika rýchlosti sa zlepší. Zlepšil sa systém?Vykonajte cvičenie
Čo sa naučíte
- Prepojiť prevádzkové pozorovanie s overiteľnou inžinierskou zmenou.
- Oddeľovať obnovu za behu, zlepšenie pracovného postupu a trénovanie modelu.
- Merať deklarované zlepšenie bez oslabenia jeho vyhodnotenia.
Definujte spätnú väzbu, ktorú chcete uzavrieť
Softvér pri používaní vytvára dôkazy: chyby, oneskorenia, požiadavky na podporu, incidenty, zistenia údržby a opakovanú manuálnu prácu. Úplný životný cyklus vracia tieto dôkazy do inžinierskych rozhodnutí.
Softvér, ktorý sa sám zlepšuje, môže znamenať, že automatizácia pomáha identifikovať, navrhovať, implementovať a overovať zmeny. Nemusí to znamenať, že sa model sám trénuje. Uveďte, čo sa mení: kód aplikácie, konfigurácia, testy, pokyny, pracovný postup alebo parametre modelu.
Self-healing obnovuje známy prevádzkový stav. Self-improvement mení systém tak, aby v budúcnosti prinášal lepší výsledok. Druhé tvrdenie vyžaduje porovnanie a ochranu pred regresiami.
Sledujte jedno pozorovanie celým životným cyklom
Nasledujúca postupnosť je navrhovanou inžinierskou metódou. Nie je tvrdením, že niektorý produkt vykonáva každý krok autonómne.
| Fáza | Požadovaný výstup | Fiktívny príklad exportu |
|---|---|---|
| Pozorovanie | Verziované dôkazy s rozsahom a neistotou | Spotreba pamäte workera rastie pri veľkých exportoch |
| Diagnostika | Overiteľná príčina a konkurenčné vysvetlenia | Zadržané buffery riadkov môžu vysvetliť rast pamäte |
| Špecifikácia | Požadovaný výsledok a obmedzenia | Streamovať riadky bez zmeny oprávnení alebo výstupu |
| Reprodukcia | Test odhaľujúci pôvodné zlyhanie | Reprezentatívny veľký syntetický export prekročí limit |
| Zmena | Preskúmateľná oprava | Počas streamovania uvoľňovať buffery spracovaných riadkov |
| Vyhodnotenie | Pôvodné zlyhanie vyriešené; ostatné požiadavky zachované | Test pamäte, porovnanie výstupu, kontroly autorizácie a opakovania uspejú |
| Vydanie | Riadené sprístupnenie s kritériami obnovy | Obmedzené nasadenie identifikovaného artefaktu |
| Overenie | Porovnateľné produkčné dôkazy a zodpovedná osoba | Spotreba pamäte sa stabilizuje a správnosť aj latencia zostanú prijateľné |
Zachovajte prepojenia medzi týmito výstupmi. Následná akcia z postmortem „zlepšiť monitorovanie“ sa ťažko overuje. Definovaný signál, zodpovedná osoba, prah a otestovaná reakcia robia dokončenie pozorovateľným.
Udržujte vyhodnotenie nezávislé od návrhu
Agent môže vytvoriť opravu a navrhnúť testy. Tím musí aj tak preskúmať, či tieto testy odhalia pôvodný problém. Zachovajte verziovaný hodnotiaci súbor, ktorý zmena nemôže potichu oslabiť.
Pri fiktívnom úniku pamäte porovnávajte ekvivalentné záťaže a verzie. Zahrňte veľké exporty, zrušenie, opakovanie a prípady zamietnutia prístupu. Použite syntetické údaje s relevantnými štruktúrami bez odhalenia zákazníckych záznamov.
Odmietnite rýchlejší export, ak vynecháva záznamy, obchádza autorizáciu alebo prekračuje povolené náklady. Tieto obmedzenia definujte pred optimalizáciou. Inak môže systém zlepšiť vybranú metriku a pritom zhoršiť službu.
Ak zmeníte pokyny agenta alebo model, vyhodnoťte jeho správanie na reprezentatívnych úlohách a známych zlyhaniach. Predchádzajúcu verziu ponechajte dostupnú. Aktualizácia pokynov nie je dôkazom, že sa základný model poučil z incidentu.
Vydajte zmenu a zmerajte výsledok
Canary release sprístupňuje kandidátsku verziu obmedzenej skupine používateľov. Porovnajte signály kandidátskej a kontrolnej verzie a definujte, kedy rozšíriť použitie alebo zastaviť vydanie. Slabá prevádzka alebo odlišné záťaže môžu znemožniť jednoznačný záver. Odporúčania pre canary.
Fiktívny tím zaznamená východiskovú hodnotu pri pevnej syntetickej záťaži. Otestuje opravu, vydá ju v schválenej hranici a overí porovnateľné produkčné obdobia. Ak dôkazy zostávajú nedostatočné, zaznamená neistotu namiesto vyhlásenia zlepšenia.
Merajte aj opakovanú manuálnu prácu. Automatizácia môže znížiť rutinu, ale tiež potrebuje údržbu a spracovanie zlyhaní. Pri posudzovaní výsledku zahrňte tieto náklady. Odporúčania na zníženie rutiny.
Urobte záznam spätnej väzby použiteľným
Pre cvičenie použite tieto polia: pozorovanie a verzia; východisková hodnota; navrhovaná príčina; akceptačné kritériá; regresné kontroly; zmena a kontrola; hranica vydania; nameraný výsledok; zodpovedná osoba a ďalšia kontrola.
Taiga Maintaining prepája zistenia repozitára s nápravnou prácou. Initiatives prepája zamýšľanú zmenu s plánovaním a dodávaním. Poskytujú časti reťazca dôkazov. Osoba zodpovedná za službu musí aj tak overiť nasadenie a prevádzkový výsledok. Maintaining, Initiatives.
Vyspelá softvérová továreň prepája túto prácu medzi produktmi. S rastúcou automatizáciou udržujte rozhodovacie práva a kritériá vyhodnotenia viditeľné. Konečným dôkazom je overená lepšia služba, nie väčší počet vygenerovaných zmien.
Vykonajte cvičenie
Vyplňte záznam spätnej väzby z tejto lekcie pre fiktívny únik pamäte. Definujte východiskovú hodnotu, akceptačný test, regresné kontroly, hranicu vydania, produkčné meranie a zodpovednú osobu. Pridajte pravidlo odmietnutia rýchlejšieho, ale menej správneho exportu.
Stiahnuť pracovný list (Markdown)Zrušenie tohto výberu vymaže celý postup uložený v tomto prehliadači.
Postup zostáva v tomto prehliadači. Bez účtu a sledovania.
Zdroje a ďalšie čítanie
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗