GitOps: kecap konci sanés atanapi terobosan dina otomatisasi?

GitOps: kecap konci sanés atanapi terobosan dina otomatisasi?

Kalolobaan urang, perhatikeun istilah anyar sejen dina blogosphere IT atawa konferensi, sooner atanapi engké nanya patarosan sarupa: "Naon ieu? Ngan kecap konci anu sanés, "kecap kecap" atanapi anu leres-leres pantes perhatian, diajar sareng janji cakrawala énggal? Hal anu sarua kajadian ka kuring jeung istilah GitOps sawatara waktu ka tukang. Bersenjata sareng seueur tulisan anu aya, ogé pangaweruh kolega ti perusahaan GitLab, Kuring diusahakeun angka kaluar jenis sato galak ieu, sarta naon pamakéan na bisa kasampak kawas dina prakna.

Ku jalan kitu, ngeunaan novelty tina istilah GitOps Survey panganyarna kami ogé nyebutkeun: leuwih ti satengah jalma surveyed teu acan dimimitian gawé bareng prinsip na.

Ku kituna, masalah manajemén infrastruktur teu anyar. Seueur panyadia awan parantos sayogi pikeun masarakat umum salami belasan taun sareng, sigana, kedah ngajantenkeun pagawéan tim anu tanggung jawab pikeun infrastruktur anu sederhana sareng lugas. Nanging, upami dibandingkeun sareng prosés pangembangan aplikasi (dimana otomatisasi ngahontal tingkat anu énggal), proyék infrastruktur masih sering ngalibetkeun seueur tugas manual sareng meryogikeun pangaweruh sareng kaahlian khusus, khususna dipasihan syarat ayeuna pikeun kasabaran kasalahan, kalenturan, skalabilitas sareng élastisitas.

Ladenan awan nyumponan sarat ieu suksés pisan sareng aranjeunna anu masihan dorongan anu penting pikeun pamekaran pendekatan IaC. Ieu kaharti. Barina ogé, aranjeunna ngamungkinkeun pikeun ngonpigurasikeun pusat data virtual lengkep: teu aya server fisik, rak, atanapi komponén jaringan; sadayana infrastruktur tiasa dijelaskeun nganggo skrip sareng file konfigurasi.

Jadi naon sabenerna bédana? GitOps от IaC? Ku patarosan ieu kuring ngamimitian panalungtikan kuring. Saatos ngobrol sareng kolega, kuring tiasa mendakan perbandingan ieu:

GitOps

IaC

Sadaya kode disimpen dina gudang git

Vérsi kode nyaéta pilihan

Déklaratif Kode Pedaran / Idempotency

Boh déskripsi déklaratif jeung imperatif bisa ditarima

Parobihan dilaksanakeun nganggo mékanisme Merge Request / Tarik Request

Kasapukan, persetujuan sareng kolaborasi mangrupikeun pilihan

Prosés rollout update otomatis

Prosés rollout update henteu standarisasi (otomatis, manual, nyalin file, nganggo garis paréntah, jsb.)

Istilah sanésna GitOps dilahirkeun persis ngaliwatan aplikasi tina prinsip IaC. Anu mimiti, infrastruktur sareng konfigurasi ayeuna tiasa disimpen dina cara anu sami sareng aplikasi. Kodeu gampang disimpen, gampang dibagikeun, ngabandingkeun, sareng nganggo kamampuan vérsi. Vérsi, cabang, sajarah. Sareng sadaya ieu di tempat anu tiasa diaksés sacara umum pikeun sadayana tim. Ku alatan éta, pamakéan sistem kontrol versi janten ngembangkeun lengkep alam. Khususna, git, salaku anu pang populerna.

Di sisi anu sanés, éta tiasa ngajadikeun otomatis prosés manajemén infrastruktur. Ayeuna ieu tiasa dilakukeun langkung gancang, langkung dipercaya sareng langkung mirah. Sumawona, prinsip CI / CD parantos dipikanyaho sareng populer di kalangan pamekar parangkat lunak. Ieu ngan diperlukeun pikeun mindahkeun jeung nerapkeun pangaweruh jeung kaahlian geus dipikawanoh ka wewengkon anyar. Prakték ieu, kumaha ogé, ngalangkungan definisi standar Infrastruktur salaku kode, ku kituna konsépna GitOps.

GitOps: kecap konci sanés atanapi terobosan dina otomatisasi?

Panasaran GitOps, tangtosna, ogé dina kanyataan yén éta téh lain produk, plugin atawa platform pakait sareng vendor wae. Éta langkung tina paradigma sareng sakumpulan prinsip, sami sareng istilah sanés anu urang wawuh: DevOps.

pausahaan GitLab kami geus ngembangkeun dua definisi istilah anyar ieu: teoritis jeung praktis. Hayu urang mimitian ku teoritis:

GitOps mangrupikeun metodologi anu nyandak prinsip DevOps pangsaéna anu dianggo pikeun pamekaran aplikasi, sapertos kontrol vérsi, kolaborasi, orkestrasi, CI/CD, sareng nerapkeunana kana tantangan ngotomatisasi manajemén infrastruktur.

Sadaya prosés GitOps Abdi damel nganggo alat anu tos aya. Kabéh kode infrastruktur disimpen dina Repository git geus akrab, parobahan ngaliwatan prosés persetujuan sarua sakumaha sagala kode program séjén, sarta prosés rollout otomatis, nu ngamungkinkeun urang pikeun ngaleutikan kasalahan manusa, ngaronjatkeun reliabiliti na reproducibility.

Ti sudut pandang praktis, urang ngajelaskeun GitOps saperti kieu:

GitOps: kecap konci sanés atanapi terobosan dina otomatisasi?

Kami parantos ngabahas infrastruktur salaku kode salaku salah sahiji komponén konci rumus ieu. Hayu urang ngawanohkeun sesa pamilon.

Ngagabung Request (ngaran alternatif Tarik Request). Dina istilah prosés, MR nyaéta pamundut pikeun nerapkeun parobahan kode teras ngahijikeun cabang. Tapi dina hal alat anu kami anggo, ieu langkung seueur kasempetan pikeun nyandak gambaran lengkep ngeunaan sagala parobihan anu dilakukeun: henteu ngan ukur bédana kode anu dikumpulkeun tina sababaraha komitmen, tapi ogé kontéks, hasil tés, sareng hasil ekspektasi ahir. Lamun urang ngobrol ngeunaan kode infrastruktur, urang museurkeun kumaha persis infrastruktur bakal robah, sabaraha sumberdaya anyar bakal ditambahkeun atawa dihapus, robah. Preferably dina sababaraha leuwih merenah tur gampang maca format. Pikeun panyadia awan, éta mangrupakeun ide nu sae pikeun nyaho naon dampak finansial tina parobahan ieu bakal.

Tapi MR oge sarana kolaborasi, interaksi, jeung komunikasi. Tempat dimana sistem cék sareng kasaimbangan dimaénkeun. Ti komentar basajan pikeun approvals formal sarta approvals.

Nya, komponén terakhir: CI / CD, sakumaha anu parantos urang terang, ngamungkinkeun pikeun ngajadikeun otomatis prosés parobihan sareng uji infrastruktur (tina pamariksaan sintaksis anu sederhana dugi ka analisis kode statik anu langkung kompleks). Sareng ogé dina deteksi drift anu salajengna: bédana antara kaayaan sistem anu nyata sareng anu dipikahoyong. Contona, salaku hasil tina parobahan manual diidinan atawa gagalna sistem.

Enya, istilahna GitOps teu ngenalkeun kami nanaon lengkep anyar, teu reinvent kabayang, tapi saukur nerapkeun pangalaman geus akumulasi di wewengkon anyar. Tapi ieu tempat kakuatanana perenahna.

Tur upami Anjeun salah ujug-ujug jadi kabetot dina kumaha ieu sadayana kasampak dina prakna, teras kuring ngajak anjeun kasampak di urang kelas master, dimana kuring nyarioskeun anjeun léngkah-léngkah kumaha ngagunakeun GitLab:

  • Nerapkeun prinsip dasar GitOps

  • Jieun sareng jieun perobahan kana infrastruktur awan (nganggo conto Yandex Cloud)

  • Otomatis deteksi drift sistem tina kaayaan anu dipikahoyong nganggo ngawaskeun aktip

GitOps: kecap konci sanés atanapi terobosan dina otomatisasi?https://bit.ly/34tRpwZ

sumber: www.habr.com

Tambahkeun komentar