GitOps: yon lòt mo oswa yon zouti nan automatisation?

GitOps: yon lòt mo oswa yon zouti nan automatisation?

Pifò nan nou, remake yon lòt nouvo tèm nan blogosfè a oswa konferans IT, pi bonè oswa pita poze yon kesyon ki sanble: "Ki sa sa a? Jis yon lòt mo, yon "mo" oswa yon bagay ki vrèman merite atansyon, etid ak pwomès nouvo orizon? Menm bagay la te rive m 'ak tèm nan GitOps kèk tan de sa. Ame ak anpil atik ki egziste deja, osi byen ke konesans nan kòlèg nan konpayi an GitLab, Mwen te eseye konnen ki kalite bèt sa a ye, ak kisa itilizasyon li yo ta ka sanble nan pratik.

By wout la, sou kado a nan tèm nan GitOps Sondaj resan nou an di tou: plis pase mwatye nan moun ki fè sondaj yo poko kòmanse travay ak prensip li yo.

Donk, pwoblèm nan jesyon enfrastrikti pa nouvo. Anpil founisè nwaj yo te disponib pou piblik la an jeneral pou yon bon douzèn ane epi, li ta sanble, yo ta dwe fè travay la nan ekip yo responsab pou enfrastrikti a senp ak senp. Sepandan, lè yo konpare ak pwosesis devlopman aplikasyon an (kote automatisation ap rive nan nivo tout tan nouvo), pwojè enfrastrikti toujou souvan enplike anpil travay manyèl epi yo mande konesans espesyalize ak ekspètiz, espesyalman bay kondisyon jodi a pou tolerans fay, fleksibilite, évolutivité ak elastisite.

Sèvis Cloud satisfè kondisyon sa yo avèk anpil siksè e se yo ki te bay yon gwo UN nan devlopman apwòch la. IaC. Sa a se konprann. Apre yo tout, yo te fè li posib yo konfigirasyon yon sant done konplètman vityèl: pa gen okenn sèvè fizik, manto, oswa konpozan rezo; tout enfrastrikti a ka dekri lè l sèvi avèk scripts ak dosye konfigirasyon.

Se konsa, ki sa egzakteman se diferans lan? GitOps soti nan IaC? Se ak kesyon sa a ke mwen te kòmanse envestigasyon mwen an. Apre m fin pale ak kòlèg yo, mwen te kapab vini ak konparezon sa a:

GitOps

IaC

Tout kòd yo estoke nan yon depo git

Kòd vèsyon opsyonèl

Deklarasyon Kòd Deskripsyon / Idempotity

Tou de deskripsyon deklaratif ak enperatif yo akseptab

Chanjman yo pran efè lè l sèvi avèk mekanis Merge Request / Pull Request

Akò, apwobasyon ak kolaborasyon yo opsyonèl

Pwosesis dewoulman aktyalizasyon a otomatik

Pwosesis dewoulman aktyalizasyon a pa ofisyèl (otomatik, manyèl, kopye fichye, lè l sèvi avèk liy lòd la, elatriye)

Nan yon lòt sans GitOps te fèt jisteman nan aplikasyon an nan prensip yo IaC. Premyèman, enfrastrikti ak konfigirasyon kapab kounye a dwe estoke nan menm fason an ak aplikasyon yo. Kòd la fasil pou konsève, fasil pou pataje, konpare, epi sèvi ak kapasite vèsyon. Vèsyon, branch, istwa. Ak tout sa a nan yon kote piblikman aksesib a tout ekip la. Se poutèt sa, itilize nan sistèm kontwòl vèsyon te vin tounen yon devlopman konplètman natirèl. An patikilye, git, kòm pi popilè a.

Nan lòt men an, li te vin posib otomatize pwosesis jesyon enfrastrikti. Koulye a, sa a ka fè pi vit, plis fiable ak pi bon mache. Anplis, prensip yo nan CI / CD yo te deja li te ye ak popilè nan mitan devlopè lojisyèl. Li te sèlman nesesè yo transfere ak aplike konesans ak konpetans deja konnen nan yon nouvo zòn. Pratik sa yo, sepandan, te ale pi lwen pase definisyon estanda nan Enfrastrikti kòm kòd, pakonsekan konsèp la GitOps.

GitOps: yon lòt mo oswa yon zouti nan automatisation?

Kiryozite GitOps, nan kou, tou nan lefèt ke li se pa yon pwodwi, plugin oswa platfòm ki asosye ak nenpòt machann. Li se plis nan yon paradigm ak yon seri prensip, menm jan ak yon lòt tèm nou abitye avèk: DevOps.

Konpayi an GitLab nou devlope de definisyon nouvo tèm sa a: teyorik ak pratik. Ann kòmanse ak teyorik la:

GitOps se yon metodoloji ki pran pi bon prensip DevOps yo itilize pou devlopman aplikasyon, tankou kontwòl vèsyon, kolaborasyon, òkestrasyon, CI/CD, epi aplike yo nan defi otomatize jesyon enfrastrikti.

Tout pwosesis GitOps Mwen travay lè l sèvi avèk zouti ki egziste deja. Tout kòd enfrastrikti yo estoke nan depo git ki deja abitye, chanjman yo pase nan menm pwosesis apwobasyon ak nenpòt lòt kòd pwogram, epi pwosesis dewoulman an otomatize, sa ki pèmèt nou minimize erè imen, ogmante fyab ak repwodibilite.

Soti nan yon pwen de vi pratik, nou dekri GitOps jan sa a:

GitOps: yon lòt mo oswa yon zouti nan automatisation?

Nou te deja diskite sou enfrastrikti kòm kòd kòm youn nan eleman kle nan fòmil sa a. Ann prezante rès patisipan yo.

Merge Request (non altènatif Pull Request). An tèm pwosesis, MR se yon demann pou aplike chanjman kòd ak Lè sa a, rantre branch yo. Men, an tèm de zouti nou itilize yo, sa a se plis nan yon opòtinite yo jwenn yon foto konplè sou tout chanjman yo te fè yo: non sèlman kòd la diferans kolekte nan yon sèten kantite komite, men tou, kontèks la, rezilta tès yo, ak la. rezilta final espere. Si nou ap pale de kòd enfrastrikti, Lè sa a, nou enterese nan ki jan egzakteman enfrastrikti a pral chanje, konbyen nouvo resous yo pral ajoute oswa retire, chanje. De preferans nan kèk fòma ki pi pratik ak fasil pou li. Pou founisè nwaj yo, li bon pou konnen ki enpak finansye chanjman sa a pral genyen.

Men, MR se tou yon mwayen pou kolaborasyon, entèraksyon, ak kominikasyon. Kote sistèm chèk ak balans lan antre nan jwèt. Soti nan kòmantè senp yo apwobasyon fòmèl ak apwobasyon.

Oke, dènye eleman an: CI/CD, jan nou deja konnen, fè li posib otomatize pwosesis la nan fè chanjman enfrastrikti ak tès (soti nan chèk sentaks senp nan analiz kòd estatik pi konplèks). Epi tou nan deteksyon an ki vin apre nan drift: diferans ki genyen ant eta a reyèl ak vle nan sistèm nan. Pou egzanp, kòm yon rezilta nan chanjman manyèl san otorizasyon oswa echèk sistèm.

Wi, tèm nan GitOps pa prezante nou anyen konplètman nouvo, pa reenvante volan an, men tou senpleman aplike eksperyans ki deja akimile nan yon nouvo zòn. Men, sa a se kote fòs li kouche.

Men, si ou toudenkou vin enterese nan ki jan sa a tout sanble nan pratik, Lè sa a, mwen envite ou gade nan nou an klas mèt la, nan ki mwen di ou etap pa etap ki jan yo sèvi ak GitLab:

  • Aplike prensip debaz yo nan GitOps

  • Kreye epi fè chanjman nan enfrastrikti nwaj la (sèvi ak egzanp Yandex Cloud)

  • Otomatize deteksyon sistèm derive soti nan yon eta vle lè l sèvi avèk siveyans aktif

GitOps: yon lòt mo oswa yon zouti nan automatisation?https://bit.ly/34tRpwZ

Sous: www.habr.com

Add nouvo kòmantè