Sklenite zanko s preverjenim izboljšanjem
DokončanoProdukcijska dokazila pretvorite v zahteve, teste, nadzorovane spremembe in izmerjene rezultate. Določite, kaj lahko odgovorno pomeni programska oprema, ki se sama izboljšuje.
Izdajatelj TaigaKako pišemo
Preverite razumevanjeAgent zmanjša zakasnitev izvoza tako, da izpusti preverjanja avtorizacije. Metrika hitrosti se izboljša. Ali se je sistem izboljšal?Opravite vajo
Kaj se boste naučili
- Operativno opažanje povežite s preverljivo inženirsko spremembo.
- Ločite obnovo med delovanjem, izboljšanje delovnega toka in učenje modela.
- Izmerite zatrjevano izboljšanje, ne da bi oslabili njegovo ocenjevanje.
Določite zanko, ki jo želite skleniti
Programska oprema med uporabo ustvarja dokazila: napake, zamude, zahtevke podpore, incidente, vzdrževalne ugotovitve in ponavljajoče se ročno delo. Celoten življenjski cikel ta dokazila vrača v inženirske odločitve.
Programska oprema, ki se sama izboljšuje, lahko pomeni, da avtomatizacija pomaga prepoznavati, predlagati, izvajati in preverjati spremembe. Ne pomeni nujno, da model uči samega sebe. Navedite, kateri del se spreminja: koda aplikacije, konfiguracija, testi, navodila, delovni tok ali parametri modela.
Samodejna obnova obnovi znano stanje delovanja. Samodejno izboljševanje spremeni sistem, da bo v prihodnje dosegal boljši rezultat. Druga trditev zahteva primerjavo in zaščito pred regresijami.
Sledite enemu opažanju skozi življenjski cikel
Spodnje zaporedje je predlagana inženirska metoda. Ne trdi, da katerikoli izdelek samostojno izvaja vsak korak.
| Faza | Zahtevani izhod | Izmišljeni primer izvoza |
|---|---|---|
| Opazovanje | Dokazila z različico, obsegom in negotovostjo | Poraba pomnilnika delovnega procesa raste med velikimi izvozi |
| Diagnoza | Preverljiv vzrok in druge možne razlage | Zadržani medpomnilniki vrstic lahko pojasnijo rast porabe pomnilnika |
| Opredelitev | Želeni rezultat in omejitve | Pretočna obdelava vrstic brez spremembe dovoljenj ali izhoda |
| Ponovitev napake | Test, ki razkrije prvotno napako | Reprezentativen velik sintetični izvoz preseže omejitev |
| Sprememba | Popravek, ki ga je mogoče pregledati | Med pretočno obdelavo sprostite medpomnilnike že obdelanih vrstic |
| Ocenjevanje | Stara napaka odpravljena; druge zahteve ohranjene | Test pomnilnika, primerjava izhoda ter preverjanja avtorizacije in ponovnih poskusov uspejo |
| Izdaja | Nadzorovano omogočanje z merili obnove | Omejena namestitev določenega artefakta |
| Preverjanje | Primerljiva produkcijska dokazila in odgovorna oseba | Poraba pomnilnika se ustali, pravilnost in zakasnitev pa ostaneta sprejemljivi |
Ohranite povezave med temi izhodi. Ukrep pregleda po incidentu »izboljšajte spremljanje« je težko preveriti. Določen signal, odgovorna oseba, prag in preizkušen odziv omogočajo preverjanje dokončanja.
Ocenjevanje naj ostane neodvisno od predloga
Agent lahko ustvari popravek in predlaga teste. Ekipa mora še vedno pregledati, ali ti testi zaznajo prvotno težavo. Ohranite nabor za ocenjevanje z različicami, ki ga sprememba ne more neopazno oslabiti.
Pri izmišljenem uhajanju pomnilnika primerjajte enakovredne delovne obremenitve in različice. Vključite velike izvoze, preklic, ponovni poskus in primere zavrnitve dostopa. Uporabite sintetične podatke, ki predstavljajo ustrezne oblike brez razkrivanja zapisov strank.
Hitrejši izvoz zavrnite, če izpušča zapise, obide avtorizacijo ali preseže dovoljeni strošek. Te omejitve določite pred optimizacijo. Sicer lahko sistem izboljša izbrano metriko, storitev pa poslabša.
Če spremenite agentova navodila ali model, njegovo delovanje ocenite na reprezentativnih nalogah in znanih napakah. Prejšnja različica naj ostane na voljo. Posodobitev navodil ni dokaz, da se je osnovni model učil iz incidenta.
Izdajte spremembo in izmerite rezultat
Izdaja canary omogoči kandidatno različico omejeni skupini uporabnikov. Primerjajte signale kandidatne in kontrolne različice ter določite, kdaj razširiti uporabo ali se ustaviti. Malo prometa ali različne delovne obremenitve lahko preprečijo jasen sklep primerjave. Smernice za canary.
Izmišljena ekipa zabeleži izhodišče iz stalne sintetične delovne obremenitve. Preizkusi popravek, ga izda znotraj odobrene meje in preveri primerljiva produkcijska obdobja. Če dokazila še vedno ne zadostujejo, zabeleži negotovost, namesto da razglasi izboljšanje.
Merite tudi ponavljajoče se ročno delo. Avtomatizacija ga lahko zmanjša, vendar potrebuje vzdrževanje in obravnavo napak. Pri oceni rezultata vključite te stroške. Smernice za zmanjševanje rutinskega dela.
Zapis povratnih informacij naj bo uporaben
Pri vaji uporabite ta polja: opažanje in različica; izhodišče; predlagani vzrok; merila sprejemljivosti; regresijska preverjanja; sprememba in pregled; meja izdaje; izmerjeni rezultat; odgovorna oseba in naslednji pregled.
Taiga Maintaining povezuje ugotovitve repozitorija z delom za odpravo. Initiatives povezujejo nameravano spremembo z načrtovanjem in dobavo. To so deli verige dokazil. Vaš odgovorni za storitev mora še vedno preveriti namestitev in operativni rezultat. Maintaining, Initiatives.
Zrela tovarna programske opreme povezuje to delo med izdelki. Ob povečevanju avtomatizacije naj pravice odločanja in merila ocenjevanja ostanejo jasni. Končni dokaz je boljša preverjena storitev, ne večje število ustvarjenih sprememb.
Opravite vajo
Za izmišljeno uhajanje pomnilnika izpolnite zapis povratnih informacij iz te lekcije. Določite izhodišče, sprejemni test, regresijska preverjanja, mejo izdaje, produkcijsko meritev in odgovorno osebo. Dodajte pravilo za zavrnitev hitrejšega, vendar manj pravilnega izvoza.
Prenesi delovni list (Markdown)Če počistite to izbiro, izbrišete ves napredek, shranjen v tem brskalniku.
Napredek ostane v tem brskalniku. Brez računa in sledenja.
Viri in nadaljnje branje
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗