Užbaikite ciklą patikrintu pagerinimu
BaigtaProdukcinės aplinkos įrodymus paverskite reikalavimais, testais, kontroliuojamais pakeitimais ir išmatuotais rezultatais. Apibrėžkite atsakingą savaime tobulėjančios programinės įrangos reikšmę.
Leidžia TaigaKaip rašome
Patikrinkite, ar supratoteAgentas sumažina eksporto delsą praleisdamas autorizavimo patikrinimus. Greičio rodiklis pagerėja. Ar sistema pagerėjo?Atlikite užduotį
Ko išmoksite
- Susiekite eksploatavimo stebėjimą su patikrinamu inžineriniu pakeitimu.
- Atskirkite vykdymo aplinkos atkūrimą, darbo eigos tobulinimą ir modelio mokymą.
- Matuokite deklaruojamą pagerėjimą nesusilpnindami jo vertinimo.
Apibrėžkite ciklą, kurį norite užbaigti
Naudojama programinė įranga teikia įrodymus: klaidas, delsą, pagalbos prašymus, incidentus, priežiūros radinius ir kartojamą rankinį darbą. Visas gyvavimo ciklas grąžina šiuos įrodymus į inžinerinius sprendimus.
Savaime tobulėjanti programinė įranga gali reikšti, kad automatizavimas padeda nustatyti, pasiūlyti, įgyvendinti ir patikrinti pakeitimus. Tai nebūtinai reiškia, kad modelis pats save moko. Nurodykite, kas keičiasi: programos kodas, konfigūracija, testai, instrukcijos, darbo eiga ar modelio parametrai.
Self-healing atkuria žinomą eksploatavimo būseną. Self-improvement keičia sistemą, kad ateityje rezultatas būtų geresnis. Antrajam teiginiui reikia palyginimo ir apsaugos nuo regresijų.
Sekite vieną stebėjimą per gyvavimo ciklą
Toliau pateikta seka yra siūlomas inžinerinis metodas. Ji neteigia, kad kuris nors produktas visus žingsnius atlieka autonomiškai.
| Etapas | Būtinas rezultatas | Išgalvotas eksporto pavyzdys |
|---|---|---|
| Stebėti | Versijuoti įrodymai su apimtimi ir neaiškumais | Didelių eksportų metu didėja vykdymo proceso atminties naudojimas |
| Diagnozuoti | Patikrinama priežastis ir konkuruojantys paaiškinimai | Išlaikomi eilučių buferiai gali paaiškinti atminties augimą |
| Apibrėžti | Pageidaujamas rezultatas ir apribojimai | Perduoti eilutes srautu nekeičiant teisių ar išvesties |
| Atkurti klaidą | Testas, atskleidžiantis pradinį sutrikimą | Tipiškas didelis sintetinis eksportas viršija ribą |
| Keisti | Peržiūrima pataisa | Srautinio perdavimo metu atlaisvinti apdorotų eilučių buferius |
| Įvertinti | Sena klaida pašalinta; kiti reikalavimai išlaikyti | Atminties testas, išvesties palyginimas, autorizavimo ir pakartotinių bandymų patikrinimai sėkmingi |
| Išleisti | Kontroliuojamas pateikimas su atkūrimo kriterijais | Ribotas identifikuoto artefakto diegimas |
| Patikrinti | Palyginami produkciniai įrodymai ir atsakingas asmuo | Atminties naudojimas stabilizuojasi, o teisingumas ir delsa lieka priimtini |
Išlaikykite šių rezultatų nuorodas. Po incidento numatytą veiksmą „pagerinti stebėseną“ sunku patikrinti. Apibrėžtas signalas, atsakingas asmuo, riba ir išbandyta reakcija padaro užbaigimą stebimą.
Išlaikykite vertinimą nepriklausomą nuo pasiūlymo
Agentas gali sukurti pataisą ir pasiūlyti testus. Komanda vis tiek turi ištirti, ar tie testai aptinka pradinę problemą. Išlaikykite versijuotą vertinimo rinkinį, kurio pakeitimas negali tyliai susilpninti.
Išgalvotam atminties nuotėkiui lyginkite lygiaverčius darbo krūvius ir versijas. Įtraukite didelius eksportus, atšaukimą, pakartotinį bandymą ir prieigos atmetimo atvejus. Naudokite sintetinius duomenis, atspindinčius svarbias struktūras neatskleidžiant klientų įrašų.
Atmeskite greitesnį eksportą, jei jis praranda įrašus, apeina autorizavimą ar viršija leidžiamą kainą. Šiuos apribojimus apibrėžkite prieš optimizavimą. Antraip sistema gali pagerinti pasirinktą rodiklį ir kartu pabloginti paslaugą.
Jei keičiate agento instrukcijas ar modelį, įvertinkite jo veikimą su tipiškomis užduotimis ir žinomomis klaidomis. Išlaikykite prieinamą ankstesnę versiją. Instrukcijų atnaujinimas neįrodo, kad pats modelis išmoko iš incidento.
Išleiskite ir išmatuokite rezultatą
Canary išleidimas pateikia bandomą versiją ribotai naudotojų grupei. Palyginkite bandomos ir kontrolinės versijos signalus bei apibrėžkite, kada plėsti ar sustoti. Mažas srautas ar skirtingi darbo krūviai gali neleisti padaryti aiškios išvados. Canary gairės.
Išgalvota komanda užfiksuoja pradinį matavimą su nekintamu sintetiniu darbo krūviu. Ji išbando pataisą, išleidžia patvirtintose ribose ir patikrina palyginamus produkcinius laikotarpius. Jei įrodymų vis dar nepakanka, ji užrašo neaiškumą, o ne skelbia naudą.
Taip pat matuokite kartojamą rankinį darbą. Automatizavimas gali sumažinti rutininį darbą, bet jam irgi reikia priežiūros ir sutrikimų tvarkymo. Vertindami rezultatą įtraukite šias sąnaudas. Rutininio darbo gairės.
Padarykite grįžtamojo ryšio įrašą naudingą
Pratimui naudokite šiuos laukus: stebėjimas ir versija; pradinis matavimas; siūloma priežastis; priėmimo kriterijai; regresiniai patikrinimai; pakeitimas ir peržiūra; išleidimo riba; išmatuotas rezultatas; atsakingas asmuo ir kita peržiūra.
Taiga Maintaining susieja kodo saugyklos radinius su taisymo darbu. Initiatives susieja numatytą pakeitimą su planavimu ir pristatymu. Tai įrodymų grandinės dalys. Už paslaugą atsakingas asmuo vis tiek turi patikrinti diegimą ir eksploatavimo rezultatą. Maintaining, Initiatives.
Brandi programinės įrangos gamykla susieja šį darbą tarp produktų. Didėjant automatizavimui išlaikykite matomas sprendimų teises ir vertinimo kriterijus. Galutinis įrodymas yra geresnė patikrinta paslauga, o ne didesnis sugeneruotų pakeitimų skaičius.
Atlikite užduotį
Užpildykite šios pamokos grįžtamojo ryšio įrašą išgalvotam atminties nuotėkiui. Apibrėžkite pradinį matavimą, priėmimo testą, regresinius patikrinimus, išleidimo ribą, produkcinį matavimą ir atsakingą asmenį. Pridėkite taisyklę atmesti greitesnį, bet mažiau teisingą eksportą.
Atsisiųsti užduoties lapą (Markdown)Atšaukus šį pasirinkimą ištrinama visa šioje naršyklėje išsaugota pažanga.
Pažanga lieka šioje naršyklėje. Be paskyros ir stebėjimo.
Šaltiniai ir papildoma literatūra
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗