Eenheid 1 / 11

Inleiding tot DevOps en Cloud AI: rollen, grenzen, authenticatie, beveiliging en geheimen

Winst:

  • Het kunnen onderscheiden waar in de DevOps-keten (pipeline, configuratie, script, log) kunstmatige intelligentie realtime bespaart en waar beslissingen die de productie beïnvloeden, aan mensen worden overgelaten, afhankelijk van het taakrisiconiveau.
  • Mogelijkheid om een ​​discipline toe te passen die elke AI-uitvoer verifieert door deze aan te sluiten op de bron, droog te laten lopen en door het systeemfilter te laten gaan.
  • Mogelijkheid om de gewoonte aan te leren om nooit geheimen op verzoeken te plakken, deze te maskeren en alleen voor defensieve doeleinden te werken op geautoriseerde systemen.

Op een nacht om 03:14 uur gaat je telefoon: de betaaldienst ligt eruit, er gaat elke minuut geld en reputatie verloren. Op een andere dag start een enkel verkeerd commando duizenden servers opnieuw op. Dit is de wereld van de DevOps-professional: de verantwoordelijkheid voor alle pijplijnen, automatisering en on-call waar software doorheen gaat vanaf de coderepository (waar de bron van de software is opgeslagen) totdat deze bij de klant terechtkomt. DevOps is de combinatie van de woorden ‘Development’ en ‘Operations’: het is een cultuur en een reeks praktijken die de ontwikkeling en uitvoering van software in één snelle, betrouwbare stroom brengen. Elke stap van deze stroom produceert een opdracht, een configuratiebestand, een script. Kunstmatige intelligentie (AI – software die patronen uit historische data haalt en tekst, code en voorspellingen produceert) bespaart je in deze overvloed aan tekst veel tijd.

Maar het allereerste begin van deze module is duidelijk: AI is een assistent, conceptgenerator en beslissingsondersteunend hulpmiddel; Jij bent degene die verantwoordelijk is om te beslissen wat er in de live-omgeving terechtkomt (productie, het systeem dat door echte klanten wordt gebruikt), wanneer en op welke knop je midden in de nacht moet drukken. In DevOps bestaan ​​de kosten van een bug niet uit minuten, maar uit downtime, gegevensverlies en inbreuk op de beveiliging. Daarom zullen we ons in deze eerste unit concentreren op de discipline, niet op het gereedschap.

Waar in de DevOps-keten komt AI van pas?

Laten we DevOps-taken in twee grote clusters verdelen. Eerste cluster: repetitieve, tekst- en structurerende taken. Het schrijven van een CI/CD-beschrijving (Continuous Integration / Continuous Delivery - pijplijn die code automatisch test en vrijgeeft), het opstellen van een Dockerfile (receptbestand dat een applicatie in een container verpakt), het uitleggen van een complex Terraform-blok (tool dat infrastructuur als code definieert), het samenvatten van een logstack (gebeurtenisrecords geproduceerd door systemen) en het markeren van de anomalie, het opstellen van een bash-script. Bij deze taken reduceert AI minuten tot seconden en wordt niet moe.

Tweede cluster: beslissingen die resulteren in ontwrichting, geld of veiligheid. Of een release naar de productie gaat, welke dienst midden in de nacht opnieuw wordt opgestart, hoe je een geheim bewaart, welke bron wordt stopgezet door een kostenbesparing. Deze beslissingen vereisen context, systeemkennis en verantwoordelijkheid. Hier maakt AI opties en risico’s zichtbaar – maar je drukt op de ‘toepassen’-knop.

Laten we het onderscheid in één zin verduidelijken: AI is sterk in vragen over “wat doet deze configuratie en hoe moet deze worden geschreven”; De beslissing is aan u als het gaat om vragen als: "Moet ik dit op het product toepassen en wie zal daarvoor instaan?"

Tip: Vraag voordat u een taak aan een AI uitbesteedt: “Wat verlies ik als deze output verkeerd is?” Als het antwoord 'een paar minuten' is, kunt u delegeren. Als het antwoord ‘productiestoring, dataverlies of lekkage’ is, laat de AI dan het concept maken en verifieer jij de beslissing en implementatie.

Stap voor stap: hoe werkt een AI-aangedreven DevOps-bedrijf?

  1. Verzamel context. Welke cloud (AWS, Azure, GCP), welke toolversie, welke beperkingen? Als je de AI een onvolledige context geeft, krijg je een onvolledige en gevaarlijke output.
  2. Definieer duidelijke taken. Niet "schrijf een pijplijn"; Zeg: "Schrijf met GitHub Actions een workflow in de hoofdvertakking die op push draait, tests uitvoert, de Docker-image bouwt, maar deze niet implementeert."
  3. Maak het ontwerp. Laat AI de eerste versie schrijven.
  4. Verifiëren. Controleer de syntaxis, kijk of er vertrouwelijke informatie is gelekt, test met dry-run (een modus die de applicatie daadwerkelijk laat zien wat hij moet doen).
  5. Probeer het in Sandbox. Doe nooit de eerste poging in productie; uitgevoerd in een test-/stagingomgeving.
  6. Geleidelijk toepassen en monitoren. Krijg het live door statistieken en logboeken te monitoren.

Verificatiediscipline: drie stappen

AI spreekt vloeiend en zelfverzekerd; Dat betekent niet dat het waar is. AI produceert af en toe hallucinaties, waarbij een niet-bestaande opdrachtvlag, de naam van een cloudservice of een configuratiesleutel als echt worden beschouwd. In DevOps kan een valse --force-vlag gegevens verwijderen, terwijl een valse IAM-machtiging (Identity and Access Management) een beveiligingsprobleem creëert. Reflex:

  1. Sluit hem aan op de bron. Staat elk commando en elke vlag die door de AI wordt gegeven echt in de officiële documentatie? Vraag "Vertel me in welke versie deze vlag voorkomt en wat de naam ervan is in het officiële document"; Als u het niet zeker weet, vertrouw het dan niet.
  2. Drooglopen. Kijk wat er gebeurt zonder het daadwerkelijk toe te passen met mods zoals terraform plan, kubectl --dry-run, --check.
  3. Leid het door het systeemfilter. Komt de uitvoer overeen met uw architectuur, beveiligingsbeleid en beschikbare bronnamen? Jouw domeinkennis is het laatste filter.
Let op: "AI schreef het" is geen rechtvaardiging. In het geval van een prikonderbreking ligt de verantwoordelijkheid niet bij de AI, maar bij de persoon die het commando uitvoert zonder het te verifiëren. Een niet-geverifieerd AI-commando is net zo riskant als een rm -rf die wordt uitgevoerd zonder te worden gelezen.

Beveiliging en geheimen: lek nooit

De meest kritische privacyregel in DevOps gaat over geheimen. Geheim; Het zijn vertrouwelijke gegevens zoals wachtwoord, API-sleutel, databaseverbindingsreeks en privécertificaat, die uw hele systeem kunnen openen als het wordt aangetast. Plak geen echte geheimen in een AI-prompt. Als een codeblok een daadwerkelijke AWS-toegangssleutel, de inhoud van een .env-bestand of een wachtwoord voor een productiedatabase bevat, maskeer deze dan met tijdelijke aanduidingen zoals <AWS_ACCESS_KEY> in plaats van AKIA... voordat u ze aan de AI geeft.

Controleer ook de code die de AI produceert: De AI produceert soms voorbeelden die het geheim voor het gemak rechtstreeks in de code hardcoderen. Dit is een beveiligingsprobleem. In feite worden geheimen bewaard in een geheime kluis (Vault, AWS Secrets Manager, Azure Key Vault) en tijdens runtime als omgevingsvariabelen geïnjecteerd.

Een andere ethische en wettelijke grens op dit gebied: defensief gebruik. Gebruik AI om uw systemen te versterken, te scannen op kwetsbaarheden en sporen van aanvallen uit logboeken te halen. Ongeautoriseerde toegang tot het systeem van iemand anders, ongeautoriseerd scannen of het maken van een aanvalstool is illegaal en valt buiten de reikwijdte van dit platform. Werk altijd in systemen waarvoor jij de bevoegdheid hebt en schriftelijke toestemming hebt gekregen via een contract.

Welke gegevens gaan in welk voertuig?

Gegevenstype

voorbeeld

geschikt voertuig

open gegevens

Officieel document, open source-code

Elk voertuig

Interne gegevens (geen geheim)

Algemeen architectuurdiagram, generieke pijplijn

Door instelling goedgekeurd voertuig

vertrouwelijk/gevoelig

Geheim, prod IP/topologie, klantgegevens

Alleen een door de instelling gecontracteerd voertuig, waarvan de gegevens niet naar training gaan; door te maskeren

drie minikoffers

Geval 1 — Er werd tijd gewonnen op de juiste plaats. Een DevOps-ingenieur heeft zes uur besteed aan het verplaatsen van een oude Jenkins-pijplijn met 300 lijnen naar GitHub Actions. Hij bracht het werk terug naar 90 minuten door de AI stap voor stap uit te laten leggen en een schets te laten maken. Hij besteedde de bespaarde tijd aan het één voor één verifiëren van elke stap die door de AI tijdens de enscenering werd geproduceerd. AI nam mechanische vertaling; Validatie bleef bij de mens.

Geval 2 — Verificatie heeft een ramp voorkomen. Een team vroeg AI om een ​​Terraform-opschoonscript. AI gaf vloeiende code; Maar toen de ingenieur het terraform-plan uitvoerde, ontdekte hij dat het script ook van plan was een in gebruik zijnde productiedatabase te verwijderen – de AI had het resourcefilter verkeerd getypt. Drooglopen voorkwam urenlang gegevensverlies.

Casus 3 — Terugkeer van een geheim lek. Terwijl hij vroeg "waarom die implementatiefout", plakte een stagiair het volledige .env-bestand in een openbare tool met daarin het daadwerkelijke wachtwoord voor de productiedatabase. De senior ingenieur draaide de sleutels onmiddellijk om en regenereerde ze opnieuw. De juiste manier was om het wachtwoord te maskeren met <DB_PASSWORD> en alleen de foutmelding te delen.

Vier kopieerbare sjablonen

1) Beoordeling van de functiegeschiktheid:

Jouw rol: senior DevOps/SRE consultant. Ik zal een rol voor je omschrijven. Vertel mij (1) of dit een ontwerp-/analysetaak is die veilig aan de AI kan worden gedelegeerd, of een cruciale beslissing die van invloed is op het product; (2) vertel de slechtste uitkomst als het misgaat; (3) vertel de verificatiestappen die moeten worden uitgevoerd vóór de implementatie. Taak: [HIER]

2) Veilige context geven (geheime maskering):

Analyseer de onderstaande fout. Ik maskeerde alle geheimen met <PLACEHOLDER>; U stelt ook voor om NOOIT een echt geheim in de oplossing te produceren, een tijdelijke aanduiding te gebruiken en het geheim in de code in te sluiten, gelezen uit de geheime kluis. Fout/logboek: [GEMASKEERDE INHOUD]

3) Commandoverificatie:

Leg mij dit commando uit: schrijf op wat elke vlag doet, op welke toolversie deze van toepassing is en wat de gevaarlijkste bijwerking is. Geef ten slotte drie controles op die u moet doen voordat u dit in Prod uitvoert. Commando: [HIER]

4) Leer-/conceptvraag:

Ik [CONCEPT: b.v. Leg het concept van [blauw-groene implementatie] uit alsof je het aan een DevOps-ingenieur uitlegt: wat het doet, wanneer je het moet gebruiken, wanneer je het niet moet gebruiken, twee typische fouten. Wees kort en concreet.

Zwakke prompt/sterke prompt

Zwak: "Schrijf mij een implementatiescript."

Conclusie: het is niet duidelijk welke cloud, welke tool, welke omgeving; De AI produceert een generiek, mogelijk niet-prod-script dat het geheim in de code inbedt.

Strong: "Schrijf een concept van een bash-script dat wordt geïmplementeerd in AWS ECS (Elastic Container Service). De regio is eu-central-1, de afbeelding komt van ECR. Sluit nooit geheimen in de code in, lees ze vanuit AWS Secrets Manager. Als er bij elke stap een fout optreedt, stop dan (stel -euo pipefail in). Schrijf alle drie de verificatiestappen voordat u het script in prod uitvoert."

Verschil: de tweede prompt geeft de cloud, de tool, de omgeving, de beveiligingsregel en de validatieverwachting weer: de output is direct nuttig en veilig.

Veel voorkomende fouten

  • Het daadwerkelijke geheim in de prompt plakken. De meest voorkomende en gevaarlijke fout. Masker altijd.
  • Contextloze prompt. Zonder het specificeren van cloud, versie, omgeving behoort de gewenste output vaak tot de verkeerde versie of verkeerde architectuur.
  • Drooglopen overslaan. Implementeren zonder planning/--dry-run is de duurste sluiproute in DevOps.
  • De eerste poging doen in prod. Elke nieuwe AI-uitvoer moet eerst worden uitgevoerd tijdens testen/staging.
  • Verantwoordelijkheid delegeren met “AI zei.” De verantwoordelijkheid blijft altijd bij de uitvoerende ingenieur.
  • Vertrouwend op de hallucinerende vlag. Een niet-bestaande opdrachtvlag uitvoeren zonder query.

Samengevat

DevOps en cloud-AI; Het is een assistent die grote snelheid biedt bij tekstintensieve taken zoals pipeline, configuratie, script en log. Maar de verantwoordelijkheid voor beslissingen die betrekking hebben op het product, het geheime beheer en de uiteindelijke implementatie blijft bij de bevoegde ingenieur. Driestapsverificatie (verbinding maken met de bron, drooglopen, systeemfilter passeren), nooit geheimen lekken en alleen voor defensieve doeleinden werken op geautoriseerde systemen zijn de leidende principes van deze module.

Applicatie taak

Selecteer een recente DevOps-taak uit uw eigen werk (of een voorbeeldproject). (1) Beschrijf deze taak aan de AI met behulp van het bovenstaande sjabloon ‘beoordeling van geschiktheid voor de functie’ en lees de classificatie ervan. (2) Als het een geheim bevat, bereid dan een contexttekst voor door deze te maskeren. (3) Controleer de output van de AI met driestapsverificatie en noteer in één zin wat je bij elke stap hebt gecorrigeerd.

controlelijst

  • [ ] Ik classificeerde mijn taak als "delegeerbaar werk" of "kritieke beslissing".
  • [ ] Ik heb geen echte geheimen in de prompt geplakt; Ik heb ze allemaal gemaskeerd met een tijdelijke aanduiding.
  • [ ] Ik heb context aan de prompt toegevoegd met betrekking tot de cloud, de toolversie en de omgeving.
  • [ ] Ik heb de AI-output gecontroleerd met een dry run/plan voordat ik deze toepaste.
  • [ ] Ik heb de eerste poging gedaan in de test-/stagingomgeving, niet in prod.
  • [ ] Ik werkte alleen aan systemen waarin ik autoriteit had, voor defensiedoeleinden.