Yunit 1 / 11

Panimula sa DevOps at Cloud AI: Mga Tungkulin, Hangganan, Authentication, Seguridad at Mga Lihim

Mga nadagdag:

  • Ang kakayahang tukuyin kung saan sa DevOps chain (pipeline, configuration, script, log) ang artificial intelligence ay nakakatipid ng real time at kung saan ang mga desisyon na makakaapekto sa produksyon ay ipinauubaya sa mga tao, depende sa antas ng panganib sa gawain.
  • Kakayahang maglapat ng disiplina na nagbe-verify sa bawat output ng AI sa pamamagitan ng mga hakbang ng pagkonekta nito sa pinagmulan, pagpapatuyo nito at pagpasa nito sa filter ng system.
  • Kakayahang magkaroon ng ugali na hindi kailanman mag-paste ng mga lihim sa mga kahilingan, pagtatakip sa kanila, at pagtatrabaho para sa mga layuning pandepensa lamang sa mga awtorisadong system.

Isang gabi sa 03:14 nagri-ring ang iyong telepono: ang serbisyo sa pagbabayad ay down, pera at reputasyon ay nawawala bawat minuto. Sa isa pang araw, ang isang maling command ay nagre-reboot ng libu-libong mga server. Ito ang mundo ng propesyonal sa DevOps — responsibilidad para sa lahat ng pipeline, automation, at on-call na dinadaanan ng software mula sa code repository (kung saan naka-store ang source ng software) hanggang sa maabot nito ang mga kamay ng customer. Ang DevOps ay ang kumbinasyon ng mga salitang "Development" at "Operations": isa itong kultura at hanay ng mga kasanayan na nagdadala ng software development at nagpapatakbo nito sa isang mabilis, maaasahang daloy. Ang bawat hakbang ng daloy na ito ay gumagawa ng isang command, isang configuration file, isang script. Ang artificial intelligence (AI - software na kumukuha ng mga pattern mula sa makasaysayang data at gumagawa ng text, code at mga hula) ay nakakatipid sa iyo ng maraming oras sa ganitong kasaganaan ng teksto.

Ngunit ang pinakasimula ng modyul na ito ay malinaw: AI ay isang katulong, draft generator at tool na sumusuporta sa desisyon; Ikaw ang may pananagutan sa pagpapasya kung ano ang napupunta sa live na kapaligiran (produksyon, ang sistema na ginagamit ng mga tunay na customer), kailan at aling button ang pipindutin sa kalagitnaan ng gabi. Sa DevOps, ang halaga ng isang bug ay hindi minuto, ngunit downtime, pagkawala ng data, at paglabag sa seguridad. Kaya naman sa unang yunit na ito ay tututukan natin ang disiplina, hindi ang kasangkapan.

Saan sa DevOps chain nagagamit ang AI?

Hatiin natin ang mga trabaho sa DevOps sa dalawang malalaking kumpol. Unang kumpol: mga trabahong paulit-ulit, teksto at istruktura. Pagsusulat ng CI/CD (Continuous Integration / Continuous Delivery — pipeline na awtomatikong sumusubok at naglalabas ng code) na paglalarawan, pag-draft ng Dockerfile (recipe file na nag-package ng application sa isang container), nagpapaliwanag ng isang kumplikadong Terraform (tool na tumutukoy sa imprastraktura bilang code) block, nagbubuod ng log stack (mga record ng kaganapan na ginawa ng mga system) at pag-flag ng bash script, pag-flag ng bash script. Sa mga gawaing ito, binabawasan ng AI ang minuto hanggang segundo at hindi napapagod.

Pangalawang cluster: mga desisyon na nagreresulta sa pagkagambala, pera, o kaligtasan. Kung ang isang release ay mapupunta sa prod, kung aling serbisyo ang magsisimulang muli sa kalagitnaan ng gabi, kung paano mag-imbak ng isang lihim, kung aling mapagkukunan ang isasara sa pamamagitan ng pagbawas sa gastos. Ang mga desisyong ito ay nangangailangan ng konteksto, kaalaman sa system, at responsibilidad. Dito, ginagawang nakikita ng AI ang mga opsyon at panganib — ngunit pinindot mo ang "apply" na button.

Linawin natin ang pagkakaiba sa isang pangungusap: Malakas ang AI sa mga tanong na "ano ang ginagawa ng pagsasaayos na ito at kung paano isulat ito"; Nasa iyo ang desisyon pagdating sa mga tanong tulad ng "Dapat ko bang ilapat ito sa produkto at sino ang magtitiwala para dito?"

Tip: Bago mag-outsourcing ng trabaho sa isang AI, itanong: "Ano ang mawawala sa akin kung mali ang output na ito?" Kung ang sagot ay "ilang minuto", huwag mag-atubiling magtalaga. Kung ang sagot ay "pagkawala ng produksyon, pagkawala ng data o pagtagas", hayaan ang AI na gumawa ng draft at i-verify mo ang desisyon at pagpapatupad.

Hakbang-hakbang: paano gumagana ang isang negosyong DevOps na pinapagana ng AI?

  1. Kolektahin ang konteksto. Aling cloud (AWS, Azure, GCP), aling bersyon ng tool, anong mga hadlang? Kung bibigyan mo ang AI ng hindi kumpletong konteksto, makakakuha ka ng hindi kumpleto at mapanganib na output.
  2. Tukuyin ang mga malinaw na gawain. Hindi "magsulat ng pipeline"; Sabihin, "Sa GitHub Actions, magsulat ng workflow sa pangunahing sangay na tumatakbo sa push, nagpapatakbo ng mga pagsubok, bubuo ng Docker na imahe, ngunit hindi nagde-deploy nito."
  3. Gumawa ng draft. Hayaang isulat ng AI ang unang bersyon.
  4. I-verify. Suriin ang syntax, tingnan kung may na-leak na kumpidensyal na impormasyon, subukan gamit ang dry-run (isang mode na aktwal na nagpapakita sa application kung ano ang gagawin).
  5. Subukan ito sa Sandbox. Huwag kailanman gawin ang unang pagsubok sa prod; tumakbo sa isang kapaligiran ng pagsubok/pagtatanghal.
  6. Mag-apply nang paunti-unti at subaybayan. I-live ito sa pamamagitan ng pagsubaybay sa mga sukatan at log.

Disiplina sa pagpapatunay: tatlong hakbang

Ang AI ay nagsasalita nang matatas at may kumpiyansa; Hindi ibig sabihin nito ay totoo. Ang AI ay paminsan-minsang gumagawa ng mga guni-guni — bumubuo ng isang hindi umiiral na command flag, isang pangalan ng serbisyo sa cloud, o isang configuration key bilang totoo. Sa DevOps, maaaring magtanggal ng data ang isang bogus --force flag, habang ang isang huwad na pahintulot ng IAM (Identity and Access Management) ay lumilikha ng kahinaan sa seguridad. Reflex:

  1. Ikonekta ito sa pinagmulan. Ang bawat utos at watawat na ibinigay ng AI ay talagang nasa opisyal na dokumentasyon? Itanong ang "Sabihin sa akin kung aling bersyon ang flag na ito at ang pangalan nito sa opisyal na doc"; Kung hindi sigurado, huwag magtiwala.
  2. Patuyo. Tingnan kung ano ang mangyayari nang hindi aktwal na inilalapat ito sa mga mod tulad ng terraform plan, kubectl --dry-run, --check.
  3. Ipasa ito sa filter ng system. Ang output ba ay tumutugma sa iyong arkitektura, patakaran sa seguridad, at magagamit na mga pangalan ng mapagkukunan? Ang iyong kaalaman sa domain ay ang panghuling filter.
Pansin: Ang "sinulat ni AI" ay hindi isang katwiran. Kung sakaling magkaroon ng prod interruption, ang responsibilidad ay hindi sa AI, ngunit sa taong nagpapatakbo ng command na iyon nang hindi ito bini-verify. Ang isang hindi na-verify na utos ng AI ay kasing peligro ng isang rm -rf na isinasagawa nang hindi binabasa.

Seguridad at mga sikreto: hindi kailanman tumagas

Ang pinakamahalagang tuntunin sa privacy sa DevOps ay tungkol sa mga lihim. Lihim; Ito ay kumpidensyal na impormasyon tulad ng password, API key, database connection string, pribadong sertipiko, na maaaring magbukas ng iyong buong system kung ito ay nakompromiso. Huwag maglagay ng anumang totoong lihim sa isang AI prompt. Kung ang isang block ng code ay naglalaman ng isang aktwal na AWS access key, ang mga nilalaman ng isang .env file, o isang production database password, itago ang mga ito ng mga placeholder gaya ng <AWS_ACCESS_KEY> sa halip na AKIA... bago ibigay ang mga ito sa AI.

Suriin din ang code na ginagawa ng AI: Ang AI kung minsan ay gumagawa ng mga halimbawa na direktang naka-hardcode ng lihim sa code para sa kaginhawahan. Ito ay isang kahinaan sa seguridad. Sa katunayan, ang mga lihim ay itinatago sa isang lihim na vault (Vault, AWS Secrets Manager, Azure Key Vault) at ini-inject bilang mga variable ng kapaligiran sa oras ng pagtakbo.

Isa pang etikal at legal na limitasyon sa lugar na ito: depensibong paggamit. Gamitin ang AI para patigasin ang iyong mga system, mag-scan para sa mga kahinaan, at mag-extract ng mga bakas ng mga pag-atake mula sa mga log. Ang hindi awtorisadong pag-access sa system ng iba, hindi awtorisadong pag-scan, o paggawa ng tool sa pag-atake ay ilegal at sa labas ng saklaw ng platform na ito. Palaging magtrabaho sa mga sistema kung saan mayroon kang awtoridad at nakatanggap ng nakasulat na pahintulot sa pamamagitan ng isang kontrata.

Aling data ang napupunta sa aling sasakyan?

Uri ng data

halimbawa

angkop na sasakyan

bukas na data

Opisyal na dokumento, open source code

Bawat sasakyan

Panloob na data (hindi lihim)

Pangkalahatang diagram ng arkitektura, generic na pipeline

Inaprubahan ng institusyong sasakyan

kumpidensyal/sensitibo

Lihim, prod IP/topology, data ng customer

Isang sasakyan lamang na kinontrata ng institusyon, na ang data ay hindi napupunta sa pagsasanay; sa pamamagitan ng masking

tatlong mini case

Case 1 — Nakuha ang oras sa tamang lugar. Isang DevOps engineer ang gumugol ng 6 na oras sa paglipat ng isang lumang 300-line na pipeline ng Jenkins sa GitHub Actions. Binawasan niya ang trabaho sa 90 minuto sa pamamagitan ng pagpapaliwanag sa AI nang hakbang-hakbang at gumawa ng draft. Ginugol niya ang naka-save na oras sa pag-verify ng bawat hakbang na ginawa ng AI sa pagtatanghal, isa-isa. Kinuha ng AI ang mekanikal na pagsasalin; Ang pagpapatunay ay nanatili sa tao.

Kaso 2 — Ang pag-verify ay nakaiwas sa sakuna. Humingi ang isang team sa AI ng script ng paglilinis ng Terraform. Ang AI ay nagbigay ng matatas na code; Ngunit nang patakbuhin ng inhinyero ang plano ng terraform, natuklasan niya na ang script ay nagplano din na tanggalin ang isang database ng produksyon na ginagamit - ang AI ay nagkamali sa pag-type ng resource filter. Napigilan ng dry running ang mga oras ng pagkawala ng data.

Kaso 3 — Pagbabalik mula sa Lihim na pagtagas. Habang nagtatanong ng "bakit ang error na iyon sa pag-deploy," inilagay ng isang intern ang buong .env file sa isang pampublikong tool na may aktwal na password ng database ng produksyon sa loob. Agad na inikot ng senior engineer at muling ginawa ang mga susi. Ang tamang paraan ay i-mask ang password gamit ang <DB_PASSWORD> at ibahagi lamang ang mensahe ng error.

Apat na maaaring kopyahin na mga template

1) Pagsusuri sa pagiging angkop sa trabaho:

Ang iyong tungkulin: senior DevOps/SRE consultant. Maglalarawan ako ng isang tungkulin para sa iyo. Sabihin sa akin (1) kung ito ay isang gawain sa pagbalangkas/pagsusuri na maaaring ligtas na italaga sa AI, o isang kritikal na desisyon na makakaapekto sa produkto; (2) sabihin ang pinakamasamang resulta kung ito ay mali; (3) sabihin ang mga hakbang sa pag-verify na kailangang gawin bago ang pagpapatupad.Gawain: [DITO]

2) Secure na pagbibigay ng konteksto (secret masking):

Suriin ang error sa ibaba. Tinakpan ko ang lahat ng sikreto gamit ang <PLACEHOLDER>; Iminumungkahi mo rin na HUWAG gumawa ng totoong lihim sa solusyon, gumamit ng placeholder at i-embed ang lihim sa code, basahin mula sa lihim na vault. Error/log: [MASKED CONTENT]

3) Pag-verify ng command:

Ipaliwanag sa akin ang utos na ito: isulat kung ano ang ginagawa ng bawat flag, kung saang bersyon ng tool ito nalalapat, at ang pinaka-mapanganib na epekto nito. Sa wakas ay maglista ng 3 tseke na dapat gawin bago patakbuhin ito sa prod. Utos: [DITO]

4) Pag-aaral/konseptong query:

Ako [CONCEPT: hal. Ipaliwanag ang konsepto ng [blue-green deployment] na parang ipinapaliwanag mo ito sa isang DevOps engineer: kung ano ang ginagawa nito, kailan ito gagamitin, kailan hindi ito gagamitin, 2 karaniwang pagkakamali. Maging maikli at konkreto.

Mahinang prompt / Malakas na prompt

Mahina: "Sumulat ako ng deploy script."

Konklusyon: hindi malinaw kung aling ulap, aling kasangkapan, aling kapaligiran; Gumagawa ang AI ng isang generic, posibleng non-prod script na nag-embed ng sikreto sa code.

Strong: "Sumulat ng draft ng bash script na nagde-deploy sa AWS ECS (Elastic Container Service). Ang rehiyon ay eu-central-1, ang larawan ay nagmula sa ECR. Huwag kailanman mag-embed ng mga lihim sa code, basahin ang mga ito mula sa AWS Secrets Manager. Kung may error sa bawat hakbang, huminto (itakda ang -euo pipefail). Isulat ang lahat ng 3 hakbang sa pag-verify bago patakbuhin ang script."

Pagkakaiba: ang pangalawang prompt ay nagbibigay sa cloud, sa tool, sa kapaligiran, sa panuntunan sa seguridad, at sa inaasahan sa pagpapatunay — ang output ay direktang kapaki-pakinabang at secure.

Mga karaniwang pagkakamali

  • I-paste ang aktwal na lihim sa prompt. Ang pinakakaraniwang at mapanganib na pagkakamali. Laging naka-mask.
  • Contextless prompt. Nang walang pagtukoy sa cloud, bersyon, kapaligiran, ang nais na output ay kadalasang nabibilang sa maling bersyon o maling arkitektura.
  • Nilaktawan ang dry running. Ang pagpapatupad nang walang pagpaplano/--dry-run ay ang pinakamahal na shortcut sa DevOps.
  • Ginagawa ang unang pagsubok sa prod. Ang bawat bagong output ng AI ay dapat munang patakbuhin sa pagsubok/pagtatanghal.
  • Paglalaan ng responsibilidad sa "sabi ng AI." Ang responsibilidad ay palaging nananatili sa tagapagpatupad na inhinyero.
  • Nagtitiwala sa watawat ng guni-guni. Pagpapatupad ng hindi umiiral na command flag nang walang query.

Sa buod

DevOps at cloud AI; Ito ay isang katulong na nagbibigay ng mahusay na bilis sa mga gawaing masinsinang teksto tulad ng pipeline, configuration, script at log. Ngunit ang responsibilidad para sa mga pagpapasya na nakakaapekto sa produkto, lihim na pamamahala at pangwakas na pagpapatupad ay nananatili sa karampatang inhinyero. Ang tatlong-hakbang na pag-verify (kunekta sa pinagmulan, magpatuyo, dumaan sa filter ng system), hindi kailanman naglalabas ng mga sikreto, at nagtatrabaho para sa mga layuning pandepensa lamang sa mga awtorisadong sistema ang mga gabay na prinsipyo ng modyul na ito.

Gawain ng aplikasyon

Pumili ng isang kamakailang gawain sa DevOps mula sa iyong sariling trabaho (o isang sample na proyekto). (1) Ilarawan ang gawaing ito sa AI gamit ang template na "pagsusuri sa pagiging angkop sa trabaho" sa itaas at basahin ang klasipikasyon nito. (2) Kung naglalaman ito ng sikreto, maghanda ng kontekstong teksto sa pamamagitan ng pag-mask nito. (3) Suriin ang output ng AI na may tatlong-hakbang na pag-verify at tandaan sa isang pangungusap kung ano ang iyong naitama sa bawat hakbang.

checklist

  • [ ] Inuri ko ang aking gawain bilang "delegadong gawain" o "kritikal na desisyon".
  • [ ] Hindi ako nag-paste ng anumang aktwal na mga lihim sa prompt; Nimaskara ko silang lahat ng placeholder.
  • [ ] Nagdagdag ako ng konteksto sa prompt tungkol sa cloud, bersyon ng tool, at kapaligiran.
  • [ ] Sinuri ko ang output ng AI gamit ang isang dry run/plan bago ito ilapat.
  • [ ] Ginawa ko ang unang pagtatangka sa kapaligiran ng pagsubok/pagtatanghal, hindi sa prod.
  • [ ] Nagtatrabaho lang ako sa mga sistema kung saan mayroon akong awtoridad, para sa mga layunin ng pagtatanggol.