Enhet 1 / 11

Introduksjon til DevOps og Cloud AI: Roller, grenser, autentisering, sikkerhet og hemmeligheter

Gevinster:

  • Å kunne skille hvor i DevOps-kjeden (pipeline, konfigurasjon, script, logg) sparer kunstig intelligens i sanntid og hvor beslutninger som påvirker produksjonen overlates til mennesker, avhengig av oppgavens risikonivå.
  • Evne til å bruke en disiplin som verifiserer hver AI-utgang gjennom trinnene for å koble den til kilden, kjøre den tørr og sende den gjennom systemfilteret.
  • Evne til å tilegne seg en vane med å aldri lime hemmeligheter på forespørsler, maskere dem og kun jobbe for defensive formål på autoriserte systemer.

En natt klokken 03:14 ringer telefonen din: betalingstjenesten er nede, penger og rykte går tapt hvert minutt. En annen dag starter en enkelt feil kommando tusenvis av servere på nytt. Dette er DevOps-profesjonelles verden – ansvar for alle rørledninger, automatisering og vakthold som programvaren går gjennom fra kodelageret (hvor kilden til programvaren er lagret) til den når kundens hender. DevOps er kombinasjonen av ordene "Utvikling" og "Operasjoner": det er en kultur og et sett med praksis som bringer programvareutvikling og kjører den i én rask, pålitelig flyt. Hvert trinn i denne flyten produserer en kommando, en konfigurasjonsfil, et skript. Kunstig intelligens (AI – programvare som trekker ut mønstre fra historiske data og produserer tekst, kode og spådommer) sparer deg for mye tid i denne overfloden av tekst.

Men selve begynnelsen av denne modulen er klar: AI er en assistent, utkastgenerator og beslutningsstøtteverktøy; Du er den som er ansvarlig for å bestemme hva som skal inn i live-miljøet (produksjon, systemet som brukes av ekte kunder), når og hvilken knapp som skal trykkes midt på natten. I DevOps er kostnaden for en feil ikke minutter, men nedetid, tap av data og sikkerhetsbrudd. Derfor vil vi i denne første enheten fokusere på disiplinen, ikke verktøyet.

Hvor i DevOps-kjeden kommer AI til nytte?

La oss dele DevOps-jobber i to store klynger. Første klynge: repeterende, tekst- og strukturerende jobber. Skrive en CI/CD (Continuous Integration / Continuous Delivery — pipeline som automatisk tester og frigjør kode) beskrivelse, utkast til en Dockerfile (oppskriftsfil som pakker en applikasjon inn i en container), forklarer en kompleks Terraform (verktøy som definerer infrastruktur som kode) blokk, oppsummerer en loggstabel (hendelsesregistreringer, tegning av et system) bash. I disse oppgavene reduserer AI minutter til sekunder og blir ikke sliten.

Andre klynge: beslutninger som resulterer i avbrudd, penger eller sikkerhet. Hvorvidt en utgivelse vil gå til prod, hvilken tjeneste som startes på nytt midt på natten, hvordan lagre en hemmelighet, hvilken ressurs som vil bli stengt av et kostnadskutt. Disse beslutningene krever kontekst, systemkunnskap og ansvar. Her synliggjør AI alternativer og risikoer - men du trykker på "bruk"-knappen.

La oss klargjøre forskjellen i én setning: AI er sterk på spørsmål om "hva gjør denne konfigurasjonen og hvordan skrive den"; Avgjørelsen er din når det kommer til spørsmål som "Bør jeg bruke dette på produktet og hvem skal gå god for det?"

Tips: Før du outsourcer en jobb til en AI, spør: "Hva mister jeg hvis denne utgangen er feil?" Hvis svaret er «noen minutter», kan du delegere. Hvis svaret er "produksjonsstans, tap av data eller lekkasje", la AI produsere utkastet og du verifiserer beslutningen og implementeringen.

Trinn for trinn: hvordan fungerer en AI-drevet DevOps-virksomhet?

  1. Samle kontekst. Hvilken sky (AWS, Azure, GCP), hvilken verktøyversjon, hvilke begrensninger? Hvis du gir AI-en ufullstendig kontekst, vil du få ufullstendig og farlig utgang.
  2. Definer klare oppgaver. Ikke "skriv en pipeline"; Si: "Med GitHub Actions, skriv en arbeidsflyt i hovedgrenen som kjører på push, kjører tester, bygger Docker-bildet, men ikke distribuerer det."
  3. Lag utkastet. La AI skrive den første versjonen.
  4. Verifisere. Sjekk syntaksen, se om konfidensiell informasjon har blitt lekket, test med dry-run (en modus som faktisk viser applikasjonen hva den skal gjøre).
  5. Prøv det i Sandbox. Gjør aldri det første forsøket i prod; kjøres i et test-/staging-miljø.
  6. Påfør gradvis og overvåk. Få det live ved å overvåke beregninger og logger.

Verifikasjonsdisiplin: tre trinn

AI snakker flytende og selvsikkert; Det betyr ikke at det er sant. AI produserer av og til hallusinasjoner - som utgjør et ikke-eksisterende kommandoflagg, et skytjenestenavn eller en konfigurasjonsnøkkel som ekte. I DevOps kan et falsk --force-flagg slette data, mens en falsk IAM-tillatelse (Identity and Access Management) skaper en sikkerhetssårbarhet. Refleks:

  1. Koble den til kilden. Er hver kommando og flagg gitt av AI virkelig i den offisielle dokumentasjonen? Spør "Fortell meg hvilken versjon dette flagget kommer i og navnet i det offisielle dokumentet"; Hvis du ikke er sikker, ikke stol på den.
  2. Kjør tørt. Se hva som skjer uten å faktisk bruke det med mods som terraform plan, kubectl --dry-run, --check.
  3. Før den gjennom systemfilteret. Stemmer utdataene dine med arkitekturen, sikkerhetspolicyen og tilgjengelige ressursnavn? Din domenekunnskap er det siste filteret.
Oppmerksomhet: "AI skrev det" er ikke en begrunnelse. I tilfelle et prodavbrudd tilhører ikke ansvaret AI-en, men personen som kjører kommandoen uten å verifisere den. En ubekreftet AI-kommando er like risikabel som en rm -rf som utføres uten å bli lest.

Sikkerhet og hemmeligheter: aldri lekke

Den mest kritiske personvernregelen i DevOps handler om hemmeligheter. Hemmelig; Det er konfidensiell informasjon som passord, API-nøkkel, databasetilkoblingsstreng, privat sertifikat, som kan åpne hele systemet hvis det blir kompromittert. Ikke lim inn noen ekte hemmeligheter i en AI-prompt. Hvis en kodeblokk inneholder en faktisk AWS-tilgangsnøkkel, innholdet i en .env-fil eller et produksjonsdatabasepassord, masker disse med plassholdere som <AWS_ACCESS_KEY> i stedet for AKIA... før du gir dem til AI.

Sjekk også koden AI produserer: AI produserer noen ganger eksempler som hardkoder hemmeligheten direkte inn i koden for enkelhets skyld. Dette er en sikkerhetssårbarhet. Faktisk holdes hemmeligheter i et hemmelig hvelv (Vault, AWS Secrets Manager, Azure Key Vault) og injiseres som miljøvariabler under kjøring.

En annen etisk og juridisk grense på dette området: defensiv bruk. Bruk AI til å herde systemene dine, skanne etter sårbarheter og trekke ut spor etter angrep fra logger. Uautorisert tilgang til andres system, uautorisert skanning eller oppretting av et angrepsverktøy er ulovlig og utenfor denne plattformens omfang. Arbeid alltid i systemer du har myndighet til og har fått skriftlig tillatelse gjennom kontrakt.

Hvilke data går inn i hvilket kjøretøy?

Datatype

eksempel

egnet kjøretøy

åpne data

Offisielt dokument, åpen kildekode

Hvert kjøretøy

Interne data (ikke en hemmelighet)

Generell arkitekturdiagram, generisk rørledning

Institusjonsgodkjent kjøretøy

konfidensiell/sensitiv

Hemmelig, prod IP/topologi, kundedata

Bare et kjøretøy kontrahert av institusjonen, hvis data ikke går til trening; ved maskering

tre minisaker

Case 1 - Tid ble vunnet på rett sted. En DevOps-ingeniør brukte 6 timer på å flytte en gammel 300-linjers Jenkins-rørledning til GitHub Actions. Han reduserte arbeidet til 90 minutter ved å la AI forklare trinn for trinn og lage et utkast. Han brukte den sparte tiden på å verifisere hvert trinn produsert av AI i iscenesettelse, ett etter ett. AI tok mekanisk oversettelse; Bekreftelsen forble hos mennesket.

Sak 2 – Verifikasjon avverget katastrofe. Et team ba AI om et Terraform-oppryddingsskript. AI ga flytende kode; Men da ingeniøren kjørte terraform-planen, oppdaget han at skriptet også planla å slette en produksjonsdatabase i bruk - AI hadde skrevet feil i ressursfilteret. Tørrkjøring forhindret timer med tap av data.

Tilfelle 3 - Retur fra hemmelig lekkasje. Mens han spurte "hvorfor den distribusjonsfeilen" limte en praktikant inn hele .env-filen i et offentlig verktøy med det faktiske passordet for produksjonsdatabasen inni. Senioringeniøren roterte umiddelbart og regenererte nøklene. Den riktige måten var å maskere passordet med <DB_PASSWORD> og bare dele feilmeldingen.

Fire kopierbare maler

1) Arbeidsegnethetsvurdering:

Din rolle: senior DevOps/SRE-konsulent. Jeg skal beskrive en rolle for deg. Fortell meg (1) om dette er en utarbeidelse/analyseoppgave som trygt kan delegeres til AI, eller en kritisk beslutning som påvirker produktet; (2) fortell det verste resultatet hvis det går galt; (3) fortell verifiseringstrinnene som må gjøres før implementering. Oppgave: [HER]

2) Sikker kontekstgiving (hemmelig maskering):

Analyser feilen nedenfor. Jeg maskerte alle hemmelighetene med <PLACEHOLDER>; Du foreslår også ALDRI å lage en ekte hemmelighet i løsningen, bruke en plassholder og legge inn hemmeligheten i koden, les fra det hemmelige hvelvet. Feil/logg: [MASKERT INNHOLD]

3) Kommandobekreftelse:

Forklar denne kommandoen for meg: skriv ned hva hvert flagg gjør, hvilken verktøyversjon det gjelder for, og dens farligste bivirkning. Skriv til slutt 3 kontroller du må gjøre før du kjører dette i prod. Kommando: [HER]

4) Lærings-/konseptspørring:

Meg [KONSEPT: f.eks. Forklar konseptet med [blå-grønn distribusjon] som om du forklarte det til en DevOps-ingeniør: hva det gjør, når det skal brukes, når det ikke skal brukes, 2 typiske feil. Vær kort og konkret.

Svak forespørsel / Sterk forespørsel

Svak: "Skriv meg et distribusjonsskript."

Konklusjon: det er ikke klart hvilken sky, hvilket verktøy, hvilket miljø; AI produserer et generisk, muligens ikke-prod skript som bygger inn hemmeligheten i koden.

Sterkt: "Skriv et utkast til et bash-skript som distribueres til AWS ECS (Elastic Container Service). Regionen er eu-central-1, bildet kommer fra ECR. Legg aldri inn hemmeligheter i koden, les dem fra AWS Secrets Manager. Hvis det er en feil ved hvert trinn, stopp (sett -euo pipefail). Skriv alle 3 verifiseringstrinnene i prod."

Forskjell: den andre ledeteksten gir skyen, verktøyet, miljøet, sikkerhetsregelen og valideringsforventningen - utgangen er direkte nyttig og sikker.

Vanlige feil

  • Lim inn selve hemmeligheten i ledeteksten. Den vanligste og farligste feilen. Alltid maske.
  • Kontekstløs forespørsel. Uten å spesifisere sky, versjon, miljø, tilhører den ønskede utgangen ofte feil versjon eller feil arkitektur.
  • Hopp over tørrløping. Implementering uten planlegging/--tørrkjøring er den dyreste snarveien i DevOps.
  • Gjør første forsøk i prod. Hver ny AI-utgang bør først kjøres i testing/staging.
  • Delegering av ansvar med "AI sa." Ansvaret forblir alltid hos den implementerende ingeniøren.
  • Stoler på det hallusinatoriske flagget. Utføre et ikke-eksisterende kommandoflagg uten spørring.

Oppsummert

DevOps og sky AI; Det er en assistent som gir stor hastighet i tekstintensive oppgaver som pipeline, konfigurasjon, script og logg. Men ansvaret for beslutninger som påvirker produktet, hemmelig styring og endelig implementering forblir hos den kompetente ingeniøren. Tre-trinns bekreftelse (koble til kilden, kjør tørr, pass gjennom systemfilter), aldri lekkasje av hemmeligheter og arbeid for defensive formål kun på autoriserte systemer er retningsgivende prinsipper for denne modulen.

Søknadsoppgave

Velg en nylig DevOps-oppgave fra ditt eget arbeid (eller et eksempelprosjekt). (1) Beskriv denne oppgaven for AI-en ved å bruke malen for "jobbegnethetsvurdering" ovenfor og les klassifiseringen. (2) Hvis den inneholder hemmelighet, lag en konteksttekst ved å maskere den. (3) Sjekk utdataene til AI med tre-trinns bekreftelse og noter i én setning hva du korrigerte ved hvert trinn.

sjekkliste

  • [ ] Jeg klassifiserte oppgaven min som "delegerbart arbeid" eller "kritisk beslutning".
  • [ ] Jeg limte ikke inn noen faktiske hemmeligheter i ledeteksten; Jeg maskerte dem alle med en plassholder.
  • [ ] Jeg la til kontekst til forespørselen angående skyen, verktøyversjonen og miljøet.
  • [ ] Jeg sjekket AI-utgangen med en tørrkjøring/plan før jeg brukte den.
  • [ ] Jeg gjorde det første forsøket i test/staging-miljøet, ikke i prod.
  • [ ] Jeg jobbet kun med systemer der jeg hadde autoritet, for forsvarsformål.