GitOps: kas see on uus trend või jõudmine automaatimisse?

GitOps: kas see on uus trend või jõudmine automaatimisse?

Enamik meist, märkates IT blogides või konverentsidel uut terminit, küsib varem või hiljem endalt: "Mis see on? Järjekordne moesõna või tõeliselt midagi väärt, mis väärib tähelepanu, uurimist ja lubab uusi silmaringe?" Sama juhtus ka minuga mõni aeg tagasi terminiga GitOps . Varustatud hulga olemasolevate artiklite ja ka kolleegide teadmistega ettevõttest GitLab, püüdsin aru saada, mis see loom on ja kuidas selle rakendamine võiks praktikas välja näha.

Muide, termini uudset kohta tõendab ka meie hiljutine küsitlus: üle poole küsitletutest ei ole veel alustanud selle põhimõtete rakendamist. GitOps Seega ei ole infrastruktuuri juhtimise probleem uus. Paljud pilveteenuste pakkujad on olnud avalikkuse käeulatuses juba üle kümne aasta ja tundub, et nad peaksid olema teinud infrastruktuuri meeskondade töö lihtsaks ja vaevatuks. Siiski, võrreldes rakenduste arendamise protsessiga (kus automatiseerimise tase saavutab pidevalt uusi kõrgusi), hõlmavad infrastruktuuri projektid endiselt sageli palju käsitsi teostatavaid ülesandeid ning vajavad eriteadmisi ja spetsialiste, eriti arvestades tänapäeva nõudeid töökindlusele, paindlikkusele, skaleeritavusele ja elastssusele.

Pilveteenused on neid nõudeid väga hästi täitnud ja just nemad on andnud olulise tõuke lähenemise arendusele

IaC . See on arusaadav. Lõppude lõpuks, just nemad andsid võimaluse konfigureerida täielikult virtuaalne andmekeskus: füüsilisi servereid, riiuleid, võrgu komponente ei ole ning kogu infrastruktuuri saab kirjeldada skriptide ja konfiguratsioonifailide abil.Nii et milles seisneb erinevus?

Kood on salvestatud git-repositooriumisse. GitOps alates . See on arusaadav. Lõppude lõpuks, just nemad andsid võimaluse konfigureerida täielikult virtuaalne andmekeskus: füüsilisi servereid, riiuleid, võrgu komponente ei ole ning kogu infrastruktuuri saab kirjeldada skriptide ja konfiguratsioonifailide abil.? Именно с этого вопроса я и начал свое расследование. Пообщавшись с коллегами, у меня получилось выработать следующее сравнение:

GitOps

. See on arusaadav. Lõppude lõpuks, just nemad andsid võimaluse konfigureerida täielikult virtuaalne andmekeskus: füüsilisi servereid, riiuleid, võrgu komponente ei ole ning kogu infrastruktuuri saab kirjeldada skriptide ja konfiguratsioonifailide abil.

Koodi versioonimine ei ole kohustuslik.

Deklaratiivne koodi kirjeldamine / Idempotentsus

Lubatud on nii deklaratiivne kui ka imperatiivne kirjeldamine.

Muudatused jõustuvad, kasutades Merge Request / Pull Request mehhanisme.

Kokkulepped, kinnitamine ja koostöö ei ole kohustuslikud.

Uuenduste väljaandmise protsess on automatiseeritud.

Uuenduste väljaandmise protsess ei ole normeeritud (automaatne, käsitsi, failide kopeerimine, käsurea kasutamine jne).

Teisisõnu,

sündis tänu põhimõtete rakendamisele. GitOps sündis just tänu põhimõtete rakendamisele . See on arusaadav. Lõppude lõpuks, just nemad andsid võimaluse konfigureerida täielikult virtuaalne andmekeskus: füüsilisi servereid, riiuleid, võrgu komponente ei ole ning kogu infrastruktuuri saab kirjeldada skriptide ja konfiguratsioonifailide abil.. Esiteks, infrastruktuuri ja konfiguratsioonide salvestamine on nüüd võimalik täpselt sama moodi nagu rakenduste. Koodi on lihtne salvestada, jagada, võrrelda ja kasutada versioonihaldamise võimalusi. Versioonid, harud, ajalugu. Ja kõik see on kergesti ligipääsetav kogu tiimile. Seetõttu on ilmne arendus olnud versioonihaldussüsteemide kasutusele võtmine. Eriti git, kui kõige populaarsem.

Teiselt poolt on tekkinud võimalus automatiseerida infrastruktuuri haldustooted. Nüüd on see võimalik kiiremini, usaldusväärsemalt ja odavamalt. Eriti kuna CI / CD põhimõtted olid juba tuntud ja populaarsed tarkvaraarendajate seas. Kõik, mis oli vajalik, oli ainult juba tuntud teadmiste ja oskuste kandmine ja rakendamine uues valdkonnas. Need praktikad ulatusid siiski kaugemale infrastruktuuri kui koodi standardmääratlusest, seetõttu tekkis mõisted. GitOps.

GitOps: kas see on uus trend või jõudmine automaatimisse?

Uudishimu GitOps, muidugi, seisneb ka selles, et see ei ole toode, pistikprogramm või platvorm, mis oleks seotud mõne vändoriga. See on pigem paradigma ja põhimõtete kogum, sarnaselt tuntud terminile: DevOps.

Ettevõttes GitLab Oleme välja töötanud kaks selle uue termini määratlust: teoreetiline ja praktiline. Alustame teoreetilisest:

GitOps on metodoloogia, mis kasutab DevOps-i edasijõudnud põhimõtteid rakenduste arendamiseks, nagu versioonihaldus, koostöö, kooskõlastamine ja CI / CD, ning rakendab neid infrastruktuuri halduse automatiseerimise ülesannete lahendamiseks.

Kõik protsessid GitOps töötavad olemasolevate tööriistadega. Kogu infrastruktuuri kood on salvestatud juba tuttavasse git-repositooriumisse, muudatused läbivad sama kooskõlastamisprotsessi nagu ükskõik milline muu programmikood ning juurutamisprotsess on automatiseeritud, mis aitab vähendada inimfaktori vigu, suurendada usaldusväärsust ja korduvust.

Praktilisest vaatenurgast oleme me kirjeldanud GitOps järgmiselt:

GitOps: kas see on uus trend või jõudmine automaatimisse?

Infrastruktuuri kui kood oleme me juba arutanud, kui üks selle valemi võtmeelemente. Vaatame üle ülejäänud osalised.

Merge Request (alternatiivne nimi Pull Request). MR protsessi kontekstis on see koodimuudatuste rakendamise ja harude liitmise taotlus. Kuid tööriistade osas, mida kasutame - see on pigem võimalus näha kõiki tehtud muudatusi täielikku pilti: mitte ainult koodi erinevust, mis on koostatud mitmest commit-ist, vaid ka konteksti, testitulemusi ja oodatavat lõpptulemust. Kui räägime infrastruktuuri koodist, siis on oluline teada, kuidas infrastruktuur muutub, kui palju uusi ressursse lisatakse või eemaldatakse, ja millised muutused toimuvad. Soovitatav on, et see oleks esitatud mõnes mugavamas ja kergemini loetavas formaadis. Pilveteenuste pakkujate puhul oleks ka hea teada, millised finantsmõjud see muudatus toob.

Kuid MR on ka koostöö, vastastikuse tegevuse ja suhtlemise vahend. See on koht, kus hakkavad tööle tasakaalu ja vastastikuse kontrolli süsteem. Alates lihtsatest kommentaaridest kuni ametlike kinnituste ja heakskiitmisteni.

Ja viimane komponent: CI/CD annab meile võimaluse automatiseerida infrastruktuuri muudatuste, testimise (alates lihtsast süntaksikontrollist kuni keerukama staatilise koodi analüüsini) protsessi. Samuti võimaldab see hiljem avastada triivi: erinevusi reaalse ja soovitud süsteemi oleku vahel. Näiteks mitteametlike käsitsi tehtud muudatuste või süsteemide tõrgete tõttu.

Jah, termin GitOps ei tutvusta meid millegagi täiesti uuega, ei leiuta jalgratast, vaid rakendab lihtsalt juba kogutud kogemusi uues valdkonnas. Kuid just selles seisneb tema jõud.

Ja kui teid äkki huvitab, kuidas see kõik praktikas välja näeb, kutsun teid vaatama meie meistriklassi, kus ma samm-sammult räägin, kuidas GitLab-i abil:

  • Rakendada GitOps põhialuseid

  • Luua ja teha muudatusi pilvine infrastruktuuris (Yandex Cloud'i näitel)

  • Automatiseerida süsteemi triivi avastamine soovitud olekust aktiivse jälgimise kaudu

GitOps: kas see on uus trend või jõudmine automaatimisse?https://bit.ly/34tRpwZ

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster