Fitimet:
- Të jesh në gjendje të dallosh se ku në zinxhirin DevOps (tubacioni, konfigurimi, skenari, regjistri) inteligjenca artificiale kursen kohë reale dhe ku vendimet që ndikojnë në prodhim u lihen njerëzve, në varësi të nivelit të rrezikut të detyrës.
- Aftësia për të aplikuar një disiplinë që verifikon çdo dalje të AI përmes hapave të lidhjes së tij me burimin, drejtimit të thatë dhe kalimit të tij përmes filtrit të sistemit.
- Aftësia për të fituar zakonin për të mos ngjitur kurrë sekrete në kërkesa, për t'i maskuar ato dhe për të punuar për qëllime mbrojtëse vetëm në sisteme të autorizuara.
Një natë në orën 03:14 bie zilja e telefonit tuaj: shërbimi i pagesave është në rënie, paratë dhe reputacioni po humbasin çdo minutë. Një ditë tjetër, një komandë e vetme e gabuar rinis mijëra serverë. Kjo është bota e profesionistëve të DevOps - përgjegjësi për të gjitha tubacionet, automatizimin dhe thirrjet nëpër të cilat kalon softueri nga depoja e kodit (ku ruhet burimi i softuerit) derisa të arrijë në duart e klientit. DevOps është kombinimi i fjalëve "Zhvillim" dhe "Operacione": është një kulturë dhe grup praktikash që sjellin zhvillimin e softuerit dhe ekzekutimin e tij në një rrjedhë të shpejtë dhe të besueshme. Çdo hap i këtij fluksi prodhon një komandë, një skedar konfigurimi, një skript. Inteligjenca artificiale (AI - softuer që nxjerr modele nga të dhënat historike dhe prodhon tekst, kod dhe parashikime) ju kursen shumë kohë në këtë bollëk teksti.
Por vetë fillimi i këtij moduli është i qartë: AI është një asistent, gjenerues i drafteve dhe mjet për mbështetjen e vendimeve; Ju jeni përgjegjës për të vendosur se çfarë hyn në mjedisin e drejtpërdrejtë (prodhimi, sistemi i përdorur nga klientët e vërtetë), kur dhe cilin buton të shtypni në mes të natës. Në DevOps, kostoja e një gabimi nuk është minuta, por koha e ndërprerjes, humbja e të dhënave dhe shkelja e sigurisë. Kjo është arsyeja pse në këtë njësi të parë do të fokusohemi te disiplina, jo te mjeti.
Ku në zinxhirin DevOps është i dobishëm AI?
Le t'i ndajmë punët e DevOps në dy grupime të mëdha. Grupi i parë: punë të përsëritura, me tekst dhe strukturim. Shkrimi i një përshkrimi CI/CD (Integrimi i vazhdueshëm / Dorëzimi i vazhdueshëm - tubacion që teston dhe lëshon automatikisht kodin), hartimi i një Dockerfile (skedar recete që paketon një aplikacion në një kontejner), duke shpjeguar një bllok kompleks Terraform (mjet që përcakton infrastrukturën si kod), duke përmbledhur një pirg regjistrash (regjistrat e ngjarjeve që prodhojnë një skicë, bashly dhe anoma). Në këto detyra, AI redukton minutat në sekonda dhe nuk lodhet.
Grupi i dytë: vendime që rezultojnë në përçarje, para ose siguri. Nëse një version do të shkojë në prod, cili shërbim do të riniset në mes të natës, si të ruhet një sekret, cili burim do të mbyllet nga një ulje e kostos. Këto vendime kërkojnë kontekst, njohuri të sistemit dhe përgjegjësi. Këtu, AI i bën të dukshme opsionet dhe rreziqet - por ju shtypni butonin "aplikoni".
Le të sqarojmë dallimin me një fjali: AI është i fortë në pyetjet "çfarë bën ky konfigurim dhe si ta shkruajmë"; Vendimi është i juaji kur bëhet fjalë për pyetje të tilla si "A duhet ta aplikoj këtë për produktin dhe kush do të garantojë për të?"
Këshillë: Përpara se të transferoni një punë në një AI, pyesni: "Çfarë humbas nëse ky rezultat është i gabuar?" Nëse përgjigja është "disa minuta", mos ngurroni të delegoni. Nëse përgjigja është "ndërprerje prodhimi, humbje të dhënash ose rrjedhje", lëreni UA të prodhojë draftin dhe ju verifikoni vendimin dhe zbatimin.
Hap pas hapi: si funksionon një biznes DevOps me AI?
- Mblidhni kontekstin. Cila re (AWS, Azure, GCP), cili version i mjetit, çfarë kufizimesh? Nëse i jepni kontekstit jo të plotë të AI-së, do të merrni rezultate jo të plota dhe të rrezikshme.
- Përcaktoni detyra të qarta. Jo "shkruani një tubacion"; Thuaj, "Me GitHub Actions, shkruani një fluks pune në degën kryesore që funksionon në shtytje, kryen teste, ndërton imazhin Docker, por nuk e vendos atë."
- Prodhoni draftin. Lëreni AI të shkruajë versionin e parë.
- Verifiko. Kontrolloni sintaksën, shikoni nëse informacioni konfidencial ka rrjedhur, provoni me funksionimin e thatë (një modalitet që tregon në të vërtetë aplikacionin se çfarë duhet të bëjë).
- Provojeni në Sandbox. Asnjëherë mos e bëni provën e parë në prod; ekzekutohet në një mjedis testimi/instalimi.
- Aplikoni gradualisht dhe monitoroni. Merre atë drejtpërdrejt duke monitoruar metrikat dhe regjistrat.
Disiplina e verifikimit: tre hapa
AI flet rrjedhshëm dhe me besim; Kjo nuk do të thotë se është e vërtetë. Inteligjenca artificiale herë pas here prodhon halucinacione – duke krijuar një flamur komandimi që nuk ekziston, një emër shërbimi cloud ose një çelës konfigurimi si të vërtetë. Në DevOps, një flamur i rremë --force mund të fshijë të dhënat, ndërsa një leje false IAM (Identity and Access Management) krijon një cenueshmëri sigurie. Refleksi:
- Lidheni atë me burimin. A është vërtet çdo komandë dhe flamur i dhënë nga AI në dokumentacionin zyrtar? Pyetni "Më tregoni në cilin version vjen ky flamur dhe emri i tij në dokumentin zyrtar"; Nëse nuk jeni të sigurt, mos i besoni.
- Vazhdo. Shihni se çfarë ndodh pa e aplikuar në të vërtetë me modalitete si plani terraform, kubectl --dry-run, --check.
- Kaloni atë përmes filtrit të sistemit. A përputhet rezultati me arkitekturën, politikën e sigurisë dhe emrat e burimeve të disponueshme? Njohuritë tuaja për domenin janë filtri përfundimtar.
Kujdes: "AI shkroi kështu" nuk është një justifikim. Në rast të ndërprerjes së nxitjes, përgjegjësia nuk i takon UA-së, por personit që drejton atë komandë pa e verifikuar atë. Një komandë e paverifikuar e AI është po aq e rrezikshme sa një rm-rf e ekzekutuar pa u lexuar.
Siguria dhe sekretet: mos zbuloni kurrë
Rregulli më kritik i privatësisë në DevOps ka të bëjë me sekretet. Sekret; Është informacion konfidencial si fjalëkalimi, çelësi API, vargu i lidhjes së bazës së të dhënave, certifikata private, të cilat mund të hapin të gjithë sistemin tuaj nëse rrezikohet. Mos ngjisni ndonjë sekret të vërtetë në një kërkesë të AI. Nëse një bllok kodi përmban një çelës aktual aksesi AWS, përmbajtjen e një skedari .env ose një fjalëkalim të bazës së të dhënave të prodhimit, maskoni këto me mbajtëse vendesh si <AWS_ACCESS_KEY> në vend të AKIA... përpara se t'ia jepni AI.
Kontrolloni gjithashtu kodin që prodhon AI: AI ndonjëherë prodhon shembuj që kodojnë sekretin direkt në kod për lehtësi. Kjo është një dobësi e sigurisë. Në fakt, sekretet mbahen në një kasafortë sekrete (Vault, AWS Secrets Manager, Azure Key Vault) dhe injektohen si variabla të mjedisit në kohën e ekzekutimit.
Një kufi tjetër etik dhe ligjor në këtë fushë: përdorimi mbrojtës. Përdorni AI për të forcuar sistemet tuaja, për të skanuar për dobësi dhe për të nxjerrë gjurmë sulmesh nga regjistrat. Qasja e paautorizuar në sistemin e tjetrit, skanimi i paautorizuar ose krijimi i një mjeti sulmi është i paligjshëm dhe jashtë fushëveprimit të kësaj platforme. Punoni gjithmonë në sisteme për të cilat keni autoritet dhe keni marrë leje me shkrim nëpërmjet një kontrate.
Cilat të dhëna shkojnë në cilin automjet?
Lloji i të dhënave
shembull
automjet i përshtatshëm
të dhëna të hapura
Dokument zyrtar, kod me burim të hapur
Çdo automjet
Të dhënat e brendshme (jo sekret)
Diagrami i arkitekturës së përgjithshme, tubacioni gjenerik
Automjeti i miratuar nga institucioni
konfidencial/sensitive
Sekret, prod IP/topologji, të dhënat e klientit
Vetëm një mjet i kontraktuar nga institucioni, të dhënat e të cilit nuk shkojnë në trajnim; duke maskuar
tre mini kuti
Rasti 1 — Koha u fitua në vendin e duhur. Një inxhinier DevOps kaloi 6 orë duke lëvizur një tubacion të vjetër Jenkins me 300 rreshta në GitHub Actions. Ai e zvogëloi punën në 90 minuta duke e bërë AI-në të shpjegonte hap pas hapi dhe të prodhonte një draft. Ai e kaloi kohën e kursyer duke verifikuar çdo hap të prodhuar nga AI në skenë, një nga një. AI mori përkthim mekanik; Vleresimi mbeti me njeriun.
Rasti 2 — Verifikimi parandaloi fatkeqësinë. Një ekip i kërkoi AI për një skenar pastrimi Terraform. AI dha kod të rrjedhshëm; Por kur inxhinieri drejtoi planin terraform, ai zbuloi se skenari gjithashtu planifikonte të fshinte një bazë të dhënash prodhimi në përdorim - AI kishte shkruar gabim filtrin e burimeve. Vrapimi i thatë parandaloi humbjen e të dhënave me orë të tëra.
Rasti 3 - Kthimi nga rrjedhja sekrete. Ndërsa pyeti "pse ai gabim i vendosjes", një praktikant ngjiti të gjithë skedarin .env në një mjet publik me fjalëkalimin aktual të bazës së të dhënave të prodhimit brenda. Inxhinieri i lartë i rrotulloi menjëherë dhe rigjeneroi çelësat. Mënyra e duhur ishte maskimi i fjalëkalimit me <DB_PASSWORD> dhe shpërndarja e vetëm mesazhit të gabimit.
Katër shabllone të kopjueshëm
1) Vlerësimi i përshtatshmërisë së punës:
Roli juaj: konsulent i lartë DevOps/SRE. Unë do të përshkruaj një rol për ju. Më tregoni (1) nëse kjo është një detyrë hartimi/analizash që mund t'i delegohet në mënyrë të sigurt AI, apo një vendim kritik që ndikon produktin; (2) tregoni rezultatin më të keq nëse shkon keq; (3) tregoni hapat e verifikimit që duhet të bëhen përpara zbatimit. Detyra: [KETU]
2) Dhënia e sigurt e kontekstit (maskimi sekret):
Analizoni gabimin më poshtë. I maskova të gjitha sekretet me <PLACEHOLDER>; Ju gjithashtu sugjeroni të mos krijoni KURRË një sekret të vërtetë në zgjidhje, të përdorni një mbajtëse vendore dhe ta futni sekretin në kod, të lexoni nga kasaforta e fshehtë. Gabim/log: [PERMBAJTJA E MASKED]
3) Verifikimi i komandës:
Më shpjegoni këtë komandë: shkruani se çfarë bën çdo flamur, në cilin version mjeti zbatohet dhe efektin anësor më të rrezikshëm. Së fundi, listoni 3 kontrolle që duhen bërë përpara se ta ekzekutoni këtë në prod. Komanda: [KETU]
4) Pyetja e të mësuarit/konceptit:
Unë [KONCEPTI: p.sh. Shpjegoni konceptin e [vendosjes blu-jeshile] sikur po ia shpjegonit një inxhinieri DevOps: çfarë bën, kur duhet përdorur, kur nuk duhet përdorur, 2 gabime tipike. Jini të shkurtër dhe konkret.
Prompt i dobët / Prompt i fortë
I dobët: "Më shkruaj një skenar të vendosjes".
Përfundim: nuk është e qartë se cila re, cili mjet, cili mjedis; Inteligjenca artificiale prodhon një skript të përgjithshëm, ndoshta jo-prodhues, i cili fut sekretin në kod.
I fortë: "Shkruani një draft të një skripti bash që vendoset në AWS ECS (Shërbimi i kontejnerëve elastik). Rajoni është eu-central-1, imazhi vjen nga ECR. Mos i futni kurrë sekretet në kod, lexojini ato nga Menaxheri i Sekreteve AWS. Nëse ka një gabim në çdo hap, ndaloni (vendosni -euo pipefail ekzekutimin e të gjitha hapave, shkruani të gjitha."
Dallimi: kërkesa e dytë jep renë kompjuterike, mjetin, mjedisin, rregullin e sigurisë dhe pritshmërinë e vlefshmërisë - prodhimi është drejtpërdrejt i dobishëm dhe i sigurt.
Gabimet e zakonshme
- Ngjitja e sekretit aktual në kërkesë. Gabimi më i zakonshëm dhe më i rrezikshëm. Gjithmonë maskojeni.
- Prompt pa kontekst. Pa specifikuar renë, versionin, mjedisin, dalja e dëshiruar shpesh i përket versionit të gabuar ose arkitekturës së gabuar.
- Duke anashkaluar vrapimin e thatë. Zbatimi pa planifikim/--dry-run është shkurtesa më e shtrenjtë në DevOps.
- Duke bërë provën e parë në prod. Çdo dalje e re e AI duhet së pari të ekzekutohet në testim/stadim.
- Delegimi i përgjegjësisë me "AI tha." Përgjegjësia mbetet gjithmonë tek inxhinieri zbatues.
- Duke i besuar flamurit halucinativ. Ekzekutimi i një flamuri komande që nuk ekziston pa pyetje.
Në përmbledhje
DevOps dhe AI në cloud; Është një asistent që ofron shpejtësi të madhe në detyrat me tekst intensiv si tubacioni, konfigurimi, skripti dhe regjistri. Por përgjegjësia për vendimet që prekin produktin, menaxhimin sekret dhe zbatimin përfundimtar i mbetet inxhinierit kompetent. Verifikimi me tre hapa (lidhja me burimin, thahet, kaloni përmes filtrit të sistemit), sekretet që nuk rrjedhin kurrë dhe puna për qëllime mbrojtëse vetëm në sisteme të autorizuara janë parimet udhëzuese të këtij moduli.
Detyra e aplikimit
Zgjidhni një detyrë të fundit DevOps nga puna juaj (ose një projekt shembull). (1) Përshkruani këtë detyrë UA duke përdorur shabllonin "vlerësimi i përshtatshmërisë së punës" më sipër dhe lexoni klasifikimin e tij. (2) Nëse përmban sekret, përgatitni një tekst konteksti duke e maskuar atë. (3) Kontrolloni daljen e AI me verifikimin me tre hapa dhe shënoni me një fjali atë që keni korrigjuar në çdo hap.
listë kontrolli
- [ ] Unë e klasifikova detyrën time si "punë e delegueshme" ose "vendim kritik".
- [ ] Unë nuk kam ngjitur ndonjë sekret aktual në prompt; I maskova të gjitha me një mbajtëse vendi.
- [ ] I shtova kontekst kërkesës në lidhje me renë kompjuterike, versionin e mjetit dhe mjedisin.
- [ ] Kontrollova daljen e AI-së me një ekzekutim/plan të thatë përpara se ta aplikoja.
- [ ] Përpjekjen e parë e bëra në mjedisin e testimit/skenimit, jo në prod.
- [ ] Kam punuar vetëm në sisteme në të cilat kam pasur autoritet, për qëllime mbrojtjeje.