Keuntungan:
- Dapat membezakan di mana dalam rantaian DevOps (talian paip, konfigurasi, skrip, log) kecerdasan buatan menjimatkan masa nyata dan keputusan yang mempengaruhi pengeluaran diserahkan kepada manusia, bergantung pada tahap risiko tugas.
- Keupayaan untuk menerapkan disiplin yang mengesahkan setiap output AI melalui langkah menyambungkannya ke sumber, mengeringkannya dan menghantarnya melalui penapis sistem.
- Keupayaan untuk memperoleh tabiat untuk tidak menampal rahsia pada permintaan, menutupnya, dan bekerja untuk tujuan pertahanan hanya pada sistem yang dibenarkan.
Suatu malam pada pukul 03:14 telefon anda berdering: perkhidmatan pembayaran tidak berfungsi, wang dan reputasi hilang setiap minit. Pada hari lain, satu arahan yang salah mengebut semula beribu-ribu pelayan. Ini adalah dunia profesional DevOps — bertanggungjawab untuk semua saluran paip, automasi dan atas panggilan yang dilalui perisian daripada repositori kod (tempat sumber perisian disimpan) sehingga ia sampai ke tangan pelanggan. DevOps ialah gabungan perkataan "Pembangunan" dan "Operasi": ia adalah budaya dan set amalan yang membawa pembangunan perisian dan menjalankannya menjadi satu aliran yang pantas dan boleh dipercayai. Setiap langkah aliran ini menghasilkan arahan, fail konfigurasi, skrip. Kecerdasan buatan (AI - perisian yang mengekstrak corak daripada data sejarah dan menghasilkan teks, kod dan ramalan) menjimatkan banyak masa anda dalam banyak teks ini.
Tetapi permulaan modul ini jelas: AI ialah pembantu, penjana draf dan alat sokongan keputusan; Anda adalah orang yang bertanggungjawab untuk memutuskan perkara yang masuk ke dalam persekitaran langsung (pengeluaran, sistem yang digunakan oleh pelanggan sebenar), bila dan butang mana yang perlu ditekan pada tengah malam. Dalam DevOps, kos pepijat bukanlah beberapa minit, tetapi masa henti, kehilangan data dan pelanggaran keselamatan. Sebab itu dalam unit pertama ini kita akan fokus pada disiplin, bukan alatan.
Di manakah dalam rangkaian DevOps AI berguna?
Mari bahagikan kerja DevOps kepada dua kelompok besar. Kelompok pertama: kerja berulang, teks dan penstrukturan. Menulis perihalan CI/CD (Integrasi Berterusan / Penghantaran Berterusan — saluran paip yang menguji dan mengeluarkan kod secara automatik), mendraf Fail Docker (fail resipi yang membungkus aplikasi ke dalam bekas), menerangkan blok Terraform (alat yang mentakrifkan infrastruktur sebagai kod) kompleks, meringkaskan timbunan log (rekod peristiwa yang dihasilkan oleh sistem) dan membenderakan skrip bash, draf. Dalam tugasan ini, AI mengurangkan minit kepada saat dan tidak letih.
Kelompok kedua: keputusan yang mengakibatkan gangguan, wang atau keselamatan. Sama ada keluaran akan pergi ke prod, perkhidmatan mana yang akan dimulakan semula pada tengah malam, cara menyimpan rahsia, sumber mana yang akan ditutup dengan potongan kos. Keputusan ini memerlukan konteks, pengetahuan sistem dan tanggungjawab. Di sini, AI menjadikan pilihan dan risiko kelihatan - tetapi anda menekan butang "gunakan".
Mari kita jelaskan perbezaan dalam satu ayat: AI kukuh pada soalan "apa yang dilakukan oleh konfigurasi ini dan cara menulisnya"; Keputusan adalah milik anda apabila ia berkaitan dengan soalan seperti "Perlukah saya menggunakan ini pada produk dan siapa yang akan menjaminnya?"
Petua: Sebelum menyumber luar pekerjaan kepada AI, tanya: "Apa yang saya rugi jika output ini salah?" Jika jawapannya ialah "beberapa minit", jangan ragu untuk mewakilkan. Jika jawapannya ialah "kegagalan pengeluaran, kehilangan data atau kebocoran", biarkan AI menghasilkan draf dan anda mengesahkan keputusan dan pelaksanaan.
Langkah demi langkah: bagaimanakah perniagaan DevOps yang dikuasakan AI berfungsi?
- Kumpul konteks. Awan yang mana (AWS, Azure, GCP), versi alat yang manakah, apakah kekangan? Jika anda memberikan konteks AI yang tidak lengkap, anda akan mendapat output yang tidak lengkap dan berbahaya.
- Tentukan tugas yang jelas. Bukan "menulis saluran paip"; Katakan, "Dengan GitHub Actions, tulis aliran kerja dalam cawangan utama yang berjalan secara push, menjalankan ujian, membina imej Docker, tetapi tidak menggunakannya."
- Menghasilkan draf. Biarkan AI menulis versi pertama.
- Sahkan. Semak sintaks, lihat jika maklumat sulit telah bocor, uji dengan larian kering (mod yang sebenarnya menunjukkan aplikasi apa yang perlu dilakukan).
- Cuba dalam Kotak Pasir. Jangan sekali-kali melakukan percubaan pertama dalam prod; dijalankan dalam persekitaran ujian/pementasan.
- Sapukan secara beransur-ansur dan pantau. Dapatkannya secara langsung dengan memantau metrik dan log.
Disiplin pengesahan: tiga langkah
AI bercakap dengan lancar dan yakin; Itu tidak bermakna ia benar. AI kadangkala menghasilkan halusinasi — membentuk bendera arahan yang tidak wujud, nama perkhidmatan awan atau kunci konfigurasi sebagai nyata. Dalam DevOps, bendera palsu --force boleh memadamkan data, manakala kebenaran IAM (Pengurusan Identiti dan Akses) palsu mewujudkan kerentanan keselamatan. Refleks:
- Sambungkannya ke sumber. Adakah setiap arahan dan bendera yang diberikan oleh AI benar-benar dalam dokumentasi rasmi? Tanya "Beritahu saya versi mana bendera ini disertakan dan namanya dalam dokumen rasmi"; Jika tidak pasti, jangan percaya.
- Keringkan. Lihat apa yang berlaku tanpa benar-benar menggunakannya dengan mod seperti pelan terraform, kubectl --dry-run, --check.
- Lulus melalui penapis sistem. Adakah output sepadan dengan seni bina, dasar keselamatan dan nama sumber yang tersedia anda? Pengetahuan domain anda ialah penapis terakhir.
Perhatian: "AI menulis begitu" bukanlah alasan. Sekiranya berlaku gangguan prod, tanggungjawab bukan milik AI, tetapi kepada orang yang menjalankan perintah itu tanpa mengesahkannya. Perintah AI yang tidak disahkan adalah sama berisiko seperti rm -rf yang dilaksanakan tanpa dibaca.
Keselamatan dan rahsia: jangan pernah bocor
Peraturan privasi yang paling kritikal dalam DevOps adalah mengenai rahsia. Rahsia; Ia adalah maklumat sulit seperti kata laluan, kunci API, rentetan sambungan pangkalan data, sijil peribadi, yang boleh membuka keseluruhan sistem anda jika ia terjejas. Jangan tampal sebarang rahsia sebenar ke dalam gesaan AI. Jika blok kod mengandungi kunci akses AWS sebenar, kandungan fail .env atau kata laluan pangkalan data pengeluaran, tutupkannya dengan ruang letak seperti <AWS_ACCESS_KEY> dan bukannya AKIA... sebelum memberikannya kepada AI.
Semak juga kod yang dihasilkan AI: AI kadangkala menghasilkan contoh yang mengeraskan rahsia terus ke dalam kod untuk kemudahan. Ini adalah kelemahan keselamatan. Malah, rahsia disimpan dalam bilik kebal rahsia (Kebal Kebal, Pengurus Rahsia AWS, Bilik Kekunci Azure) dan disuntik sebagai pembolehubah persekitaran pada masa berjalan.
Satu lagi had etika dan undang-undang dalam bidang ini: penggunaan defensif. Gunakan AI untuk mengeraskan sistem anda, mengimbas kelemahan dan mengekstrak kesan serangan daripada log. Akses tanpa kebenaran kepada sistem orang lain, pengimbasan tanpa kebenaran atau mencipta alat serangan adalah menyalahi undang-undang dan di luar skop platform ini. Sentiasa bekerja dalam sistem yang anda mempunyai kuasa dan telah menerima kebenaran bertulis melalui kontrak.
Data mana yang masuk ke kenderaan mana?
Jenis data
contoh
kenderaan yang sesuai
data terbuka
Dokumen rasmi, kod sumber terbuka
Setiap kenderaan
Data dalaman (bukan rahsia)
Gambar rajah seni bina am, saluran paip generik
Kenderaan yang diluluskan oleh institusi
sulit/sensitif
Rahsia, prod IP/topologi, data pelanggan
Hanya kenderaan yang dikontrak oleh institusi, yang datanya tidak pergi ke latihan; dengan bertopeng
tiga kes mini
Kes 1 — Masa telah diperoleh di tempat yang betul. Seorang jurutera DevOps menghabiskan 6 jam memindahkan saluran paip Jenkins 300 talian lama ke Tindakan GitHub. Dia mengurangkan kerja kepada 90 minit dengan meminta AI menerangkan langkah demi langkah dan menghasilkan draf. Dia menghabiskan masa yang disimpan untuk mengesahkan setiap langkah yang dihasilkan oleh AI dalam pementasan, satu demi satu. AI mengambil terjemahan mekanikal; Pengesahan kekal dengan manusia.
Kes 2 — Pengesahan mengelakkan bencana. Satu pasukan meminta AI untuk skrip pembersihan Terraform. AI memberikan kod fasih; Tetapi apabila jurutera menjalankan pelan terraform, dia mendapati bahawa skrip itu juga merancang untuk memadam pangkalan data pengeluaran yang sedang digunakan — AI telah tersilap menaip penapis sumber. Larian kering menghalang kehilangan data berjam-jam.
Kes 3 — Pulangan daripada kebocoran Rahsia. Semasa bertanya "mengapa ralat penggunaan itu", seorang pelatih menampal keseluruhan fail .env ke dalam alat awam dengan kata laluan pangkalan data pengeluaran sebenar di dalamnya. Jurutera kanan segera memutar dan menjana semula kunci. Cara yang betul ialah menutup kata laluan dengan <DB_PASSWORD> dan berkongsi mesej ralat sahaja.
Empat templat yang boleh disalin
1) Penilaian kesesuaian pekerjaan:
Peranan anda: perunding kanan DevOps/SRE. Saya akan menerangkan peranan untuk anda. Beritahu saya (1) sama ada ini tugas penggubalan/analisis yang boleh diwakilkan dengan selamat kepada AI atau keputusan kritikal yang memberi kesan kepada produk; (2) beritahu keputusan yang paling teruk jika ia salah; (3) beritahu langkah pengesahan yang perlu dilakukan sebelum pelaksanaan.Tugas: [SINI]
2) Pemberian konteks selamat (pelindung rahsia):
Analisis ralat di bawah. Saya menutup semua rahsia dengan <PACEHOLDER>; Anda juga mencadangkan JANGAN sekali-kali menghasilkan rahsia sebenar dalam penyelesaian, gunakan pemegang tempat dan benamkan rahsia dalam kod, baca dari peti besi rahsia. Ralat/log: [KANDUNGAN BERTOLAT]
3) Pengesahan arahan:
Terangkan arahan ini kepada saya: tuliskan perkara yang dilakukan oleh setiap bendera, versi alat yang digunakan dan kesan sampingan yang paling berbahaya. Akhirnya senaraikan 3 pemeriksaan yang perlu dilakukan sebelum menjalankan ini dalam prod. Perintah: [DI SINI]
4) Pertanyaan pembelajaran/konsep:
Saya [KONSEP: cth. Terangkan konsep [penggunaan biru-hijau] seolah-olah anda menerangkannya kepada jurutera DevOps: apa yang ia lakukan, bila untuk menggunakannya, bila untuk tidak menggunakannya, 2 kesilapan biasa. Jadilah ringkas dan konkrit.
Gesaan lemah / Gesaan kuat
Lemah: "Tulis saya skrip penggunaan."
Kesimpulan: tidak jelas awan mana, alat mana, persekitaran mana; AI menghasilkan skrip generik, mungkin bukan produk yang membenamkan rahsia ke dalam kod.
Kuat: "Tulis draf skrip bash yang digunakan ke AWS ECS (Perkhidmatan Kontena Elastik). Rantau ini ialah eu-central-1, imej berasal daripada ECR. Jangan sekali-kali membenamkan rahsia dalam kod, bacanya daripada Pengurus Rahsia AWS. Jika terdapat ralat pada setiap langkah, hentikan (set -euo pipefail). Tulis semua 3 langkah pengesahan dalam skrip sebelum menjalankan skrip."
Perbezaan: gesaan kedua memberikan awan, alat, persekitaran, peraturan keselamatan dan jangkaan pengesahan — output secara langsung berguna dan selamat.
Kesilapan biasa
- Menampal rahsia sebenar ke dalam gesaan. Kesilapan yang paling biasa dan berbahaya. Sentiasa bertopeng.
- Gesaan tanpa konteks. Tanpa menyatakan awan, versi, persekitaran, output yang diingini selalunya tergolong dalam versi yang salah atau seni bina yang salah.
- Melangkau larian kering. Melaksanakan tanpa perancangan/--dry-run ialah jalan pintas paling mahal dalam DevOps.
- Membuat percubaan pertama dalam prod. Setiap output AI baharu hendaklah dijalankan terlebih dahulu dalam ujian/pementasan.
- Mewakilkan tanggungjawab dengan "kata AI." Tanggungjawab sentiasa kekal dengan jurutera pelaksana.
- Mempercayai bendera halusinasi. Melaksanakan bendera arahan yang tidak wujud tanpa pertanyaan.
Secara ringkasnya
DevOps dan awan AI; Ia adalah pembantu yang memberikan kelajuan hebat dalam tugas intensif teks seperti saluran paip, konfigurasi, skrip dan log. Tetapi tanggungjawab untuk keputusan yang mempengaruhi produk, pengurusan rahsia dan pelaksanaan muktamad kekal dengan jurutera yang cekap. Pengesahan tiga langkah (sambung ke sumber, keringkan, melalui penapis sistem), tidak pernah membocorkan rahsia, dan bekerja untuk tujuan pertahanan hanya pada sistem yang dibenarkan adalah prinsip panduan modul ini.
Tugasan permohonan
Pilih tugas DevOps baru-baru ini daripada kerja anda sendiri (atau projek contoh). (1) Terangkan tugas ini kepada AI menggunakan templat "penilaian kesesuaian pekerjaan" di atas dan baca klasifikasinya. (2) Jika ia mengandungi rahsia, sediakan teks konteks dengan menutupnya. (3) Semak output AI dengan pengesahan tiga langkah dan catatkan dalam satu ayat perkara yang anda betulkan pada setiap langkah.
senarai semak
- [ ] Saya mengklasifikasikan tugas saya sebagai "kerja yang boleh diwakilkan" atau "keputusan kritikal".
- [ ] Saya tidak menampal sebarang rahsia sebenar ke dalam gesaan; Saya menutup semuanya dengan pemegang tempat.
- [ ] Saya menambah konteks pada gesaan berkenaan awan, versi alat dan persekitaran.
- [ ] Saya menyemak keluaran AI dengan larian/pelan kering sebelum menggunakannya.
- [ ] Saya membuat percubaan pertama dalam persekitaran ujian/pementasan, bukan dalam prod.
- [ ] Saya hanya bekerja pada sistem di mana saya mempunyai kuasa, untuk tujuan pertahanan.