Priporočila za oblikovanje strategije za ublažitev napak pri uvajanju
Velja za to Power Platform priporočilo kontrolnega seznama za dobro zasnovano operativno odličnost:
OE:11 | Izvedite strategijo za ublažitev napak pri uvajanju, ki obravnava nepričakovane težave med uvedbo s hitro obnovitvijo. Združite več pristopov, kot je povrnitev nazaj, onemogočanje funkcij ali uporaba izvornih zmogljivosti vašega vzorca uvajanja. |
---|
Ta priročnik opisuje priporočila za oblikovanje standardizirane strategije za učinkovito obravnavo napak pri uvajanju. Tako kot druge težave z delovno obremenitvijo so tudi napake pri uvajanju neizogiben del življenjskega cikla delovne obremenitve. S to miselnostjo ste lahko proaktivni, če imate dobro zasnovano, namerno strategijo za obravnavo napak pri uvajanju. Takšna strategija vaši skupini za delovno obremenitev omogoča, da učinkovito ublaži napake s čim manjšim vplivom na vaše uporabnike.
Odsotnost takšnega načrta lahko vodi do kaotičnih in potencialno škodljivih odzivov na težave, kar lahko pomembno vpliva na kohezijo ekipe in organizacije, zaupanje strank in finance.
Ključne strategije oblikovanja
Občasno se kljub zrelosti vaših razvojnih praks pojavijo težave pri uvajanju. Uporaba varnih praks uvajanja in izvajanje robustne delovne obremenitve dobavna veriga vam lahko pomaga zmanjšati pogostost neuspešnih uvajanj. Oblikovati morate tudi standardizirano strategijo za obravnavanje neuspešnih uvajanj, ko se zgodijo.
Strategija za zmanjšanje napak pri uvajanju je sestavljena iz petih širokih faz:
- Zaznavanje: Če se želite odzvati na neuspešno uvajanje, morate najprej odkriti napako. Zaznavanje je lahko v različnih oblikah, kot so neuspeli preizkusi dima, uporabniška poročila ali opozorila, ki jih ustvari vaša platforma za spremljanje.
- Odločitev: Odločiti se morate, katera je najboljša strategija ublažitve za določeno vrsto napake.
- Ublažitev: Izvesti morate ugotovljeno ublažitev. Ublažitev je lahko v obliki zamenjave, povrnitve nazaj ali napredovanja.
- Komunikacija: Zainteresirane strani in prizadeti uporabniki morajo biti obveščeni o statusu, ko odkrijete težavo in jo odpravite, kot zahteva vaš načrt za nujne primere odgovor.
- Postmortem: brezhibni obsmrtni pregledi nudijo priložnosti ekipi za delovno obremenitev, da prepozna področja za izboljšave in ustvari načrte za uporabo pridobljenega znanja.
Naslednji razdelki podajajo podrobna priporočila za te faze.
Odkrivanje
Za hitro prepoznavanje težav z uvedbami potrebujete robustne prakse testiranja in spremljanja, ki se nanašajo na uvedbe. Za pomoč pri hitrem odkrivanju anomalij lahko dopolnite spremljanje delovne obremenitve in opozarjanje z uporabo orodja za upravljanje zmogljivosti aplikacije in zapisovanjem prek instrumentov.
Preskušanje dima in drugo testiranje kakovosti bi moralo potekati v vsaki fazi vaše uvedbe. Uspešni preizkusi v eni umestitveni skupini ne bi smeli vplivati na odločitve o testiranju v naslednjih skupinah.
Implementirate lahko telemetrijo, ki povezuje uporabniške težave s fazo uvajanja. Nato lahko hitro ugotovite, s katero skupino uvajanja je povezan določen uporabnik. Ta pristop je še posebej pomemben za uvedbe s postopno izpostavljenostjo, saj lahko na kateri koli točki uvedbe v vaši bazi uporabnikov deluje več konfiguracij.
Na težave, o katerih poročajo uporabniki, morate biti pripravljeni takoj odgovoriti. Kadarkoli je to praktično, uvedite svojo fazo uvajanja med delovnim časom, ko imate na voljo celotno skupino za podporo. Zagotovite, da je podporno osebje usposobljeno za stopnjevanje težav z uvajanjem za pravilno usmerjanje. Eskalacije bi morale biti usklajene z vašim načrtom za nujne primere delovne obremenitve odgovor.
Odločitev
Odločanje o ustrezni strategiji ublažitve za težavo z uvajanjem vključuje upoštevanje dejavnikov, kot so:
Vrsta progresivnega modela osvetlitve, ki ga uporabljate. Na primer, lahko uporabite modro-zelen model ali model kanarčka. Če uporabljate modro-zeleni model, je padanje nazaj bolj praktično kot premikanje nazaj. Promet lahko preprosto preusmerite nazaj na sklad, ki izvaja konfiguracijo, ki ni posodobljena. Nato lahko odpravite težavo v problematičnem okolju in znova poskusite uvesti ob ustreznem času.
Metode, ki jih imate na voljo za obhod težave. Primeri vključujejo uporabo zastavic funkcij, okoljskih spremenljivk ali katere koli druge vrste konfiguracijske lastnosti izvajalnega okolja, ki jo lahko vklopite in izklopite. Včasih lahko preprosto zaobidete težavo tako, da izklopite zastavico funkcije ali preklopite nastavitev. V tem primeru boste morda lahko:
- Nadaljujte z uvajanjem.
- Izogibajte se padcu nazaj.
- Vrnite se nazaj, medtem ko popravljate žaljivo kodo.
Stopnja truda, ki je potrebna za implementacijo popravka v kodo. Če je raven truda za popravljanje kode nizka, je napredovanje z implementacijo hitrega popravka prava izbira za določene scenarije.
Raven kritičnosti za prizadeto delovno obremenitev. Delovne obremenitve, ki so kritične za poslovanje, je treba vedno uvajati vzporedno, kot v modro-zelenem modelu, da dosežete uvedbe brez izpadov. Zato je za te vrste delovnih obremenitev najprimernejša strategija ublažitve padca.
Rešitev
Sledi nekaj pogostih strategij ublažitve:
Povratek nazaj : V scenariju povrnitve nazaj posodobljene sisteme povrnete v stanje zadnje znane dobre konfiguracije.
Pomembno je, da se celotna ekipa delovne obremenitve strinja o pomenu "zadnje znane dobre". Ta izraz se nanaša na zadnje stanje delovne obremenitve, ki je bilo zdravo pred začetkom uvajanja, kar ni nujno prejšnja različica aplikacije.
Vrnitev nazaj je lahko zapletena, zlasti ker se nanaša na spremembe podatkov. Spremembe sheme lahko povzročijo tveganje vrnitve nazaj. Njihovo varno izvajanje lahko zahteva veliko načrtovanja. Kot splošno priporočilo bi morale biti posodobitve sheme aditivne. Zapisov ne smete zamenjati z novimi zapisi. Namesto tega bi morali starejše zapise opustiti in bi morali soobstajati z novimi zapisi, dokler ni varno odstraniti opuščenih zapisov.
Pasti nazaj : V nadomestnem scenariju so posodobljeni sistemi odstranjeni iz usmerjanja produkcijskega prometa. Ves promet je usmerjen na sklad, ki ni posodobljen. Ta strategija z nizkim tveganjem vam omogoča, da odpravite težave v svoji kodi, ne da bi povzročali nadaljnje motnje.
Pri uvedbah Canary vrnitev morda ne bo enostavna ali celo mogoča, odvisno od vaše infrastrukture in zasnove aplikacije. Če morate izvesti skaliranje za obvladovanje obremenitve sistemov, ki niso posodobljeni, izvedite to skaliranje, preden se vrnete.
Zaobiti žaljivo funkcijo : Če lahko težavo obidete z uporabo zastavic funkcij ali druge vrste lastnosti konfiguracije izvajalnega okolja, se lahko odločite, da je nadaljevanje uvajanja prava strategija za težavo.
Jasno bi morali razumeti kompromis pri obhodu funkcije in ta kompromis bi morali biti sposobni sporočiti zainteresiranim stranem. Zainteresirane strani bi morale odobriti načrt za naprej. Zainteresirane strani morajo določiti dolžino časa, ki je dopusten za delovanje v degradiranem stanju. Prav tako morajo to odločitev pretehtati glede na vašo oceno časa, ki je potreben za popravljanje napačne kode in njeno uvedbo.
Uvajanje v sili (popravek) : Če lahko težavo odpravite med uvedbo, je hitri popravek morda najbolj praktična strategija za ublažitev.
Kot katera koli druga koda, morajo hitri popravki iti skozi vaše postopke varnega uvajanja. Toda s hitrim popravkom se časovnica znatno pospeši. V vseh okoljih morate uporabiti strategijo promocije kode. Prav tako morate preveriti kodo hitrega popravka na vseh vratih kakovosti. Toda morda boste morali dramatično skrajšati čase pečenja in morda boste morali spremeniti teste, da jih pospešite. Zagotovite, da lahko izvajate popolne preizkuse posodobljene kode čim prej po uvedbi. Avtomatizacija testiranja zagotavljanja kakovosti do visoke stopnje pomaga narediti testiranje učinkovito v teh scenarijih.
Sporočilo
Pomembno je, da jasno opredelite komunikacijske odgovornosti, da zmanjšate kaos med incidenti. Te odgovornosti bi morale določiti, kako skupina za delovno obremenitev sodeluje s podpornimi ekipami, zainteresiranimi stranmi in osebjem odgovor skupine za nujne primere, kot je odgovor vodja za nujne primere.
Standardizirajte kadenco, ki ji sledi skupina za delovno obremenitev za zagotavljanje posodobitev stanja. Zagotovite, da so deležniki seznanjeni s tem standardom, da bodo vedeli, kdaj lahko pričakujejo posodobitve.
Če mora ekipa za delovno obremenitev neposredno komunicirati z uporabniki, razjasnite vrsto informacij in raven podrobnosti, ki sta primerni za skupno rabo. Ekipi za delovno obremenitev sporočite tudi vse druge zahteve, ki veljajo za te primere.
Posmrtno
Obdukcije bi morale slediti vsem neuspelim uvedbam brez izjeme. Vsaka neuspešna uvedba je priložnost za učenje. Postmortems vam lahko pomaga prepoznati slabosti v procesih uvajanja in razvoja ter napačne konfiguracije v vaši infrastrukturi.
Obsmrtnice morajo biti vedno neoporečne, da se posamezniki, vpleteni v incident, počutijo varne, ko delijo svoje Perspektive o tem, kaj je mogoče izboljšati. Postmortem vodje bi morali za nadaljnje delo z načrti za izvajanje ugotovljenih izboljšav in za dodajanje teh načrtov k zaostanku delovne obremenitve.
Premisleki in splošna priporočila
Prepričajte se, da vaš cevovod uvajanja lahko sprejme različne različice kot parametre, tako da lahko preprosto uvedete zadnje znane dobre konfiguracije.
Ohranite doslednost z ravnino upravljanja in podatkov, ko se premikate nazaj ali naprej. Ključi, skrivnosti, podatki o stanju baze podatkov in konfiguracije, ki so specifične za vire in politike, morajo biti v obsegu in upoštevani. Na primer, bodite pozorni na zasnovo skaliranja vaše infrastrukture v vaši zadnji znani dobri razmestitvi. Ugotovite, ali morate prilagoditi to konfiguracijo, ko znova razporedite kodo.
Dajte prednost majhnim, pogostim spremembam kot redkim, velikim spremembam, tako da bo razlika med vašo novo in zadnjo znano dobro uvedbo majhna.
Izvedite analizo načina odpovedi na svojih cevovodih za neprekinjeno integracijo in neprekinjeno dostavo (CI/CD), da pomagate prepoznati težave, ki lahko otežijo prizadevanja za ublažitev. Tako kot vašo delovno obremenitev kot celoto je mogoče vaše cevovode analizirati, da prepoznate področja, ki bi lahko bila problematična, ko poskusite z določeno vrsto ublažitve.
Funkcijo samodejnega povrnitve uporabite preudarno:
- Nekatera orodja CI/CD, kot je Azure DevOps imajo vgrajeno funkcijo samodejnega povrnitve. Razmislite o uporabi te funkcije, če vam nudi otipljivo vrednost.
- Funkcijo samodejnega povrnitve uporabite šele, ko temeljito in redno testirate svoj cevovod. Zagotovite, da je vaš cevovod dovolj zrel, da povzroči dodatne težave, če se sproži samodejna povrnitev.
- Zaupati morate, da avtomatizacija uvede samo potrebne spremembe in da se sproži le, ko je to potrebno. Sprožilce skrbno oblikujte tako, da bodo izpolnjevali te zahteve.
Uporabite zmožnosti platforme med povrnitvami. Na primer, varnostne kopije in obnovitev v trenutku lahko pomagajo pri shranjevanju in povrnitvi podatkov. Če pa za gostovanje aplikacije uporabljate navidezne stroje, je lahko koristno obnoviti vaše okolje na kontrolno točko tik pred incidentom.
Pogosto preizkusite svojo celotno strategijo za ublažitev napak pri uvajanju. Tako kot načrti za nujne primere odgovor in načrti za obnovitev po katastrofi je tudi vaš načrt neuspešne uvedbe uspešen le, če je vaša ekipa usposobljena zanj in ga redno izvaja. Inženiring kaosa in preizkušanje vbrizgavanja napak sta lahko učinkoviti tehniki za preizkušanje vaše strategije ublažitve uvajanja.
Power Platform olajšanje
Namen cevovodov v Power Platform je demokratizirati upravljanje življenjskega cikla aplikacij (ALM) za Power Platform in uporabnike Dynamics 365 tako, da v storitev vključijo avtomatizacijo ALM ter zmogljivosti stalne integracije in stalne dostave (CI/CD).
Microsoft Power Platform Orodja za gradnjo za Azure DevOps lahko uporabite za avtomatizacijo običajnih opravil gradnje in uvajanja, povezanih z aplikacijami, zgrajenimi na Power Platform.
GitHub Actions for Power Platform omogočajo razvijalcem, da zgradijo avtomatizirane delovne tokove življenjskega cikla razvoja programske opreme. Z dejanji GitHub za Microsoft Power Platform lahko ustvarite poteke dela v svoji shrambi za graditev, preskušanje, pakiranje, izdajanje in uvajanje aplikacije: izvajanje avtomatizacije ter upravljanje botov in drugih komponent, zgrajenih na platformi Microsoft Power Platform.
ALM Accelerator je odprtokodno orodje, ki je sestavljeno iz nabora aplikacij, skriptov in cevovodov, zasnovanih za avtomatizacijo procesa stalne integracije/neprekinjene dostave.
Avtomatizirajte preizkuse z Azure Pipelines.
Spremenljivke okolja v rešitvah shrani ključe parametrov in vrednosti, ki nato služijo kot vhodni podatki za druge objekte aplikacije. Ločevanje parametrov od predmetov, ki jih porabljajo, vam omogoča spreminjanje vrednosti znotraj istega okolja ali pri selitvi rešitev v druga okolja.
Power Platform okolja zagotavljajo funkcijo obnovitve v trenutku, ki vam lahko pomaga pri povrnitvi.
Power Platform integrira z Application Insights, ki je del ekosistema Azure Monitor . Uporabite to integracijo za:
Prejemajte telemetrične podatke o diagnostiki in zmogljivosti, ki jih je zajela platforma Dataverse in Application Insights. Lahko se naročite na prejemanje telemetrije o postopkih, ki jih aplikacije izvajajo v zbirki podatkov Dataverse in v aplikacijah, ki temeljijo na modelu. Ta telemetrija ponuja informacije, ki jih lahko uporabite za diagnosticiranje in odpravljanje težav, povezanih z napakami in zmogljivostjo.
Povežite svoje aplikacije platna z Application Insights. To analitiko lahko uporabite za diagnosticiranje težav in razumevanje, kaj uporabniki počnejo z vašimi aplikacijami. Zberete lahko informacije, ki vam bodo v pomoč pri sprejemanju boljših poslovnih odločitev in izboljšanju kakovosti vaših aplikacij.
Konfigurirajte Power Automate telemetrijo za pretok v Application Insights; na primer za spremljanje tok za oblak izvajanj in ustvarjanje opozoril za tok za oblak napake pri izvajanju.