Gevinster:
- Forstå risikoreduserende frigjøringsstrategier (blågrønn, kanarifugl, funksjonsflagg) og produktverifiseringsdisiplin (helsesjekk, røyktest, overvåking av gyldent signal)
- Evne til å implementere vanen med å utarbeide en klar tilbakerullingsplan før distribusjon og verifisere kritiske forretningsveier etter distribusjon
- Evne til å kombinere alle delene som er lært gjennom modulen i en ende-til-ende AI-støttet arbeidsflyt og bruke prinsippet om "AI produserer, mennesker bekrefter og går god for" på hvert trinn
Hele denne modulen strømmet mot ett punkt: sikker levering av kode og infrastruktur til produksjon (livsmiljøet som brukes av ekte kunder). Nå er vi ved det mest kritiske og stressende leddet i kjeden: å få en endring live og verifisere at den faktisk fungerer der. En feil her er ikke abstrakt – den rammer kunden, inntektene og omdømmet direkte. Det er derfor modne team går til produksjon ikke ved å "håpe", men med kontrollerte utgivelsesstrategier og systematisk verifisering.
I denne siste enheten kombinerer vi to ting: (1) utgivelsesmetoder som reduserer risikoen (kanarifugl, blågrønn, funksjonsflagg) og disiplinen med produktverifisering; (2) hvordan hver del vi lærte gjennom modulen – CI/CD, IaC, container, overvåking, hendelse, kostnad, skript, sikkerhet – kommer sammen til en enkelt AI-drevet ende-til-ende arbeidsflyt. La oss gjenta det første sitatet en siste gang: AI genererer og akselererer utkast ved hvert trinn; Men det er du som trykker på «Jeg tar dette live»-knappen og går god for utfallet.
Frigjør strategier som reduserer risiko
Å sende en endring til alle brukere samtidig er den mest risikable måten. Modne metoder:
- Blå-grønn distribusjon: To identiske miljøer opprettholdes - "blå" (live) og "grønn" (ny versjon). Den nye versjonen er klargjort og testet i grønt, så går trafikken plutselig over til grønt. Hvis det er et problem, går trafikken umiddelbart tilbake til blått. Rask tilbakerulling er dens største fordel.
- Canary Deployment: Den nye versjonen er først utgitt til en liten prosentandel av brukerne (f.eks. 5 %); Hvis beregningene er gode, øker du gradvis til 100 %. Et problem påvirker en liten del av brukeren, ikke hele brukeren.
- Feature Flag: Den nye funksjonen legger inn koden, men blokkeres av et flagg; Den åpnes for enkelte brukere når de blir bedt om det. Det er et skille mellom deployment og "release"; Hvis det er et problem, slås flagget av uten å rulle tilbake koden.
Tips: Det raskeste sikkerhetsnettet er å ha en tilbakerulling klar før hver utplassering. "Hvis noe går galt, hvordan kan jeg gå tilbake til den gamle versjonen på 60 sekunder?" Hvis det ikke er noe klart svar på spørsmålet, er du ikke klar til å utføre den distribusjonen.
Prod-verifisering: arbeidet slutter ikke når distribusjonen avsluttes
Bare fordi en distribusjon ser "grønn" ut, betyr det ikke at den fungerer. Systematisk verifisering:
- Helsesjekker: Er tjenesten oppe, svarer /healthz?
- Røyktester: Fungerer faktisk de få mest kritiske brukerveiene (pålogging, betaling, søk)? Automatisk og rask.
- Se etter gylne signaler: Feilfrekvens etter distribusjon, ventetid, er trafikken normal? (Fire signaler på enhet 6.)
- Utvid gradvis: Se på beregninger ved hvert trinn mens du øker Kanariøy-prosenten.
- Observasjonsvindu: Overvåk nøye i en periode (f.eks. 30 minutter) etter utplassering; Luske problemer er ikke umiddelbart synlige.
Forsiktig: AI kan produsere en liste over røyktester eller verifikasjoner, men det er din jobb å finne ut hvilke brukerstier som er "kritiske". AI gir en generell liste; Bare du vet at betalingsflyten din, den mest inntektsgenererende veien, må testes.
Sammenligning av utgivelsesstrategier
Strategi
Hovedfordel
Kostnad/kompleksitet
best egnet
Blå-grønn
Umiddelbar tilbakeføring
To miljøer = 2x ressurser
Hvis rask henting er kritisk
kanarifugl
Begrenser virkningen til små skiver
Trafikkstyring kreves
Stor brukerbase
FeatureFlag
Skiller distribusjon fra utgivelse
Flaggforvaltningsgjeld
Gradvis/målrettet åpning
Rullende oppdatering
Enkelt, ressursvennlig
sakte tilbakerulling
Enkle tjenester
Ende-til-ende AI-drevet arbeidsflyt
La oss nå kombinere hele modulen til en enkelt flyt. La oss si at du publiserer en ny mikrotjeneste. AI produserer utkast på hvert trinn; du bekrefter ved hvert trinn:
- Kode og beholder (enhet 4): AI produserer en optimalisert, sikker Dockerfile; Du bekrefter ikke-hemmeligheten og størrelsen.
- CI/CD (enhet 2): Skriver AI-test-build-deploy-pipelinen; Du begrenser tillatelsene og sjekker de hemmelige referansene.
- Infrastruktur (enhet 3): Definerer de nødvendige ressursene med AI Terraform; Du leser planens utdata og ser ikke etter uventede slettinger.
- Orkestrering (enhet 5): AI produserer Kubernetes-manifester; du bekrefter ressursgrensen, sonden og RBAC.
- Sikkerhet (enhet 10): Prioriterer AI-skanningsutganger; Du tar tak i de utnyttbare først.
- Overvåking (enhet 6): AI genererer alarmregler og dashbord; Du tester tersklene med tidligere data.
- Utgivelse og validering (denne enheten): Skisserer AI-røyktesten og tilbakeføringsplanen; du starter kanarifuglen, se beregningene, trykk på knappen.
- Hvis hendelsen inntreffer (enhet 7): AI genererer hypotese og postmortem skisse; Du verifiserer og lærer leksjonene.
- Kostnad (enhet 8): AI overvåker sløsing med nye ressurser; Du tar de riktige avgjørelsene.
Ved hvert trinn forblir den vanlige regelen konstant: AI produserer og akselererer, mennesker bekrefter og bekrefter. Dette er essensen av modulen.
tre minisaker
Tilfelle 1 - kanarifugl begrenset en katastrofe til 5 %. Et team ga den nye versjonen til 5 % brukere med kanarifugl. Dashbordet AI produserte viste umiddelbart at feilraten hoppet til 8 % i denne delen. Teamet tok det tilbake uten å øke det til 100 %; Problemet berørte bare 5 % av brukerne, og det var i noen få minutter. Hvis det var en big-bang-distribusjon, ville alle kunder bli berørt.
Tilfelle 2 - røyktest fanget opp den manglende banen. AI tilbød et røyktestsett, men det hadde ikke en "betalings"-flyt. Ingeniøren la det til, vel vitende om at den mest kritiske inntektsstrømmen var betaling. Testen etter distribusjon brøt rett ved utsjekkingstrinnet - en tredjepartsnøkkel hadde utløpt. Verifisering fanget et stille tap av inntekter i løpet av minutter.
Tilfelle 3 — klar tilbakerulling lagret på 90 sekunder. Et team som installerte blågrønt tok den nye versjonen til grønn; Etter 2 minutter ble forsinkelsen doblet. De gjorde trafikken blå på 90 sekunder med tilbakerullingen de forberedte på forhånd. De fant grunnårsaken (en treg spørring i den nye versjonen) ikke under press, så rolig. Den klare tilbakerullingsveien gjorde avbruddet nesten usynlig.
Fire kopierbare maler
1) Valg av utgivelsesstrategi:
Jeg vil produsere følgende tjeneste: [SERVICE/KONTEKST: antall brukere, utfallstoleranse, infrastruktur]. Hvilken anbefaler du mellom blågrønne, kanarifugler og funksjonsflagg? Sammenlign fordelene, kostnadene og tilbakerullingshastigheten til hver i denne sammenhengen. Gi et forslag, men si at jeg tar den endelige avgjørelsen.
2) Røyktest/verifiseringsliste:
Lag et utkast til røyktest og bekreftelsesliste for [SERVICE] som jeg skal kjøre etter distribusjon: helsesjekk, de mest kritiske brukerbanene, hvilke beregninger bør jeg overvåke i hvor mange minutter? Anta at jeg vil markere de mest kritiske forretningsveiene og la det feltet stå tomt.
3) Tilbakeføringsplan:
Jeg bruker [DEPLOY METHOD]. Skriv meg en tydelig tilbakerullingsplan: med hvilken kommando/trinn ruller jeg tilbake til den gamle versjonen, hvor lang tid tar det, hva er risikoen for selve tilbakerullingen (f.eks. kan databasemigrering ikke rulles tilbake), hva bør jeg sjekke før tilbakerulling?
4) Sjekkliste for utgivelse fra ende til ende:
Lag en ende-til-ende forberedelsessjekkliste for utgivelse til et nytt [SERVICE]-prosjekt: kode/bildesikkerhet, pipeline, infrastrukturplan, overvåking og alarmering, sikkerhetsskanning, utgivelsesstrategi, tilbakeføring og verifisering. Sjekk hvert element med spørsmålet "Er jeg klar?" Gjør det om til et spørsmål.
Svak forespørsel / Sterk forespørsel
Svak: "Hvordan får jeg dette inn i produksjon?"
Resultat: ingen kontekst; AI viser generelle implementeringstrinn, den adresserer ikke risikotoleranse, brukerskalering og tilbakerullingsbehov.
Güçlü: "Jeg vil prod en betalingstjeneste med 10 millioner brukere, min toleranse for nedetid er veldig lav. Anbefaler du Canary eller Blue-Green, hvorfor? Hvilke kritiske baner bør jeg teste etter utplassering, hvilke beregninger bør jeg overvåke i hvor mange minutter, og hvordan skal en 60-sekunders tilbakerullingsplan være? Jeg tar den endelige avgjørelsen."
Forskjell: den andre ledeteksten gir skala, toleranse og tilbakeføringsforventning; Det krever strategi + verifisering + angre og overlater beslutningen til mennesket.
Vanlige feil
- Utplassering uten tilbakeføringsplan. Hvis det ikke er noen vei tilbake, er hver distribusjon et spill.
- Big-bang utplassering. Å gi den til hele brukeren samtidig maksimerer risikoen.
- Forutsatt "grønn = arbeider". Tjenesten som har bestått helsesjekken kan være ødelagt på den kritiske banen.
- Tenker at du forlater kritiske forretningsveier til AI. Du må merke metodene som betaling.
- Ikke overvåking etter utplassering. Luske problemer dukker ikke opp i det første minuttet; observasjonsvindu er nødvendig.
- Tenker at databasemigrering er reversibel. Noen endringer ruller ikke tilbake; planlegges separat.
Oppsummert
Å gå til prod er det mest kritiske leddet i kjeden og gjøres ikke ved å "håpe", men med kontrollerte strategier: blågrønn gir umiddelbar tilbakerulling, begrenser kanarifugleffekten til et lite stykke, og skiller funksjonsflaggdistribusjon fra utgivelse. Arbeidet er ikke over når utplasseringen er ferdig; Systematisk verifisering gjennom helsesjekker, røyktester og gullsignalovervåking er avgjørende. AI genererer og akselererer utkast ved hvert trinn gjennom hele modulen – fra Dockerfile til pipeline, fra Terraform til alarmregel, fra postmortem til kostnadsanalyse. Men den kompetente personen gjenstår som verifiserer hvert trinn, trykker på gå live-knappen og går god for utfallet. Dette er den gylne regelen for ende-til-ende AI-drevne DevOps.
Søknadsoppgave
Velg en tjeneste (ekte eller fiktiv) å publisere på. (1) Velg en strategi som passer til konteksten din med malen "Utgivelsesstrategivalg" og skriv hvorfor. (2) Få en bekreftelsesliste generert med malen "Røyktest / verifikasjonsliste" og legg til de mest kritiske forretningsstiene selv. (3) Forbered en 60-sekunders tilbakeføringsplan med malen "Rullingsplan" og sjekk om det er noen irreversible trinn i den.
sjekkliste
- [ ] Jeg valgte en utgivelsesstrategi (kanarifugl/blågrønn/flagg) som passer min kontekst.
- [ ] Jeg har en klar og rask tilbakerullingsplan klar før distribusjon.
- [ ] Jeg har selv lagt til de mest kritiske forretningsveiene (f.eks. betaling) i røyktestene mine.
- [ ] Etter utplasseringen overvåker jeg de gyldne signalene gjennom et observasjonsvindu.
- [ ] Jeg planla også irreversible trinn (databasemigrering, etc.).
- [ ] Jeg bekreftet AI-planen ved hvert trinn; Jeg tok avgjørelsen om å gå live.
Moduleksamen
1. Hvilken av følgende er den beste plasseringen for DevOps og AI i skyen?
- A) Kunstig intelligens er en assistent og beslutningsstøtteverktøy; Folk er ansvarlige for kritiske beslutninger som påvirker produktet ✔
- B) Kunstig intelligens kan fullføre prod-utplasseringer og hemmelig rotasjon uten menneskelig godkjenning
- C) Kunstig intelligens er kun nyttig for å skrive dokumentasjon, det har ingenting med infrastruktur å gjøre
- D) Revisjon er unødvendig fordi kunstig intelligens alltid produserer mer pålitelige kommandoer enn ingeniøren
Beskrivelse: Det er et assistent- og beslutningsstøtteverktøy som akselererer tekstintensive oppgaver som pipeline for kunstig intelligens, konfigurasjon, skript og logg. Ansvaret for beslutninger som påvirker nedetid, penger og sikkerhet, som produksjonsutgivelse, hemmelig administrasjon og endelig søknad, forblir hos den kompetente ingeniøren.
2. Hva er det mest nøyaktige uttrykket for verifiseringsdisiplinen før implementering av en DevOps-kommando eller -konfigurasjon produsert av kunstig intelligens?
- A) Hvis utgangen ser jevn og sikker ut, kan den kjøres direkte i prod
- B) Utdata er trygt bare hvis det ikke er syntaksfeil, ingen ytterligere kontroller er nødvendig
- C) Koble utgangen til kilden, planlegg/tørkkjør og filtrer den med systemkonteksten din; søk deretter ✔
- D) Å gjøre det første forsøket direkte i prod og se resultatet er den raskeste verifiseringen
Forklaring: Tre-trinns bekreftelse er viktig: å koble utdataene til kilden (er kommandoen/flagget faktisk i de offisielle dokumentene), kjøre den tørr (se hva som skjer med planen/--dry-run), og sende den gjennom systemfilteret (passer den innenfor dens arkitektur- og sikkerhetskontekst). Flytende betyr ikke nøyaktighet.
3. Hva er den riktige tilnærmingen når du spør kunstig intelligens om en feil eller distribusjonsproblem med en .env-fil som inneholder et ekte databasepassord?
- A) Masker ekte hemmeligheter med <PLASSHOLDER>; del kun maskerte feil og kontekst ✔
- B) Å lime inn hele .env-filen som den er løser problemet raskere
- C) Siden hemmelighetene allerede er base64, er det trygt å lime inn vanlig
- D) Det er trygt å lime inn passordet fordi kunstig intelligens aldri lagrer det
Beskrivelse: Ingen reelle hemmeligheter er limt inn i AI-ledeteksten. Verdier som passord og tokens er maskert med <PLACEHOLDER>; bare feilmeldingen og nødvendig kontekst deles. Hvis hemmeligheten allerede har blitt lekket, bør den kanselleres og roteres umiddelbart.
4. Hvilken av følgende er riktig håndtering av hemmeligheter (passord, token) i en CI/CD-pipeline?
- A) Den oppbevares i plattformens hemmelige depot og kalles opp ved referanse (f.eks. ${{ secrets.X }}), ikke skrevet i ren tekst ✔
- B) Skrevet i klartekst til pipeline YAML for enkelhets skyld
- C) Det verifiseres ved å trykke på ekko og logg i begynnelsen av hver jobb.
- D) Hvis definert med den bredeste tillatelsen (write-all), øker sikkerheten
Forklaring: Hemmeligheter er ikke skrevet til YAML i ren tekst; Den holdes i plattformens hemmelige depot og kalles opp med referanser som ${{ secrets.X }}. I tillegg, med prinsippet om minste autoritet, begrenses token-tillatelser og den hemmelige loggen blir ikke registrert.
5. I infrastrukturstyring med Terraform, hva er det mest kritiske skrittet å ta før man implementerer en endring live?
- A) Å kjøre 'terraform application' direkte; planen er bortkastet tid
- B) Sikkerhetskopiering av State-filen til et offentlig depot
- C) Kjør 'terraform plan' og kontroller ødelegge/erstatt linjene i utgangen, og bruk deretter ✔
- D) Avinstaller leverandørversjonen og sørg for at den nyeste versjonen kommer automatisk
Forklaring: 'terraform plan' må kjøres før 'terraform gjelder'. Planen viser hva du skal legge til, hva du skal endre, og spesielt hva du skal slette (ødelegge), uten å gjøre noe. Hvis en uventet ødelegg eller erstatte linje er sett, skal ikke påføres.
6. Hva betyr det og hva bør gjøres hvis '-/+ replace'-linjen for produksjonsdatabasen vises i en Terraform-planutdata?
- A) Kilden vil bare bli oppdatert på stedet, det er ingen risiko
- B) Ressursen vil bli slettet og gjenskapt; Det er fare for tap av data, søknad bør stoppes hvis ikke forventet ✔
- C) Legger til en ny ressurs, eksisterende database påvirkes ikke
- D) Dette er bare en advarsel, kan trygt ignoreres
Forklaring: '-/+ erstatte' betyr at ressursen vil bli slettet og gjenskapt; For en database betyr dette tap av data. Hvis det ikke er forventet, bør søknaden stoppes, endringen bør konverteres til en sikker metode, eller det uforanderlige feltet bør stå urørt.
7. Hvilket av følgende er sant for at en Dockerfile skal være produksjonsklar når det gjelder sikkerhet og størrelse?
- A) For enkelhets skyld kan du legge inn hemmeligheten i bildet med ENV og kjøre den som root
- B) Bruk alltid ':latest'-taggen og hold basisbildet så stort som mulig
- C) Bygg i ett trinn og la alle byggeverktøy stå i det endelige bildet
- D) Ikke å bygge inn hemmeligheten, arbeide med uautorisert BRUKER, bruke lite og stabilt basisbilde og flertrinnsbygging ✔
Beskrivelse: Et produksjonsklart bilde: bygger ikke inn hemmeligheten (injiserer den under kjøring), kjører med en uautorisert BRUKER i stedet for root, bruker et lite og versjonert basisbilde (slankt/alpint, ikke :nyeste), og skaleres ned med en flertrinnsbygging. Den skannes også for sårbarheter før publisering.
8. Hva er den viktigste risikoen ved ikke å definere ressursgrenser for en distribusjon i Kubernetes?
- A) Pod starter aldri fordi limit er et obligatorisk felt
- B) Kun en advarsel vises på overvåkingstavlen, driften påvirkes ikke
- C) Kubernetes håndhever automatisk sikre standardgrenser, ingen risiko
- D) Poden kan vokse ubegrenset og forbruke ressursene til noden, og dermed krasjer nabotjenester ✔
Forklaring: En Pod som ikke har noen ressursgrense kan vokse ubegrenset, forbruke alle ressursene til noden den kjører på, og krasje nabotjenester, for eksempel med en minnelekkasje. Det er derfor det å definere forespørsler/grenser er grunnlaget for robusthet.
9. Hvordan unngå 'varslingstrøtthet' i overvåking og alarmoppsett?
- A) Sett alarmer på så mange beregninger som mulig og generer varsler med hver svingning.
- B) Sett alle alarmer til høyeste alvorlighetsnivå
- C) Utløser alarmer med øyeblikkelige verdier uten å sette en tid (for)
- D) Holde alarmer handlingsorienterte og på riktig hastenivå, teste terskler med historiske data, slå sammen unødvendige ✔
Beskrivelse: Hver alarm må være handlingsdyktig og ha riktig haster; Informasjon som ikke krever handling vises på tavlen, den vekker ingen. Alarmterskler testes mot systemets historiske data og unødvendige/gjentatte alarmer konsolideres. På denne måten vil ikke den virkelige alarmen gå seg vill i støyen.
10. Hva er den beste prioriterte ordren under en produksjonshendelse?
- A) Finn først den nøyaktige grunnårsaken og reduser den bare når årsaken er klar.
- B) Skriv først postmortem-rapporten, og trykk deretter på tjenesten
- C) Reduser først (gjenopprettings-/gjenopprettingstjeneste), og la rotårsaksanalyse stå til senere ✔
- D) Finn først den ansvarlige for hendelsen og meld fra
Forklaring: Den gylne regel er 'reduser først, undersøk senere'. Målet er først å gjenopprette tjenesten eller rulle den tilbake til en kjent-god versjon (redusere); Rotårsaksanalyse gjøres rolig etter at trykket avtar. Å vente på å finne den nøyaktige årsaken øker gjenopprettingstiden (MTTR).
11. Hva er hovedformålet med ulastelig postmortem-kultur?
- A) Identifisere personen som gjorde feilen og legge ansvaret på ham/henne
- B) Fokus på systemer og prosesser og oppmuntre til læring; ✔ Lære leksjoner som forhindrer gjentakelse i stedet for å skylde på
- C) Meld aldri fra om hendelsen og sørg for at den blir glemt
- D) Skrive kun tekniske detaljer og ikke legge til handlingsverdige elementer
Forklaring: Ulastelig postmortem fokuserer på spørsmålet 'hvilket system og prosess tillot denne feilen', ikke 'hvem gjorde det'. Folk deler feilen åpent hvis de vet at de ikke vil bli straffet; Den skjulte feilen gjentas. Rapporten er ikke en anklagerapport, men et læringsdokument fullt av handlingsorienterte elementer.
12. I skykostnadsoptimalisering (FinOps), hva er det mest logiske trinnet å ta før man går over til forpliktede rabatter (Reserved/Savings Plan)?
- A) Ta lengst mulig engasjement først, tenk på avfall senere
- B) Rydd først opp avfallet (tomgangslukking, riktig størrelse), forplikt deg deretter til forpliktet bruk ✔
- C) Flytt alle ressurser til Spot-kapasitet umiddelbart
- D) Sletting av den dyreste varen uten gjennomgang av fakturadata
Forklaring: Avfall må ryddes opp først (stenge ledige ressurser, redusere overdimensjonerte ressurser). Ellers låser du bortkastet bruk til rabattert pris i 1-3 år. Riktig dimensjonering og tomgangsrengjøring krever ingen forpliktelse og er nesten risikofri.
13. Hva er det viktigste sikkerhetstiltaket hvis et AI-forslag har linjen 'rm -rf "$DIR"/'?
- A) Å kjøre skriptet direkte i prod uten å lese det vil øke hastigheten
- B) Legg til set -euo pipefail og tom variabel kontroll og prøv med tørrkjøring først ✔
- C) Det er tilstrekkelig å forkorte variabelnavnet
- D) Bruk av rm -rf --force i stedet for rm løser problemet
Forklaring: Hvis $DIR er tom, kan denne setningen forsøke å slette rotkatalogen. Å stoppe ved den udefinerte variabelen med 'set -u' og sjekke at variabelen ikke er tom før du sletter den (f.eks. [ -n "$DIR" ] || exit 1) unngår katastrofe. I tillegg bør destruktive operasjoner prøves med tørrkjøring først.
14. Hva er den første tingen å gjøre hvis en skytilgangsnøkkel ved et uhell lekker inn i et offentlig depot?
- A) Avbryt og forny (roter) nøkkelen umiddelbart; Sletting alene er ikke nok ✔
- B) Bare slett filen fra lagringen og nøkkelen er trygg
- C) Ikke gjøre noe fordi ingen så det
- D) Å gjøre lagringen privat eliminerer behovet for å rotere nøkkelen
Forklaring: Den lekkede hemmeligheten må kanselleres og roteres umiddelbart. Bare å slette filen er ikke nok fordi hemmeligheten forblir i Git-historien og offentlige depoter skannes av roboter i løpet av sekunder. Etter kansellering/retur blir virkningen evaluert og en hemmelig skanner lagt til for å forhindre gjentakelse.
15. Hvilken av følgende tilnærminger minimerer risikoen ved utgivelse av en ny versjon av Prod?
- A) Gi den nye versjonen til alle brukere samtidig (big-bang) og ikke utarbeide en tilbakeføringsplan
- B) Vurderer at distribusjonen er fullført så snart den ser "grønn" ut, ikke utfører ytterligere bekreftelse
- C) Bruke en kontrollert strategi som kanarifugl/blå-grønn/funksjonsflagg, ferdigstilt tilbakerullingsplan og røyktest + metrisk overvåking etter utplassering ✔
- D) Å overlate testingen av kritiske forretningsveier helt til kunstig intelligens og ikke bestemme dem i det hele tatt.
Forklaring: Kontrollerte utgivelsesstrategier (starter med en liten prosentandel med kanarifugl, umiddelbar tilbakeføring med blågrønn, skiller utplassering fra utgivelse med funksjonsflagg) begrenser risikoen. I tillegg er en klar tilbakerullingsplan før utplassering og gyllen signalovervåking med røyktesting etter utplassering avgjørende; "ser grønt" betyr ikke at det fungerer.