Zatvorite petlju provjerenim poboljšanjem
DovršenoPretvorite produkcijske dokaze u zahtjeve, testove, kontrolirane promjene i izmjerene ishode. Odredite što samopoboljšavajući softver može odgovorno značiti.
Objavljuje TaigaKako pišemo
Provjerite razumijevanjeAgent smanji vrijeme odziva izvoza izostavljanjem provjera autorizacije. Metrika brzine se poboljša. Je li se sustav poboljšao?Napravite vježbu
Što ćete naučiti
- Povezati operativno opažanje s inženjerskom promjenom koja se može provjeriti.
- Odvojiti oporavak tijekom rada, poboljšanje postupka i treniranje modela.
- Izmjeriti navodno poboljšanje bez slabljenja njegove evaluacije.
Odredite petlju koju želite zatvoriti
Softver tijekom upotrebe proizvodi dokaze: pogreške, kašnjenja, zahtjeve za podršku, incidente, nalaze održavanja i ponavljajući ručni rad. Potpun životni ciklus vraća te dokaze u inženjerske odluke.
Samopoboljšavajući softver može značiti da automatizacija pomaže prepoznati, predložiti, implementirati i provjeriti promjene. Ne mora značiti da model sam sebe trenira. Navedite što se mijenja: aplikacijski kod, konfiguracija, testovi, upute, postupak ili parametri modela.
Self-healing obnavlja poznato operativno stanje. Samopoboljšavanje mijenja sustav kako bi u budućnosti proizvodio bolji ishod. Druga tvrdnja zahtijeva usporedbu i zaštitu od regresija.
Pratite jedno opažanje kroz životni ciklus
Sljedeći niz predložena je inženjerska metoda. Nije tvrdnja da neki proizvod samostalno provodi svaki korak.
| Faza | Potreban rezultat | Izmišljeni primjer izvoza |
|---|---|---|
| Opažanje | Verzionirani dokazi s opsegom i neizvjesnošću | Potrošnja memorije radnog procesa raste tijekom velikih izvoza |
| Dijagnoza | Uzrok koji se može testirati i alternativna objašnjenja | Zadržani međuspremnici redaka mogu objasniti rast potrošnje memorije |
| Specifikacija | Željeni ishod i ograničenja | Prenositi retke strujanjem bez promjene ovlasti ili izlaza |
| Reprodukcija | Test koji otkriva izvorni kvar | Reprezentativan velik sintetički izvoz premašuje ograničenje |
| Promjena | Ispravak koji se može pregledati | Oslobađati međuspremnike dovršenih redaka tijekom strujanja |
| Evaluacija | Stari kvar otklonjen; drugi zahtjevi sačuvani | Prolaze test memorije, usporedba izlaza, provjere autorizacije i ponovnih pokušaja |
| Izdavanje | Kontrolirana dostupnost uz kriterije oporavka | Ograničeno postavljanje identificiranog artefakta |
| Provjera | Usporedivi produkcijski dokazi i odgovorna osoba | Potrošnja memorije stabilizira se dok ispravnost i vrijeme odziva ostaju prihvatljivi |
Čuvajte veze između tih rezultata. Zadatak nakon incidenta koji glasi „poboljšati nadzor” teško je provjeriti. Definirani signal, odgovorna osoba, prag i testirana reakcija omogućuju opažanje dovršetka.
Održite evaluaciju neovisnom o prijedlogu
Agent može stvoriti zakrpu i predložiti testove. Tim ipak mora pregledati otkrivaju li ti testovi izvorni problem. Sačuvajte verzionirani evaluacijski skup koji promjena ne može neprimjetno oslabiti.
Za izmišljeno curenje memorije usporedite jednaka radna opterećenja i verzije. Uključite velike izvoze, otkazivanje, ponovni pokušaj i slučajeve odbijanja pristupa. Upotrijebite sintetičke podatke koji predstavljaju relevantne strukture bez otkrivanja zapisa o klijentima.
Odbijte brži izvoz ako izostavlja zapise, zaobilazi autorizaciju ili premašuje dopušteni trošak. Odredite ta ograničenja prije optimizacije. Inače sustav može poboljšati odabranu metriku, a pogoršati uslugu.
Ako promijenite upute agenta ili model, procijenite njegovo ponašanje na reprezentativnim zadacima i poznatim kvarovima. Zadržite prethodnu verziju dostupnom. Ažuriranje uputa nije dokaz da je temeljni model učio iz incidenta.
Objavite i izmjerite rezultat
Canary izdanje izlaže ograničenu skupinu korisnika kandidatskoj verziji. Usporedite signale kandidatske i kontrolne verzije te odredite kada proširiti ili zaustaviti izdavanje. Malo prometa ili različita radna opterećenja mogu onemogućiti jasan zaključak. Smjernice za canary izdanja.
Izmišljeni tim bilježi početno stanje iz fiksnog sintetičkog opterećenja. Testira ispravak, objavljuje ga unutar odobrene granice i provjerava usporediva produkcijska razdoblja. Ako dokazi ostanu nedovoljni, bilježi neizvjesnost umjesto proglašenja dobitka.
Mjerite i ponavljajući ručni rad. Automatizacija ga može smanjiti, ali i sama treba održavanje i obradu kvarova. Uključite te troškove pri procjeni rezultata. Smjernice za smanjenje ponavljajućeg rada.
Učinite zapis povratnih informacija upotrebljivim
Za vježbu upotrijebite ova polja: opažanje i verzija; početno stanje; predloženi uzrok; kriteriji prihvaćanja; regresijske provjere; promjena i pregled; granica izdavanja; izmjeren rezultat; odgovorna osoba i sljedeći pregled.
Taiga Maintaining povezuje nalaze repozitorija s radom na otklanjanju. Initiatives povezuje namjeravanu promjenu s planiranjem i isporukom. To su dijelovi lanca dokaza. Osoba odgovorna za uslugu i dalje mora provjeriti postavljanje i operativni rezultat. Maintaining, Initiatives.
Zrela tvornica softvera povezuje taj rad između proizvoda. Održavajte prava odlučivanja i kriterije evaluacije vidljivima dok automatizacija raste. Konačni dokaz je bolja, provjerena usluga, a ne veći broj generiranih promjena.
Napravite vježbu
Ispunite zapis povratnih informacija iz ove lekcije za izmišljeno curenje memorije. Odredite početno stanje, test prihvaćanja, regresijske provjere, granicu izdavanja, produkcijsko mjerenje i odgovornu osobu. Dodajte pravilo za odbijanje bržeg, ali manje ispravnog izvoza.
Preuzmi radni list (Markdown)Uklanjanje ove oznake briše sav napredak spremljen 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 ↗