Enota 9 / 11

Upravljanje sprememb: ocena tveganja, povrnitev in vzdrževanje

Dobički:

  • Sposobnost priprave zahteve za spremembo, ocene tveganja in načrta za povrnitev z umetno inteligenco ter narediti spremembo varno in predvidljivo
  • Sposobnost razširitve domene z lastnimi informacijami o odvisnosti, razvrščanje priklicljivosti in pridobitev zmožnosti načrtovanja postopne uvedbe s canaryjem.
  • Sposobnost razumeti, da je človek tisti, ki odobrava, načrtuje in nosi odgovornost za spremembe, in pridobiti disciplino, da jih ne izvaja brez kriterijev uspeha in poti nazaj.

Upravljanje sprememb: ocena tveganja, povrnitev in vzdrževanje z AI

Velika večina nesreč v produkcijskih sistemih ne nastane zaradi napada, temveč zaradi spremembe: popravka, posodobitve konfiguracije, uvedbe izdaje, »manjšega« popravka. Zato ima vsaka zrela organizacija upravljanje sprememb: discipliniran proces načrtovanja proizvodne spremembe, ocene tveganja, odobritve, izvajanja in vrnitve, kadar je to potrebno. Cilj ni preprečiti spremembe, ampak jih narediti varne in predvidljive. Tu je AI močan pomočnik pri pripravi zahteve za spremembo, seznamu tveganj in prizadetih sistemov, vzpostavitvi ogrodja načrta za povrnitev in pripravi kontrolnega seznama za uvedbo. Toda osnovno pravilo ostaja: AI izdela načrt za dokumentiranje sprememb in tveganj; Oseba, ki odobri, razporedi in prevzame odgovornost za spremembo.

V tej enoti koncepti zahteve za spremembo, ocene tveganja, načrta za povrnitev, vzdrževalno okno, kanarična/postopna distribucija in CAB (svetovalni odbor za spremembe); Naučili se boste, kako načrtovati varne spremembe z AI.

Anatomija dobre zahteve za spremembo

Nenadzorovana sprememba je stavek "To sem posodobil"; Nadzorovana sprememba je načrt. Dobra zahteva za spremembo odgovori na ta vprašanja: Kaj se spreminja? (obseg), Zakaj? (utemeljitev), kateri sistemi so prizadeti? (domena in odvisnosti), kakšna je stopnja tveganja? (nizko/srednje/visoko), kdaj? (obdobje vzdrževanja), Kako se prijaviti? (koraki), Kako preveriti? (merilo uspeha), Kako ga pridobiti nazaj, če se pokvari? (povratek), Kdo odobri? (oblast). Umetna inteligenca hitro zapolni to okostje – vendar ste vi tisti, ki resnično poznate področje in tveganje, ki poznate organizacijo; Seznam umetne inteligence dopolnite z lastnim znanjem o odvisnosti.

Namig: Dva najpogosteje spregledana dela spremembe sta »načrt za povrnitev nazaj« in »merila za preverjanje uspeha«. Če pred uvedbo spremembe nimate pisnega odgovora na vprašanji "kam točno se obrnem s katerim ukazom, če gre slabo" in "kako dokažem, da je bil uspešen", ta sprememba še ni pripravljena.

Povratek nazaj: izhodna vrata vsake spremembe

Srce upravljanja sprememb je načrt preobrata. Vsaka sprememba mora imeti pot za povrnitev: popravek za povrnitev, obnovitev prejšnje konfiguracije, povrnitev različice na prejšnjo različico, povrnitev s posnetka. Bistvena razlika je: nekatere spremembe je enostavno razveljaviti (konfiguracijska vrstica), nekatere so nepovratne ali zelo težko (selitev sheme baze podatkov, brisanje podatkov). Nepovratne spremembe so najvišji razred tveganja in zahtevajo največ pozornosti, največ varnostnih kopij, najožje vzdrževalno obdobje. Vprašajte AI ​​"ali je to spremembo mogoče razveljaviti, in če ne, katere dodatne varnostne ukrepe naj sprejmem?"

Obdobje vzdrževanja in postopna uvedba

Obdobje vzdrževanja je vnaprej napovedano časovno obdobje, v katerem bo sprememba vplivala na najmanjše število uporabnikov – običajno ponoči ali ob koncu tedna, ko je promet majhen. Toda dobra izbira časa ni dovolj; Postopno uvajanje spremembe dodatno zmanjša tveganje. Pri uvedbi Canary se sprememba najprej uporabi za majhen del (en strežnik, 5 % uporabnikov), jo spremlja in razširi, če ni težav. Na ta način hrošč ne bo vplival na celotno floto, ampak na majhen del in bo zgodaj odkrit. Od umetne inteligence lahko zahtevate načrt postopnega uvajanja in meritve za sledenje v vsaki fazi.

Korak za korakom: sprememba s pomočjo umetne inteligence

  1. Osnutek zahteve. Spremembo dokumentirajte z AI v zgornjih naslovih.
  2. Razširite vpliv. Dopolnite seznam prizadetih sistemov AI z lastnim zemljevidom odvisnosti; "Kaj je še povezano s to storitvijo?"
  3. Razvrstite tveganje. Nizka/srednja/visoka in reverzibilna? Zahteva najstrožji postopek, ki je visok in nepovraten.
  4. Napišite povratek in ga preizkusite. Zapišite korake za povrnitev in poskusite vrniti nazaj v testnem okolju, če je to mogoče – »načrt za povrnitev«, ki ga ni mogoče povrniti, ne šteje kot načrt.
  5. Načrtujte okna in nivoje. Določite obdobje vzdrževanja in stopnje kanarčkov ter meritve, ki jih je treba spremljati na vsaki stopnji.
  6. Potrditev in komunikacija. Pridobite odobritev organa (po potrebi CAB), obvestite prizadete, izvajajte, spremljajte, preverjajte.

trije mini kovčki

1. primer – Načrt za povrnitev je rešil noč. Ena ekipa je uporabila popravek spletnega strežnika; Popravek je nepričakovano prekinil odvisnost in spletno mesto je začelo prikazovati napako 500. Toda v zahtevi za spremembo je bil jasen korak za povrnitev, pripravljen z AI: "odstrani popravek, obnovi prejšnji paket, znova naloži storitev." Ekipa se je vrnila čez 6 minut. Brez načrta za povrnitev bi izpad trajal več ur, medtem ko bi sredi noči iskali glavni vzrok.

2. primer – Canary je ujel hrošča pri 5 %. Razdeljena bo nova različica. Ekipa je od umetne inteligence zahtevala razporejen načrt uvajanja: najprej 1 strežnik, ura, nato 25 %, nato vse. Na strežniku Canary so se odzivni časi podvojili; distribucija je ustavljena. Napaka je obstajala le na enem strežniku, pri čemer 95 % uporabnikov ni bilo prizadetih. Če bi se razširilo naenkrat, bi celotna služba propadla.

Primer 3 – Dodaten ukrep nepopravljive spremembe. Načrtovana je bila selitev sheme baze podatkov – sprememba, ki bi jo bilo zelo težko razveljaviti. Inženir je vprašal AI o tveganju; YZ je izjavil, da je sprememba nepovratna, in priporočil popolno varnostno kopijo, ločen preskusni zagon in ozko okno. Ekipa je naredila popolno varnostno kopijo tik pred selitvijo in jo najprej preizkusila na kopiji. Med selitvijo je prišlo do težave, vendar je bila zahvaljujoč varnostni kopiji doslednost obnovljena v 20 minutah.

Štiri predloge za kopiranje

1) Osnutek zahteve za spremembo:

Vaša vloga: specialist za upravljanje sprememb. Osnutek zahteve za spremembo za naslednjo spremembo: [sprememba]. Naslovi: Kaj/zakaj, prizadeti sistemi in odvisnosti, stopnja tveganja (nizka/srednja/visoka + utemeljitev), ali gre za povrnitev, koraki implementacije, merila za preverjanje uspeha, koraki za povrnitev, priporočilo za obdobje vzdrževanja, zahtevana odobritev. Označite odvisnost, o kateri niste prepričani, kot "preveri".

2) Ocena tveganja in vpliva:

Z vidika tveganja ocenite naslednjo spremembo: [sprememba]. (1) Naštejte sisteme, ki so lahko neposredno in posredno prizadeti, (2) kakšen je najslabši možni scenarij, (3) ali je reverzibilen, če ne, katere dodatne ukrepe naj sprejmem, (4) utemeljite stopnjo tveganja. Pojasnite, da je to predhodna ocena in da je odločitev moja.

3) Ustvarjanje načrta za povrnitev:

Napišite načrt za povrnitev po korakih za [sprememba]. Poskrbite, da bo vsak korak mogoče kopirati in preveriti. Če obstajajo nepovratni deli spremembe, to jasno navedite in zapišite, katero varnostno kopijo naj vzamem zanje. Dodajte, kako preveriti uspešnost Povrnitve.

4) Načrt postopne distribucije (kanarski):

Predlagajte postopni načrt [uvajanja] za naslednjo uvedbo: katere faze (npr. 1 strežnik -> 25 % -> vsi), kako dolgo naj čakam na posamezno fazo in KATERIM meritvam naj sledim (odzivni čas, stopnja napak itd.)? Kateri prag naj ustavim in povrnem uvajanje, če je presežen? Jasno zapišite svoje odločitve.

Šibek poziv/močan poziv

Šibek poziv:

Ali naj uporabim ta popravek?

Brez konteksta, brez vpliva, brez redundance, brez oken. AI ne pozna niti vašega sistema niti vašega tveganja; "Da/ne", ki bi ga dal, je neodgovorno ugibanje.

Močan poziv:

Vaša vloga: specialist za upravljanje sprememb. Uporabil bom varnostni popravek za floto spletnih strežnikov v proizvodnji (8 strežnikov, za izravnalnikom obremenitve). Daj mi: (1) osnutek zahteve za spremembo za to spremembo, (2) odvisnosti, ki bi lahko vplivale (bom potrdil), (3) korake povrnitve, (4) kanarčkov načrt kot 1 strežnik -> 25 % -> vse in meritve, ki jih bom spremljal na vsaki stopnji. Utemeljite stopnjo tveganja. Pritrjujem in odločam.

Spremeni funkcijo

nizko tveganje

visoko tveganje

reverzibilnost

enostavno vrnitev nazaj

nepreklicno/težko

domena

Posamezen, izoliran

Več storitev, veriga odvisnosti

Distribucija

lahko neposredno

Obvezen kanarček + ozko okno

Odobritev

znotraj ekipe

CAB / zgornja odobritev

rezervni

Standardno

Dodatna popolna varnostna kopija + testni zagon

Pogoste napake

  • Izvajanje brez načrta za povrnitev. Sprememba je igra na srečo, če pot nazaj ni zapisana.
  • Ohranjanje sfere vpliva ozke. Obhod skritih odvisnosti, povezanih s storitvijo, bo povzročil nepričakovane stranske prekinitve.
  • Zamenjajte nepopravljivo spremembo za običajno. Spremembe, kot sta selitev sheme in brisanje podatkov, zahtevajo najstrožji postopek in popolno varnostno kopijo.
  • Razširitev na celotno floto hkrati. Brez Canaryja bi hrošč prizadel vse uporabnike hkrati.
  • Brez definiranja meril uspeha. Če kaj pomeni "uspešno", ni napisano, lahko pokvarjeno spremembo zamenjate za "popolno".
Pozor: seznam prizadetih sistemov, ki ga je pripravil AI, je predhodni in ne popoln seznam. AI ne pozna odvisnosti vaše organizacije; Natančen odgovor na vprašanje "Če se ta storitev zruši, kaj se bo še zrušilo?" leži v vašem korporativnem znanju. Predpostavimo, da je seznam AI nepopoln in ga razširite.

Če povzamem

Večina proizvodnih nesreč nastane zaradi sprememb, ne zaradi napada; Upravljanje sprememb ne preprečuje sprememb, ampak jih naredi varne in predvidljive. AI; Hitro pripravi osnutke zahtev za spremembe, ocene tveganja, načrte za povrnitev in kontrolne sezname za postopno uvajanje. Toda razširite domeno s svojim dejanskim znanjem o odvisnosti, razvrstite reverzibilnost, napišite povrnitev in jo preizkusite, če je mogoče, porazdelite tveganje z vzdrževalnim oknom in kanarčkom, določite merila uspeha. Človek je tisti, ki odobri, razporedi in nosi odgovornost za spremembo; AI je partner, ki pospeši načrt.

Aplikacijska naloga

Izberite produkcijsko spremembo, ki jo nameravate izvesti kmalu (ali ste jo pred kratkim izvedli). AI naj pripravi popolno zahtevo za spremembo z zgornjo predlogo »Osnutek zahteve za spremembo«. Razširite seznam "prizadetih sistemov", ki jih ustvari umetna inteligenca, za vsaj dva elementa z lastnimi informacijami o odvisnosti. Natisnite korake za povrnitev s predlogo »Ustvari načrt za povrnitev« in ugotovite, ali obstaja del spremembe, ki ga ni mogoče povrniti. Končno pripravite načrt kanarčka. Povzemite celoten načrt v 6 točkah in zabeležite, katere odobritve so potrebne.

kontrolni seznam

  • [ ] Ali sem pripravil zahtevo za spremembo, ki vključuje kaj/zakaj, vpliv, tveganje, korake, preverjanje in povrnitev?
  • [ ] Ali sem razširil seznam prizadetih sistemov AI z lastnimi informacijami o odvisnosti?
  • [ ] Ali sem opredelil, ali je sprememba reverzibilna ali nepopravljiva?
  • [ ] Napisal sem korake za povrnitev in poskusil v testnem okolju, če je mogoče?
  • [ ] Ali sem določil obdobje vzdrževanja in načrt uvajanja kanarčka ter metrike spremljanja za vsako fazo?
  • [ ] Ali sem opredelil merila za preverjanje uspešnosti in prejel potrebne odobritve?