Zatvorite krug provjerenim poboljšanjem
ZavršenoPretvorite produkcijske dokaze u zahtjeve, testove, kontrolisane promjene i izmjerene ishode. Odredite kako odgovorno tumačiti pojam softvera koji se sam poboljšava.
Objavljuje TaigaKako pišemo
Provjerite razumijevanjeAgent smanjuje vrijeme izvoza izostavljanjem provjera autorizacije. Metrika brzine se poboljšava. Je li sistem poboljšan?Uradite vježbu
Šta ćete naučiti
- Povežite operativno zapažanje s provjerljivom inženjerskom promjenom.
- Odvojite oporavak tokom rada, poboljšanje radnog toka i treniranje modela.
- Izmjerite navodno poboljšanje bez slabljenja njegove evaluacije.
Odredite krug koji želite zatvoriti
Softver tokom upotrebe proizvodi dokaze: greške, kašnjenja, zahtjeve podršci, incidente, nalaze održavanja i ponovljeni ručni rad. Potpun životni ciklus vraća te dokaze u inženjerske odluke.
Softver koji se sam poboljšava može značiti da automatizacija pomaže prepoznati, predložiti, implementirati i provjeriti promjene. Ne znači nužno da model trenira sam sebe. Navedite koji dio se mijenja: aplikacijski kod, konfiguracija, testovi, instrukcije, radni tok ili parametri modela.
Samostalni oporavak vraća poznato radno stanje. Samopoboljšavanje mijenja sistem da ubuduće daje bolji ishod. Druga tvrdnja zahtijeva poređenje i zaštitu od regresija.
Pratite jedno zapažanje kroz životni ciklus
Sljedeći niz je predložena inženjerska metoda. Ne tvrdi da bilo koji proizvod samostalno obavlja svaki korak.
| Faza | Potreban izlaz | Izmišljeni primjer izvoza |
|---|---|---|
| Posmatranje | Verzionisani dokazi s opsegom i neizvjesnošću | Memorija radnog procesa raste tokom velikih izvoza |
| Dijagnoza | Provjerljiv uzrok i konkurentska objašnjenja | Zadržani baferi redova mogu objasniti rast memorije |
| Specifikacija | Željeni ishod i ograničenja | Obrađujte redove strujno bez promjene dozvola ili izlaza |
| Reprodukcija | Test koji otkriva prvobitni neuspjeh | Reprezentativan veliki sintetički izvoz premašuje ograničenje |
| Promjena | Ispravka koja se može pregledati | Oslobodite bafere završenih redova tokom strujne obrade |
| Evaluacija | Prvobitni neuspjeh je riješen; drugi zahtjevi sačuvani | Test memorije, poređenje izlaza, provjere autorizacije i ponovnih pokušaja prolaze |
| Izdavanje | Kontrolisana dostupnost uz kriterije oporavka | Ograničeno raspoređivanje identificiranog artefakta |
| Provjera | Uporedivi produkcijski dokazi i odgovorna osoba | Memorija se stabilizuje dok tačnost i vrijeme odgovora ostaju prihvatljivi |
Čuvajte veze između ovih izlaza. Naknadnu radnju „poboljšajte nadzor“ teško je provjeriti. Određen signal, odgovorna osoba, prag i testiran odgovor čine završetak uočljivim.
Zadržite evaluaciju nezavisnom od prijedloga
Agent može napraviti zakrpu i predložiti testove. Tim i dalje mora pregledati otkrivaju li ti testovi prvobitni problem. Sačuvajte verzionisani skup za evaluaciju koji promjena ne može prešutno oslabiti.
Za izmišljeno curenje memorije uporedite ekvivalentna radna opterećenja i verzije. Uključite velike izvoze, otkazivanje, ponovni pokušaj i slučajeve odbijanja pristupa. Koristite sintetičke podatke koji predstavljaju relevantne strukture bez izlaganja zapisa o klijentima.
Odbijte brži izvoz ako izostavlja zapise, zaobilazi autorizaciju ili premašuje dozvoljeni trošak. Odredite ova ograničenja prije optimizacije. Inače sistem može poboljšati odabranu metriku i istovremeno pogoršati uslugu.
Ako promijenite instrukcije agenta ili model, procijenite njegovo ponašanje na reprezentativnim zadacima i poznatim neuspjesima. Zadržite prethodnu verziju dostupnom. Ažuriranje instrukcija nije dokaz da je osnovni model naučio iz incidenta.
Izdajte i izmjerite rezultat
Canary izdanje omogućava ograničenoj grupi korisnika pristup kandidatskoj verziji. Uporedite signale kandidatske i kontrolne verzije i odredite kada proširiti upotrebu ili stati. Slab saobraćaj ili različita radna opterećenja mogu ostaviti poređenje bez jasnog zaključka. Canary smjernice.
Izmišljeni tim bilježi početne vrijednosti iz fiksnog sintetičkog radnog opterećenja. Testira ispravku, izdaje je unutar odobrene granice i provjerava uporedive produkcijske periode. Ako dokazi ostanu nedovoljni, bilježi neizvjesnost umjesto proglašenja poboljšanja.
Mjerite i ponovljeni ručni rad. Automatizacija može smanjiti rutinski teret, ali treba i održavanje i obradu neuspjeha. Uključite te troškove pri procjeni rezultata. Smjernice za smanjenje rutinskog rada.
Učinite zapis povratnih informacija upotrebljivim
Koristite ova polja za vježbu: zapažanje i verzija; početne vrijednosti; predloženi uzrok; kriteriji prihvatanja; regresijske provjere; promjena i pregled; granica izdavanja; izmjereni rezultat; odgovorna osoba i sljedeći pregled.
Taiga Maintaining povezuje nalaze repozitorija s radom na otklanjanju. Inicijative povezuju namjeravanu promjenu s planiranjem i isporukom. To su dijelovi niza dokaza. Vaša osoba odgovorna za uslugu i dalje mora provjeriti raspoređivanje i operativni rezultat. Maintaining, Initiatives.
Zrela fabrika softvera povezuje ovaj rad kroz proizvode. Zadržite prava odlučivanja i kriterije evaluacije vidljivim kako automatizacija raste. Konačni dokaz je bolja, provjerena usluga, a ne veći broj generisanih promjena.
Uradite vježbu
Popunite zapis povratnih informacija iz ove lekcije za izmišljeno curenje memorije. Odredite početnu vrijednost, test prihvatanja, regresijske provjere, granicu izdavanja, produkcijsko mjerenje i odgovornu osobu. Dodajte pravilo za odbijanje bržeg, ali manje tačnog izvoza.
Preuzmite radni list (Markdown)Isključivanjem ove opcije briše se sav napredak sačuvan u ovom pregledniku.
Napredak ostaje u ovom pregledniku. Bez računa i praćenja.
Izvori i dodatno čitanje
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗