GitOps: laing buzzword o usa ka kalampusan sa automation?

GitOps: laing buzzword o usa ka kalampusan sa automation?

Kadaghanan kanato, nga nakamatikod sa laing bag-ong termino sa IT blogosphere o komperensya, sa madugay o sa madali mangutana sa susama nga pangutana: "Unsa man kini? Lain lang nga buzzword, usa ka "buzzword" o usa ka butang nga angayan nga hatagan ug pagtagad, pagtuon ug saad sa mga bag-ong kapunawpunawan?" Ang sama nga nahitabo kanako sa termino GitOps kaniadto. Armado sa daghang mga kasamtangan nga mga artikulo, ingon man ang kahibalo sa mga kauban gikan sa kompanya GitLab, Gisulayan nako nga mahibal-an kung unsang matanga kini nga mananap, ug kung unsa ang hitsura niini sa praktis.

Pinaagi sa dalan, mahitungod sa kabag-ohan sa termino GitOps Ang among bag-o nga survey nag-ingon usab: labaw sa katunga sa mga gisurbi wala pa magsugod sa pagtrabaho sa mga prinsipyo niini.

Busa, ang problema sa pagdumala sa imprastraktura dili bag-o. Daghang mga cloud providers ang anaa na sa kinatibuk-ang publiko sulod sa usa ka dosena nga mga tuig ug, kini daw, kinahanglan nga himoon ang trabaho sa mga team nga responsable sa imprastraktura nga yano ug prangka. Bisan pa, kung itandi sa proseso sa pag-uswag sa aplikasyon (diin ang automation nag-abut sa bag-ong lebel), ang mga proyekto sa imprastraktura kanunay nga naglambigit sa daghang mga manual nga buluhaton ug nanginahanglan espesyal nga kahibalo ug kahanas, labi na gihatagan ang mga kinahanglanon karon alang sa pagtugot sa sayup, pagka-flexible, scalability ug pagkamaunat.

Ang mga serbisyo sa Cloud nagtuman sa kini nga mga kinahanglanon nga malampuson ug sila ang naghatag usa ka hinungdanon nga pagdasig sa pag-uswag sa pamaagi Ang IaC. Kini masabtan. Pagkahuman, gihimo nila nga posible nga ma-configure ang usa ka hingpit nga virtual data center: wala’y pisikal nga mga server, rack, o mga sangkap sa network; ang tibuuk nga imprastraktura mahimong mahulagway gamit ang mga script ug mga file sa pag-configure.

Busa unsa man gyud ang kalainan? GitOps gikan sa Ang IaC? Niini nga pangutana nga akong gisugdan ang akong imbestigasyon. Human sa pagpakigsulti sa mga kauban, nakahimo ako sa paghimo sa mosunod nga pagtandi:

GitOps

Ang IaC

Ang tanan nga code gitipigan sa usa ka git repository

Opsyonal ang pag-bersyon sa code

Deklarasyon sa Kodigo sa Deklarasyon / Idempotency

Ang mga declarative ug imperative nga mga deskripsyon madawat

Ang mga pagbag-o adunay epekto gamit ang Merge Request / Pull Request nga mga mekanismo

Ang kasabutan, pag-uyon ug kolaborasyon kay opsyonal

Ang proseso sa pag-update sa rollout awtomatiko

Ang proseso sa pag-update sa rollout dili standardized (awtomatiko, manwal, pagkopya sa mga file, gamit ang command line, ug uban pa)

Sa laing pagkasulti GitOps natawo sa tukma pinaagi sa paggamit sa mga prinsipyo Ang IaC. Una, ang mga imprastraktura ug mga pag-configure mahimo nang tipigan sa parehas nga paagi sama sa mga aplikasyon. Ang code dali nga tipigan, dali nga ipaambit, itandi, ug gamiton ang mga kapabilidad sa pag-bersyon. Mga bersyon, mga sanga, kasaysayan. Ug kining tanan sa usa ka lugar nga ma-access sa publiko sa tibuuk nga team. Busa, ang paggamit sa mga sistema sa pagkontrol sa bersyon nahimong hingpit nga natural nga kalamboan. Sa partikular, git, ingon nga ang labing popular.

Sa laing bahin, nahimong posible ang pag-automate sa mga proseso sa pagdumala sa imprastraktura. Karon kini mahimo nga mas paspas, mas kasaligan ug mas barato. Dugang pa, ang mga prinsipyo sa CI / CD nahibal-an na ug popular sa mga nag-develop sa software. Gikinahanglan lamang ang pagbalhin ug paggamit sa nahibal-an na nga kahibalo ug kahanas sa usa ka bag-ong lugar. Kini nga mga gawi, bisan pa, milapas sa sukaranan nga kahulugan sa Infrastructure isip code, busa ang konsepto GitOps.

GitOps: laing buzzword o usa ka kalampusan sa automation?

Pagkakuryuso GitOps, siyempre, usab sa kamatuoran nga kini dili usa ka produkto, plugin o plataporma nga nakig-uban sa bisan unsa nga vendor. Kini labaw pa sa usa ka paradigm ug usa ka hugpong sa mga prinsipyo, susama sa laing termino nga pamilyar nato: DevOps.

Sa kompaniya GitLab nakahimo kami og duha ka kahulugan niining bag-ong termino: teoretikal ug praktikal. Magsugod kita sa teoretikal:

Ang GitOps usa ka pamaagi nga nagkuha sa labing kaayo nga mga prinsipyo sa DevOps nga gigamit alang sa pagpalambo sa aplikasyon, sama sa pagkontrol sa bersyon, kolaborasyon, orkestra, CI/CD, ug gipadapat kini sa mga hagit sa pag-automate sa pagdumala sa imprastraktura.

Tanan nga proseso GitOps Nagtrabaho ko gamit ang kasamtangan nga mga himan. Ang tanan nga code sa imprastraktura gitipigan sa pamilyar na nga git repository, ang mga pagbag-o moagi sa parehas nga proseso sa pag-apruba sama sa bisan unsang uban nga code sa programa, ug ang proseso sa pag-rollout awtomatiko, nga nagtugot kanamo nga maminusan ang mga sayup sa tawo, madugangan ang kasaligan ug pag-reproducibility.

Gikan sa praktikal nga punto sa panglantaw, atong gihulagway GitOps ingon sa mosunod:

GitOps: laing buzzword o usa ka kalampusan sa automation?

Nahisgotan na namo ang imprastraktura isip code isip usa sa mga importanteng sangkap niini nga pormula. Atong ipaila ang uban nga mga partisipante.

Paghiusa sa Paghangyo (alternatibo nga ngalan nga Paghangyo sa Pagbitad). Sa mga termino sa proseso, ang MR usa ka hangyo nga i-apply ang mga pagbag-o sa code ug dayon i-merge ang mga sanga. Apan sa termino sa mga himan nga atong gigamit, kini mao ang labaw pa sa usa ka oportunidad sa pagkuha sa usa ka kompleto nga hulagway sa tanan nga mga kausaban nga gihimo: dili lamang ang code diff nakolekta gikan sa usa ka piho nga gidaghanon sa mga commit, apan usab sa konteksto, mga resulta sa pagsulay, ug ang katapusang gipaabot nga resulta. Kung naghisgot kami bahin sa code sa imprastraktura, nan interesado kami kung giunsa ang pagbag-o sa imprastraktura, pila ka bag-ong kahinguhaan ang idugang o tangtangon, gibag-o. Mas maayo sa pipila nga mas kombenyente ug dali basahon nga pormat. Para sa mga cloud providers, maayong ideya nga mahibal-an kung unsa ang epekto sa pinansyal sa kini nga pagbag-o.

Apan ang MR usa usab ka paagi sa kolaborasyon, interaksyon, ug komunikasyon. Ang dapit diin ang sistema sa checks and balances naglihok. Gikan sa yano nga mga komento hangtod sa pormal nga pag-apruba ug pag-apruba.

Aw, ang katapusan nga bahin: CI / CD, ingon sa nahibal-an na naton, nagpaposible sa pag-automate sa proseso sa paghimo sa mga pagbag-o sa imprastraktura ug pagsulay (gikan sa yano nga pagsusi sa syntax hangtod sa labi ka komplikado nga pagtuki sa static code). Ug usab sa sunod-sunod nga pagkakita sa drift: mga kalainan tali sa tinuod ug gitinguha nga kahimtang sa sistema. Pananglitan, ingon usa ka sangputanan sa dili awtorisado nga pagbag-o sa manual o pagkapakyas sa sistema.

Oo, ang termino GitOps wala nagpaila kanato sa bisan unsa nga bag-o nga butang, wala magbag-o sa ligid, apan gigamit lamang ang natipon na nga kasinatian sa usa ka bag-ong lugar. Apan dinhi nahimutang ang iyang kusog.

Ug kung kalit ka nga mahimong interesado kung giunsa kini tan-awon sa praktis, unya gidapit ko ikaw sa pagtan-aw sa among agalon nga klase, diin gisultihan ko ikaw sa matag lakang kung giunsa paggamit ang GitLab:

  • Ipatuman ang sukaranang mga prinsipyo sa GitOps

  • Paghimo ug paghimo mga pagbag-o sa imprastraktura sa panganod (gamit ang pananglitan sa Yandex Cloud)

  • I-automate ang pag-detect sa pag-anod sa sistema gikan sa gusto nga estado gamit ang aktibong pag-monitor

GitOps: laing buzzword o usa ka kalampusan sa automation?https://bit.ly/34tRpwZ

Source: www.habr.com

Idugang sa usa ka comment