Uzavřete cyklus ověřeným zlepšením
DokončenoProměňte produkční důkazy v požadavky, testy, řízené změny a měřené výsledky. Definujte, co může odpovědně znamenat samočinné zlepšování softwaru.
Vydává TaigaJak píšeme
Ověřte si porozuměníAgent sníží latenci exportu vynecháním autorizačních kontrol. Metrika rychlosti se zlepší. Zlepšil se systém?Vypracovat cvičení
Co se naučíte
- Propojit provozní pozorování s ověřitelnou technickou změnou.
- Oddělit obnovu za běhu, zlepšení postupu a trénování modelu.
- Změřit tvrzené zlepšení bez oslabení jeho hodnocení.
Definujte cyklus, který chcete uzavřít
Software během používání vytváří důkazy: chyby, zpoždění, požadavky podpory, incidenty, nálezy údržby a opakovanou ruční práci. Úplný životní cyklus vrací tyto důkazy do technických rozhodnutí.
Samočinné zlepšování softwaru může znamenat, že automatizace pomáhá změny hledat, navrhovat, implementovat a ověřovat. Nemusí znamenat, že model trénuje sám sebe. Uveďte, která část se mění: aplikační kód, konfigurace, testy, pokyny, pracovní postup nebo parametry modelu.
Self-healing obnovuje známý provozní stav. Self-improvement mění systém tak, aby v budoucnu přinesl lepší výsledek. Druhé tvrzení vyžaduje porovnání a ochranu před regresí.
Sledujte jedno pozorování celým životním cyklem
Níže uvedená posloupnost je návrh technické metody. Netvrdí, že některý produkt provádí každý krok autonomně.
| Fáze | Potřebný výstup | Fiktivní příklad exportu |
|---|---|---|
| Pozorovat | Verzované důkazy s rozsahem a nejistotou | Paměť workeru roste při velkých exportech |
| Diagnostikovat | Ověřitelná příčina a konkurenční vysvětlení | Uchovávané buffery řádků mohou vysvětlit růst paměti |
| Specifikovat | Požadovaný výsledek a omezení | Streamovat řádky bez změny oprávnění nebo výstupu |
| Reprodukovat | Test, který odhalí původní selhání | Reprezentativní velký syntetický export překročí limit |
| Změnit | Zkontrolovatelná oprava | Během streamování uvolňovat buffery již zpracovaných řádků |
| Vyhodnotit | Původní selhání vyřešeno; ostatní požadavky zachovány | Projdou paměťový test, porovnání výstupu, autorizace a kontroly opakování |
| Vydat | Řízené zpřístupnění s podmínkami obnovy | Omezené nasazení identifikovaného artefaktu |
| Ověřit | Srovnatelné produkční důkazy a odpovědná osoba | Paměť se stabilizuje při přijatelné správnosti a latenci |
Zachovejte vazby mezi těmito výstupy. Následný úkol z postmortemu „zlepšit monitoring“ se obtížně ověřuje. Definovaný signál, odpovědná osoba, práh a otestovaná reakce dělají dokončení pozorovatelným.
Udržujte hodnocení nezávislé na návrhu
Agent může vytvořit opravu a navrhnout testy. Tým stále musí ověřit, zda tyto testy odhalují původní problém. Zachovejte verzovanou hodnoticí sadu, kterou změna nemůže nepozorovaně oslabit.
U fiktivního úniku paměti porovnejte rovnocenné zátěže a verze. Zahrňte velké exporty, zrušení, opakování a případy zamítnutí přístupu. Použijte syntetická data reprezentující příslušné struktury bez odhalení zákaznických záznamů.
Rychlejší export odmítněte, pokud vynechává záznamy, obchází autorizaci nebo překračuje povolené náklady. Omezení definujte před optimalizací. Jinak může systém zlepšit zvolenou metriku a přitom zhoršit službu.
Pokud měníte pokyny nebo model agenta, vyhodnoťte jeho chování na reprezentativních úkolech a známých selháních. Ponechte dostupnou předchozí verzi. Aktualizace pokynů není důkazem, že se základní model poučil z incidentu.
Vydejte změnu a změřte výsledek
Canary release zpřístupní kandidátní verzi omezené skupině. Porovnejte signály kandidáta a kontrolní skupiny a definujte, kdy rozšířit nebo zastavit nasazení. Nízký provoz nebo rozdílné zátěže mohou porovnání učinit neprůkazným. Pokyny ke canary nasazení.
Fiktivní tým zaznamená výchozí měření pevné syntetické zátěže. Otestuje opravu, vydá ji ve schválené hranici a prověří srovnatelná produkční období. Pokud důkazy stále nestačí, zaznamená nejistotu místo vyhlášení zlepšení.
Měřte také opakovanou ruční práci. Automatizace může omezit rutinní námahu, ale sama potřebuje údržbu a řešení selhání. Při posouzení výsledku zahrňte i tyto náklady. Pokyny k omezení rutinní práce.
Udělejte záznam zpětné vazby použitelný
Pro cvičení použijte tato pole: pozorování a verze; výchozí měření; navržená příčina; akceptační kritéria; regresní kontroly; změna a kontrola; hranice vydání; naměřený výsledek; odpovědná osoba a příští posouzení.
Taiga Maintaining propojuje nálezy v repozitářích s nápravnou prací. Initiatives propojují zamýšlenou změnu s plánováním a dodávkou. Poskytují části řetězce důkazů. Osoba odpovědná za službu stále musí ověřit nasazení a provozní výsledek. Maintaining, Initiatives.
Vyspělá softwarová továrna propojuje tuto práci napříč produkty. S rostoucí automatizací zachovejte viditelná rozhodovací práva a hodnoticí kritéria. Konečným důkazem je lépe fungující ověřená služba, nikoli vyšší počet vygenerovaných změn.
Vypracovat cvičení
Vyplňte záznam zpětné vazby z této lekce pro fiktivní únik paměti. Definujte výchozí měření, akceptační test, regresní kontroly, hranici vydání, produkční měření a odpovědnou osobu. Přidejte pravidlo pro odmítnutí rychlejšího, ale méně správného exportu.
Stáhnout pracovní list (Markdown)Zrušení této volby smaže veškerý postup uložený v tomto prohlížeči.
Postup zůstává v tomto prohlížeči. Bez účtu a sledování.
Zdroje a další čtení
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗