Üksus 1 / 11

DevOpsi ja Cloud AI tutvustus: rollid, piirid, autentimine, turvalisus ja saladused

Kasu:

  • Võimalus eristada, kus DevOps ahelas (torustik, konfiguratsioon, skript, logi) säästab tehisintellekt reaalaega ja kus tootmist mõjutavad otsused jäetakse inimese teha, olenevalt ülesande riskitasemest.
  • Võimalus rakendada distsipliini, mis kontrollib iga tehisintellekti väljundit, ühendades selle allikaga, käivitades selle kuivaks ja suunates selle läbi süsteemifiltri.
  • Võimalus omandada harjumus mitte kunagi taotlustele saladusi kleepida, neid varjata ja töötada kaitseotstarbel ainult volitatud süsteemides.

Ühel õhtul kell 03:14 heliseb teie telefon: makseteenus on maas, raha ja maine lähevad iga minutiga kaduma. Teisel päeval taaskäivitab üksainus vale käsk tuhandeid servereid. See on DevOpsi professionaalide maailm – vastutus kõigi torustike, automatiseerimise ja valve eest, mida tarkvara koodihoidlast (kus on salvestatud tarkvara allikas) läbib kuni kliendi kätte jõudmiseni. DevOps on kombinatsioon sõnadest "arendus" ja "operatsioonid": see on kultuur ja tavade kogum, mis viivad tarkvaraarenduse ja selle käitamise ühte kiiresse ja usaldusväärsesse voogu. Selle voo iga samm loob käsu, konfiguratsioonifaili ja skripti. Tehisintellekt (AI – tarkvara, mis eraldab ajaloolistest andmetest mustreid ning toodab teksti, koodi ja ennustusi) säästab selles tekstirohkuses palju aega.

Kuid selle mooduli algus on selge: AI on assistent, mustandite generaator ja otsuste tugitööriist; Teie vastutate selle eest, mis läheb otsekeskkonda (tootmine, tegelike klientide kasutatav süsteem), millal ja millist nuppu keset ööd vajutada. DevOpsis ei ole vea hind minutid, vaid seisakud, andmete kadu ja turvarikkumine. Sellepärast keskendume selles esimeses üksuses distsipliinile, mitte tööriistale.

Kus DevOpsi ahelas on tehisintellekt kasulik?

Jagame DevOpsi tööd kaheks suureks klastriks. Esimene klaster: korduvad, teksti- ja struktureerimistööd. CI/CD (Continuous Integration / Continuous Delivery – konveier, mis testib ja vabastab koodi automaatselt) kirjelduse kirjutamine, Dockerfile'i (retseptifail, mis pakendab rakenduse konteinerisse) mustandi koostamine, keerulise Terraformi (tööriist, mis määratleb infrastruktuuri koodina) ploki selgitamine, logipinu kokkuvõtte tegemine (süsteemide poolt toodetud sündmusekirjete mustand) ja liputamine. Nende ülesannete puhul vähendab tehisintellekt minutid sekunditeks ega väsi.

Teine klaster: otsused, mis põhjustavad häireid, raha või turvalisust. Kas väljalase läheb tootmisse, milline teenus taaskäivitatakse keset ööd, kuidas säilitada saladust, milline ressurss suletakse kulude kärpimise tõttu. Need otsused nõuavad konteksti, süsteemi tundmist ja vastutust. Siin teeb AI valikud ja riskid nähtavaks – aga vajutate nuppu "Rakenda".

Täpsustame erinevust ühe lausega: AI on tugev küsimustes "mida see konfiguratsioon teeb ja kuidas seda kirjutada"; Otsus on teie enda teha selliste küsimuste puhul nagu "Kas ma peaksin seda tootele rakendama ja kes selle eest garanteerib?"

Näpunäide. Enne töö tellimist tehisintellektile küsige: "Mida ma kaotan, kui see väljund on vale?" Kui vastus on "paar minutit", võite julgelt delegeerida. Kui vastuseks on "tootmise katkestus, andmete kadu või leke", laske tehisintellektil mustand toota ja teie kontrollite otsust ja rakendamist.

Samm-sammult: kuidas AI-toega DevOpsi ettevõte töötab?

  1. Koguge konteksti. Milline pilv (AWS, Azure, GCP), milline tööriista versioon, millised piirangud? Kui annate AI-le mittetäieliku konteksti, saate mittetäieliku ja ohtliku väljundi.
  2. Määratlege selged ülesanded. Mitte "kirjuta torujuhe"; Öelge: "GitHubi toimingutega kirjutage põhiharusse töövoog, mis töötab tõukerežiimis, testib, loob Dockeri kujutise, kuid ei juuruta seda."
  3. Valmistage mustand. Laske tehisintellektil esimene versioon kirjutada.
  4. Kinnitage. Kontrollige süntaksit, vaadake, kas konfidentsiaalne teave on lekkinud, testige kuivkäivitamisega (režiim, mis näitab rakendusele, mida teha).
  5. Proovige seda liivakastis. Ärge kunagi tehke esimest katset tootes; käivitada testimis-/lavastuskeskkonnas.
  6. Kandke järk-järgult ja jälgige. Tehke see reaalajas, jälgides mõõdikuid ja logisid.

Kontrollimise distsipliin: kolm sammu

AI räägib soravalt ja enesekindlalt; See ei tähenda, et see tõsi on. AI tekitab aeg-ajalt hallutsinatsioone – moodustades reaalse käsulipu, pilveteenuse nime või konfiguratsioonivõtme. DevOpsis võib võlts --force lipp andmeid kustutada, samas kui võlts IAM-i (identiteedi ja juurdepääsu haldamise) luba loob turvaauku. Refleks:

  1. Ühendage see allikaga. Kas iga AI antud käsk ja lipp on tõesti ametlikus dokumentatsioonis? Küsige "Ütle mulle, millises versioonis see lipp tuleb ja selle nimi ametlikus dokumendis"; Kui pole kindel, siis ära usalda seda.
  2. Jookse kuivaks. Vaadake, mis juhtub ilma seda tegelikult rakendamata, kasutades selliseid modifikatsioone nagu terraform plan, kubectl --dry-run, --check.
  3. Laske see läbi süsteemifiltri. Kas väljund vastab teie arhitektuurile, turbepoliitikale ja saadaolevate ressursside nimedele? Teie domeeniteadmised on lõplik filter.
Tähelepanu: "AI kirjutas nii" ei ole õigustus. Prod-katkestuse korral ei vastuta mitte tehisintellekt, vaid isik, kes juhib seda käsku ilma seda kontrollimata. Kontrollimata AI käsk on sama riskantne kui rm -rf, mis käivitatakse ilma lugemiseta.

Turvalisus ja saladused: ära kunagi leki

DevOpsi kõige kriitilisem privaatsusreegel puudutab saladusi. Saladus; See on konfidentsiaalne teave, nagu parool, API-võti, andmebaasi ühenduse string, privaatsertifikaat, mis võib avada kogu teie süsteemi, kui see on ohus. Ärge kleepige tehisintellekti viibale tõelisi saladusi. Kui koodiplokk sisaldab tegelikku AWS-i juurdepääsuvõtit, .env-faili sisu või tootmisandmebaasi parooli, maskeerige need enne AI-le andmist kohahoidjatega, näiteks <AWS_ACCESS_KEY>, mitte AKIA....

Kontrollige ka koodi, mida AI toodab: AI toodab mõnikord näiteid, mis mugavuse huvides salajase otse koodi sisse kodeerivad. See on turvanõrkus. Tegelikult hoitakse saladusi salajas (Vault, AWS Secrets Manager, Azure Key Vault) ja sisestatakse keskkonnamuutujatena käitusajal.

Veel üks eetiline ja juriidiline piir selles valdkonnas: kaitsekasutus. Kasutage tehisintellekti oma süsteemide tugevdamiseks, haavatavuste otsimiseks ja logidest rünnakute jälgede eraldamiseks. Volitamata juurdepääs võõra süsteemile, volitamata skannimine või ründetööriista loomine on ebaseaduslik ja ei kuulu selle platvormi reguleerimisalasse. Töötage alati süsteemides, mille jaoks teil on volitus ja olete saanud lepingu alusel kirjaliku loa.

Millised andmed millisesse sõidukisse lähevad?

Andmetüüp

näide

sobiv sõiduk

avatud andmed

Ametlik dokument, avatud lähtekood

Iga sõiduk

Siseandmed (pole saladus)

Üldine arhitektuuriskeem, üldine torujuhe

Asutuse poolt heaks kiidetud sõiduk

konfidentsiaalne/tundlik

Salajane, toote IP/topoloogia, kliendiandmed

Ainult asutuse lepinguga sõiduk, mille andmed koolitusele ei lähe; maskeerimise teel

kolm minikarpi

Juhtum 1 – Aega võideti õiges kohas. DevOpsi insener kulutas 6 tundi vana 300-realise Jenkinsi torujuhtme teisaldamiseks GitHub Actionsi. Ta vähendas töö 90 minutini, lastes tehisintellektil samm-sammult selgitada ja koostada mustandi. Ta kulutas kokkuhoitud aja, kontrollides ükshaaval iga tehisintellekti tehtud etappi etapiviisiliselt. AI võttis mehaanilise tõlke; Valideerimine jäi inimesele.

Juhtum 2 – kontrollimine hoidis ära katastroofi. Meeskond palus AI-l Terraformi puhastamise skripti. AI andis sujuva koodi; Kuid kui insener terraformiplaani käivitas, avastas ta, et skript kavatses kustutada ka kasutatava tootmisandmebaasi – AI oli ressursifiltri valesti sisestanud. Kuivtöö hoidis ära tundidepikkuse andmekao.

Juhtum 3 – tagasitulek salajasest lekkest. Küsides "miks see juurutusviga" kleepis praktikant kogu .env-faili avalikku tööriista koos tegeliku tootmisandmebaasi parooliga. Vaneminsener pööras võtmed kohe ümber ja genereeris need uuesti. Õige viis oli maskeerida parool koodiga <DB_PASSWORD> ja jagada ainult veateadet.

Neli kopeeritavat malli

1) Töökoha sobivuse hindamine:

Teie roll: DevOpsi/SRE vanemkonsultant. Kirjeldan teile rolli. Öelge mulle (1), kas see on koostamis-/analüüsiülesanne, mille saab ohutult AI-le delegeerida, või kriitiline otsus, mis mõjutab toodet; (2) öelda halvim tulemus, kui see läheb valesti; (3) öelge kontrollietapid, mis tuleb enne rakendamist teha.Ülesanne: [SIIN]

2) Turvaline konteksti andmine (salajane maskeerimine):

Analüüsige allpool olevat viga. Varjasin kõik saladused funktsiooniga <PLACEHOLDER>; Samuti soovitate MITTE KUNAGI toota lahenduses tõelist saladust, kasutada kohahoidjat ja manustada saladus koodi, lugeda salajasest hoidlast. Viga/logi: [MASKED SISU]

3) Käskude kinnitamine:

Selgitage mulle seda käsku: kirjutage üles, mida iga lipp teeb, millisele tööriistaversioonile see kehtib ja selle kõige ohtlikum kõrvalmõju. Lõpuks loetlege 3 kontrollimist, mida teha enne selle käivitamist tootmisversioonis. Käsk: [SIIN]

4) Õppimise/kontseptsiooni päring:

Mina [MÕISTE: nt. Selgitage [sini-rohelise juurutamise] kontseptsiooni nii, nagu selgitaksite seda DevOpsi insenerile: mida see teeb, millal seda kasutada, millal mitte kasutada, 2 tüüpilist viga. Olge lühidalt ja konkreetselt.

Nõrk viip / Tugev viip

Nõrk: "Kirjutage mulle juurutamisskript."

Järeldus: pole selge, milline pilv, milline tööriist, milline keskkond; Tehisintellekt loob üldise, võib-olla mittetoodetava skripti, mis manustab saladuse koodi.

Tugev: "Kirjutage mustand bash-skriptist, mis juurutatakse AWS ECS-i (Elastne konteineriteenus). Piirkond on eu-central-1, pilt pärineb ECR-ist. Ärge kunagi manustage koodi saladusi, lugege neid AWS-i saladuste haldurist. Kui igal etapil ilmneb tõrge, lõpetage (seadke -euo pipefail). Kirjutage enne proscripti toimingud 3 käivitamist."

Erinevus: teine ​​viip annab pilve, tööriista, keskkonna, turbereegli ja valideerimisootuse – väljund on otseselt kasulik ja turvaline.

Levinud vead

  • Tegeliku saladuse kleepimine viibale. Kõige tavalisem ja ohtlikum viga. Alati mask.
  • Kontekstita viip. Ilma pilve, versiooni, keskkonna määramata kuulub soovitud väljund sageli valesse versiooni või valesse arhitektuuri.
  • Kuivjooksu vahelejätmine. Ilma planeerimiseta/--dry-run juurutamine on DevOpsi kõige kallim otsetee.
  • Esimest korda proovimine tootes. Iga uut tehisintellekti väljundit tuleks esmalt testida/lavastada.
  • Vastutuse delegeerimine tekstiga "AI ütles". Vastutus jääb alati teostusinsenerile.
  • Usaldades hallutsinatsioonilippu. Olematu käsulipu täitmine ilma päringuta.

Kokkuvõttes

DevOps ja pilve AI; See on assistent, mis tagab suure kiiruse tekstimahukates ülesannetes, nagu konveier, konfiguratsioon, skript ja logi. Kuid vastutus toodet mõjutavate otsuste, salahalduse ja lõpliku juurutamise eest jääb pädevale insenerile. Selle mooduli juhtpõhimõtted on kolmeastmeline kinnitamine (ühendage allikaga, töötage tühjaks, läbige süsteemifiltri), mitte kunagi ei leki saladusi ja töötage kaitseotstarbel ainult volitatud süsteemides.

Rakenduse ülesanne

Valige oma tööst (või näidisprojektist) hiljutine DevOpsi ülesanne. (1) Kirjeldage seda ülesannet tehisintellektile, kasutades ülaltoodud "töökoha sobivuse hindamise" malli, ja lugege selle klassifikatsiooni. (2) Kui see sisaldab saladust, valmistage ette konteksttekst, maskeerides selle. (3) Kontrollige tehisintellekti väljundit kolmeastmelise kinnitamisega ja märkige ühes lauses, mida te igal etapil parandasite.

kontrollnimekiri

  • [ ] Ma liigitasin oma ülesande "delegeeritavaks tööks" või "kriitiliseks otsuseks".
  • [ ] Ma ei kleepinud viipale ühtegi tegelikku saladust; Maskeerisin need kõik kohahoidjaga.
  • [ ] Lisasin viipale konteksti pilve, tööriista versiooni ja keskkonna kohta.
  • [ ] Kontrollisin tehisintellekti väljundit enne selle rakendamist kuiva töö/plaaniga.
  • [ ] Esimese katse tegin test/lavastuskeskkonnas, mitte prod.
  • [ ] Töötasin kaitseotstarbel ainult süsteemides, milles mul oli autoriteet.