Rekomendacijos, kaip parengti diegimo trikčių mažinimo strategiją
Taikoma šiai Power Platform gerai parengtos veiklos kompetencijos kontrolinio sąrašo rekomendacijai:
OE:11 | Įgyvendinkite diegimo trikčių mažinimo strategiją, kuri sprendžia netikėtas vidutinio diegimo problemas ir greitą atkūrimą. Sujunkite kelis metodus, pvz., atšaukimą, funkcijų išjungimą arba naudokite diegimo modelio prigimtines galimybes. |
---|
Šiame vadove aprašomos rekomendacijos, kaip sukurti standartizuotą strategiją, kad būtų galima efektyviai tvarkyti diegimo triktis. Kaip ir kitos darbo krūvio problemos, diegimo gedimai yra neišvengiama darbo krūvio gyvavimo ciklo dalis. Turėdami tokią mąstyseną, galite būti iniciatyvūs, turėdami gerai suplanuotą, apgalvotą strategiją, kaip spręsti diegimo nesėkmes. Tokia strategija leidžia jūsų darbo krūvio komandai efektyviai sušvelninti gedimus ir kuo mažiau paveikti jūsų vartotojus.
Tokio plano nebuvimas gali sukelti chaotiškus ir potencialiai žalingus atsakymus į problemas, kurios gali žymiai paveikti komandos ir organizacijos sanglaudą, klientų pasitikėjimą ir finansus.
Pagrindinės projektavimo strategijos
Kartais, nepaisant jūsų kūrimo praktikos brandos, kyla diegimo problemų. Saugaus diegimo praktikos ir patikimo darbo krūvio tiekimo grandinė naudojimas gali padėti sumažinti nepavykusių diegimų dažnumą. Taip pat turite sukurti standartizuotą strategiją, kad galėtumėte tvarkyti nepavykusius diegimus, kai jie įvyksta.
Diegimo nesėkmės mažinimo strategiją sudaro penki platūs etapai:
- Aptikimas: norėdami reaguoti į nepavykusį diegimą, pirmiausia turite aptikti triktį. Aptikimas gali būti kelių formų, pvz., nepavykę dūmų testai, naudotojų ataskaitos arba įspėjimai, kuriuos generuoja jūsų stebėjimo platforma.
- Sprendimas: Turite nuspręsti, kokia yra geriausia konkretaus gedimo tipo mažinimo strategija.
- Poveikio mažinimas: turite atlikti nustatytą rizikos mažinimo veiksmą. Švelninimas gali būti atsarginis, atšaukimas arba perkėlimas į priekį.
- Komunikacija: suinteresuotosios šalys ir paveikti naudotojai turi būti informuoti apie būseną, kai aptinkate ir sprendžiate problemą, kaip reikalaujama jūsų kritinio atsakymas plane.
- Postmortem: Nekalti postmortem suteikia galimybę darbo krūvio komandai nustatyti tobulintinas sritis ir sukurti mokymosi taikymo planus.
Tolesniuose skyriuose pateikiamos išsamios rekomendacijos šiems etapams.
Aptikimo
Kad galėtumėte greitai nustatyti diegimo problemas, jums reikia patikimos testavimo ir stebėjimo praktikos, susijusios su diegimais. Norėdami padėti greitai aptikti anomalijas, galite papildyti savo darbo krūvio stebėjimą ir įspėjimą naudodami programos našumo valdymo įrankį ir registruodami per prietaisus.
Dūmų testavimas ir kiti kokybės bandymai turėtų būti atliekami kiekviename diegimo etape. Sėkmingi bandymai vienoje diegimo grupėje neturėtų turėti įtakos sprendimams testuoti vėlesnėse grupėse.
Galite įdiegti telemetriją, kuri susieja vartotojo problemas su diegimo etapu. Tada galite greitai nustatyti, su kuria išleidimo grupe susietas konkretus vartotojas. Šis metodas ypač svarbus laipsniško poveikio diegimams, nes bet kuriuo diegimo momentu jūsų vartotojų bazėje gali veikti kelios konfigūracijos.
Turėtumėte būti pasirengę nedelsdami reaguoti į problemas, apie kurias pranešė naudotojas. Kai praktiškai įmanoma, diegimo etapą diegkite darbo valandomis, kai turite visą palaikymo komandą. Užtikrinkite, kad pagalbiniai darbuotojai būtų apmokyti, kaip išspręsti diegimo problemas, kad būtų galima tinkamai nukreipti maršrutą. Eskalavimas turėtų atitikti jūsų darbo krūvio ekstremaliųjų situacijų atsakymas planą.
Sprendimas
Priimant sprendimą dėl tinkamos diegimo problemos švelninimo strategijos reikia atsižvelgti į tokius veiksnius kaip:
Naudojamo progresyvios ekspozicijos modelio tipas. Pavyzdžiui, galite naudoti mėlynai žalią arba kanarų modelį. Jei naudojate mėlynai žalią modelį, grįžti atgal yra praktiškiau nei grįžti atgal. Galite lengvai perkelti srautą atgal į krūvą, kurioje vykdoma neatnaujinta konfigūracija. Tada galite išspręsti problemą probleminėje aplinkoje ir bandyti diegti dar kartą tinkamu laiku.
Metodai, kuriuos turite, kad apeitumėte problemą. Pavyzdžiai apima funkcijų vėliavėlių, aplinkos kintamųjų ar bet kokio kito tipo vykdyklės konfigūracijos ypatybės, kurią galite įjungti arba išjungti, naudojimą. Kartais galite lengvai apeiti problemą išjungdami funkcijos vėliavėlę arba perjungdami nustatymą. Tokiu atveju galbūt galėsite:
- Tęskite diegimą.
- Venkite kristi atgal.
- Grįžkite atgal, kol taisysite įžeidžiantį kodą.
Pastangų lygis, reikalingas norint įdiegti kodo pataisą. Jei pastangų pataisyti kodą lygis yra žemas, tam tikrais atvejais tinkamas pasirinkimas yra tęsti diegiant karštąsias pataisas.
Paveikto darbo krūvio kritiškumo lygis. Verslui svarbus darbo krūvis visada turėtų būti nustatomas greta, pvz., mėlynai žaliame modelyje, kad diegimas būtų nulinis. Todėl grįžimas atgal yra tinkamiausia tokio tipo darbo krūvio mažinimo strategija.
Mažinimas
Toliau pateikiamos kelios bendros švelninimo strategijos:
Atšaukimas: atšaukimo scenarijuje grąžinti atnaujintas sistemas į paskutinės žinomos geros konfigūracijos būseną.
Svarbu, kad visa darbo krūvio komanda susitartų dėl "paskutinio žinomo gėrio" reikšmės. Šis reiškinys nurodo paskutinę darbo krūvio būseną, kuri buvo sveika prieš pradedant diegti, kuri nebūtinai yra ankstesnė programos versija.
Atšaukimas atgal gali būti sudėtingas, ypač kai tai susiję su duomenų pokyčiais. Dėl schemos pakeitimų atšaukimas gali būti rizikingas. Norint juos saugiai įgyvendinti, gali prireikti nemažo planavimo. Kaip bendra rekomendacija, schemos atnaujinimai turėtų būti papildomi. Įrašų negalima pakeisti naujais įrašais. Vietoj to, senesni įrašai turėtų būti nebenaudojami ir turėtų egzistuoti kartu su naujais įrašais, kol bus saugu pašalinti nebenaudojamus įrašus.
Atsarginis variantas: pagal atsarginį scenarijų atnaujintos sistemos pašalinamos iš gamybos srauto nukreipimo. Visas srautas nukreipiamas į krūvą, kuri nėra atnaujinta. Ši mažos rizikos strategija suteikia galimybę išspręsti kodo problemas nesukeliant papildomų trikdžių.
Naudojant "Canary" diegimą, grįžti atgal gali būti nesudėtinga ar net neįmanoma, atsižvelgiant į jūsų infrastruktūrą ir programos dizainą. Jei jums reikia atlikti mastelio keitimą, kad galėtumėte valdyti neatnaujintų sistemų apkrovą, atlikite šį mastelio keitimą prieš grįždami atgal.
Apeiti pažeidžiančią funkciją: Jei galite apeiti problemą naudodami funkcijų vėliavėles arba kito tipo vykdymo laiko konfigūracijos ypatybę, galite nuspręsti, kad tolesnis diegimas yra tinkama problemos strategija.
Turėtumėte aiškiai suprasti kompromisą apeinant funkciją ir turėtumėte sugebėti pranešti apie šį kompromisą suinteresuotosioms šalims. Suinteresuotosios šalys turėtų patvirtinti tolesnių veiksmų planą. Suinteresuotosios šalys turi nustatyti, kiek laiko leidžiama veikti pablogėjusioje būsenoje. Jie taip pat turi pasverti šį ryžtą, palyginti su jūsų apskaičiuotu laiku, kurio reikia norint ištaisyti pažeidžiantį kodą ir jį įdiegti.
Skubus diegimas (karštosios pataisos): jei galite išspręsti problemą diegimo viduryje, karštosios pataisos gali būti praktiškiausia rizikos mažinimo strategija.
Kaip ir bet kuris kitas kodas, karštosioms pataisoms turi būti taikoma saugaus diegimo praktika. Tačiau naudojant karštąsias pataisas laiko juosta žymiai pagreitėja. Turite naudoti kodo reklamos strategiją visoje savo aplinkoje. Taip pat turite patikrinti karštųjų pataisų kodą prie visų kokybės vartų. Tačiau gali tekti žymiai sutrumpinti kepimo laiką ir gali tekti modifikuoti testus, kad juos pagreitintumėte. Įsitikinkite, kad po diegimo galite kuo greičiau atlikti visus atnaujinto kodo testus. Aukšto lygio kokybės užtikrinimo bandymų automatizavimas padeda padaryti testavimą veiksmingą pagal šiuos scenarijus.
Communication
Svarbu aiškiai apibrėžti bendravimo atsakomybę, kad incidentų metu būtų sumažintas chaosas. Šios pareigos turėtų nustatyti, kaip darbo krūvio komanda bendradarbiauja su palaikymo komandomis, suinteresuotosiomis šalimis ir skubios pagalbos atsakymas komandos personalu, pvz., ekstremalių situacijų atsakymas vadovu.
Standartizuokite dažnumą, kurio laikosi darbo krūvio komanda teikdama būsenos naujinimus. Užtikrinkite, kad suinteresuotosios šalys žinotų apie šį standartą, kad žinotų, kada tikėtis atnaujinimų.
Jei darbo krūvio komandai reikia tiesiogiai bendrauti su vartotojais, paaiškinkite, kokio tipo informaciją ir išsamumo lygį reikia bendrinti. Taip pat praneškite darbo krūvio komandai apie visus kitus reikalavimus, taikomus šiais atvejais.
Postmortem
Postmortems turėtų sekti visus nepavykusius dislokavimus be išimties. Kiekvienas nepavykęs diegimas yra galimybė mokytis. Postmortems gali padėti nustatyti diegimo ir kūrimo procesų trūkumus ir netinkamas infrastruktūros konfigūracijas.
Postmortemai visada turėtų būti nekalti, kad asmenys, susiję su incidentu, jaustųsi saugūs, kai dalijasi savo Perspektyvos apie tai, ką galima patobulinti. Postmortem vadovai turėtų kitas su planais, kaip įgyvendinti nustatytus patobulinimus ir įtraukti šiuos planus į darbo krūvio atsilikimą.
Svarstymai ir bendros rekomendacijos
Įsitikinkite, kad jūsų diegimo srautas gali priimti atskiras versijas kaip parametrus, kad galėtumėte lengvai įdiegti paskutines žinomas geras konfigūracijas.
Išlaikykite nuoseklumą su valdymo ir duomenų plokštumomis, kai riedate atgal arba riedate į priekį. Raktai, paslaptys, duomenų bazės būsenos duomenys ir konfigūracijos, būdingos ištekliams ir strategijoms, turi būti įtraukti į taikymo sritį ir į juos turi būti atsižvelgta. Pavyzdžiui, atkreipkite dėmesį į infrastruktūros mastelio keitimo dizainą paskutiniame žinomame ir gerame diegime. Nustatykite, ar reikia koreguoti tą konfigūraciją, kai iš naujo įdiegiate kodą.
Pirmenybę teikite mažiems, dažniems pakeitimams, o ne retiems, dideliems pakeitimams, kad skirtumas tarp naujų ir paskutinių žinomų gerų diegimų būtų nedidelis.
Atlikite nuolatinio integravimo ir nuolatinio pristatymo (CI / CD) vamzdynų gedimo režimo analizę, kad padėtumėte nustatyti problemas, kurios gali apsunkinti švelninimo pastangas. Kaip ir visą jūsų darbo krūvį, jūsų vamzdynai gali būti analizuojami siekiant nustatyti sritis, kurios gali būti problemiškos, kai bandote naudoti tam tikrą mažinimo tipą.
Protingai naudokite automatinio grąžinimo funkciją:
- Kai kurie CI / CD įrankiai, pvz., Azure DevOps turi integruotą automatinio grąžinimo funkciją. Apsvarstykite galimybę naudoti šią funkciją, jei ji suteikia jums apčiuopiamos vertės.
- Automatinio grąžinimo funkciją turėtumėte naudoti tik kruopščiai ir reguliariai išbandę srautą. Įsitikinkite, kad jūsų srautas yra pakankamai brandus, kad sukeltų papildomų problemų, jei būtų suaktyvintas automatinis grąžinimas.
- Turite pasitikėti, kad automatizavimas įdiegia tik būtinus pakeitimus ir kad jis suaktyvinamas tik tada, kai reikia. Kruopščiai suprojektuokite paleidiklius, kad jie atitiktų šiuos reikalavimus.
Naudokite platformos teikiamas galimybes grąžinimo metu. Pavyzdžiui, atsarginės kopijos ir atkūrimas laiku gali padėti saugoti ir grąžinti duomenis. Arba, jei programai priglobti naudojate virtualias mašinas, gali būti naudinga atkurti aplinką į patikros punktą prieš pat įvykį.
Dažnai išbandykite visą diegimo gedimų mažinimo strategiją. Kaip ir avarinio atsakymas planai bei atkūrimo po ekstremaliųjų įvykių planai, jūsų diegimo nesėkmės planas yra sėkmingas tik tuo atveju, jei jūsų komanda yra apmokyta ir reguliariai jį praktikuoja. Chaoso inžinerija ir gedimų įpurškimo testavimas gali būti veiksmingi diegimo mažinimo strategijos testavimo metodai.
Power Platform Palengvinimo
Vamzdynais Power Platform siekiama demokratizuoti programų gyvavimo ciklo valdymą (ALM) Power Platform klientams ir Dynamics 365, į paslaugą įtraukiant ALM automatizavimo ir nuolatinio integravimo bei nuolatinio pristatymo (CI / CD) galimybes.
Microsoft Power Platform "Build Tools", skirtą Azure DevOps galima naudoti norint automatizuoti įprastas kūrimo ir diegimo užduotis, susijusias su sukurtomis Power Platform programomis.
"GitHub" veiksmai, leidžiantys Power Platform kūrėjams kurti automatizuotas programinės įrangos kūrimo gyvavimo ciklo darbo eigas. Naudodami GitHub veiksmus Microsoft Power Platform, saugykloje galite sukurti darbo eigą, kad sukurtumėte, išbandytumėte, pakuotumėte, išleistumėte ir įdiegtumėte programas; atlikti automatiką; ir valdyti robotus bei kitus "Microsoft Power Platform" įtaisytus komponentus.
"ALM Accelerator" yra atvirojo kodo įrankis, kurį sudaro programų, scenarijų ir vamzdynų rinkinys, skirtas automatizuoti nuolatinį integravimo / nuolatinio pristatymo procesą.
Automatizuokite bandymus naudodami Azure Pipelines.
Naudokite "Power CAT Kit Copilot Studio " agentams ir bandymams konfigūruoti. Atliekant atskirus testus pagal Copilot Studio API (Direct Line), agentas atsakymai įvertinami pagal laukiamus rezultatus.
Aplinkos kintamieji sprendimuose saugo parametrų raktus ir reikšmes, kurios vėliau naudojamos kaip įvestis kitiems taikymo objektams. Parametrų perkėlimas iš sunaudojančių objektų leidžia pakeisti reikšmes toje pačioje aplinkoje arba perkeliant sprendimus į kitas aplinkas.
Power Platform Aplinkos teikia tiesioginio atkūrimo funkcijas, kurios gali padėti atšaukti.
Power Platform integruojasi su Application Insights, kuri yra Azure Monitor ekosistemos dalis . Naudokite šią integraciją norėdami:
Gaukite telemetriją apie diagnostiką ir našumą, Dataverse kurį užfiksavo platforma Application Insights. Galite užsiprenumeruoti, kad gautumėte telemetriją apie operacijas, kurias programos atlieka jūsų Dataverse duomenų bazėje ir modeliu pagrįstose programose. Ši telemetrija pateikia informacija, kurią galite naudoti diagnozuojant ir šalinant triktis, susijusias su klaidomis ir veikimu.
Prijunkite drobės programas prie Application Insights. Naudodami šią analizę galite nustatyti problemas ir suprasti, ką naudotojai daro su jūsų programomis. Galite rinkti informaciją, kuri padės priimti geresnius verslo sprendimus ir pagerinti programų kokybę.
Konfigūruoti Power Automate telemetriją , kad ji tekėtų Application Insights; pavyzdžiui, stebėti debesies srautas vykdymą ir kurti įspėjimus apie debesies srautas vykdymo nesėkmes.
Užfiksuokite telemetrijos duomenis iš savo Microsoft Copilot Studio agentas , kad galėtumėte naudoti Azure Application Insights. Šią telemetriją galite naudoti norėdami stebėti užregistruotus pranešimus ir įvykius, siunčiamus į jūsų agentas ir iš jų, temas, kurios bus suaktyvintos vartotojų pokalbių metu, ir pasirinktinius telemetrijos įvykius, kuriuos galima siųsti iš jūsų temų.
Veiklos tobulinimo kontrolinis sąrašas
Žiūrėkite visą rekomendacijų rinkinį.