GitOps: як калимаи дигар ё пешрафт дар автоматизатсия?

GitOps: як калимаи дигар ё пешрафт дар автоматизатсия?

Аксарияти мо, ки боз як истилоҳи навро дар блогосфераи IT ё конфронс мушоҳида карда, дер ё зуд чунин саволро медиҳем: «Ин чист? Танҳо як калимаи дигар, "воқеъ" ё чизе, ки воқеан қобили таваҷҷӯҳи ҷиддӣ ба он, омӯхтан ва ояндаи уфуқҳои нав аст? Бо истилоҳ низ ҳамин чиз рӯй дод GitOps чанд вакт пеш. Бо бисёр мақолаҳои мавҷуда, инчунин дониши ҳамкасбони ширкат муҷаҳҳаз шудааст Гуглаб, Ман кушиш кардам фахмам, ки ин чй гуна хайвон аст ва истифодаи он дар амал чй гуна буда метавонад.

Зимнан, дар бораи навоварии истилох GitOps Назарсанҷии ахири мо низ мегӯяд: бештар аз нисфи пурсидашудагон ҳанӯз ба кор бо принсипҳои он шурӯъ накардаанд.

Пас, проблемаи идоракунии инфраструктура нав нест. Бисёре аз провайдерҳои абрӣ дар тӯли даҳсолаҳои хуб барои омма дастрас буданд ва ба назар чунин мерасид, ки бояд кори дастаҳои масъули инфрасохторро содда ва содда мекард. Аммо, вақте ки дар муқоиса бо раванди таҳияи барномаҳо (ки дар он ҷо автоматизатсия ба сатҳи нав мерасад), лоиҳаҳои инфрасохторӣ ҳоло ҳам аксар вақт вазифаҳои зиёди дастиро дар бар мегиранд ва дониш ва таҷрибаи махсусро талаб мекунанд, хусусан бо назардошти талаботи имрӯза барои таҳаммулпазирӣ, чандирӣ, миқёспазирӣ ва чандирӣ.

Хидматҳои абрӣ ин талаботро хеле бомуваффақият иҷро карданд ва маҳз онҳо ба рушди равиш такони ҷиддӣ доданд IaC. Ин фахмост. Дар ниҳоят, онҳо имкон доданд, ки як маркази маълумоти виртуалии комилан маҷозӣ танзим карда шаванд: серверҳои физикӣ, рафҳо ё ҷузъҳои шабакавӣ вуҷуд надоранд; тамоми инфрасохторро бо истифода аз скриптҳо ва файлҳои конфигуратсия тавсиф кардан мумкин аст.

Пас, фарқият дар чист? GitOps аз он IaC? Маҳз бо ҳамин савол ман таҳқиқи худро оғоз кардам. Пас аз сӯҳбат бо ҳамкорон ман тавонистам муқоисаи зеринро ба даст орам:

GitOps

IaC

Ҳама кодҳо дар анбори git нигоҳ дошта мешаванд

Навсозии код ихтиёрӣ аст

Тавсифи Кодекси декларативӣ / Имконият

Ҳам тавсифи декларативӣ ва ҳам императивӣ қобили қабуланд

Тағирот бо истифода аз механизмҳои муттаҳидсозии дархост / кашидани дархост эътибор пайдо мекунанд

Созишнома, тасдиқ ва ҳамкорӣ ихтиёрӣ мебошанд

Раванди навсозӣ автоматӣ карда мешавад

Раванди паҳнкунии навсозӣ стандартизатсия нашудааст (автоматӣ, дастӣ, нусхабардории файлҳо, бо истифода аз сатри фармон ва ғ.)

Ба ибораи дигар GitOps махз тавассути татбики принципхо ба вучуд омадааст IaC. Аввалан, инфрасохтор ва конфигуратсияҳо ҳоло метавонистанд ҳамон тавре ки барномаҳо нигоҳ дошта шаванд. Рамзро нигоҳ доштан, мубодила кардан, муқоиса кардан ва истифодаи қобилиятҳои нусхабардорӣ осон аст. Версияҳо, филиалҳо, таърих. Ва ҳамаи ин дар ҷое, ки барои тамоми даста дастрас аст. Аз ин рӯ, истифодаи системаҳои идоракунии версия як инкишофи комилан табиӣ гардид. Аз ҷумла, git, ҳамчун маъмултарин.

Аз тарафи дигар, автоматикунонии равандҳои идоракунии инфрасохтор имконпазир гардид. Акнун ин корро тезтар, боэътимодтар ва арзонтар кардан мумкин аст. Ғайр аз он, принсипҳои CI / CD аллакай дар байни таҳиягарони нармафзор маълум ва маъмул буданд. Фақат донишу малакаҳои маълумро ба соҳаи нав интиқол додан ва татбиқ кардан лозим буд. Аммо, ин таҷрибаҳо аз таърифи стандартии Инфрасохтор ҳамчун код, аз ин рӯ консепсия берун буданд GitOps.

GitOps: як калимаи дигар ё пешрафт дар автоматизатсия?

кунҷковӣ GitOps, албатта, инчунин дар он аст, ки он маҳсулот, плагин ё платформаи марбут ба ягон фурӯшанда нест. Ин бештар як парадигма ва маҷмӯи принсипҳо мебошад, ки ба истилоҳи дигаре, ки мо бо он ошно ҳастем: DevOps.

Дар ширкат Гуглаб мо ду таърифи ин истилохи навро кор карда баромадем: назариявй ва амалй. Биёед бо назариявӣ оғоз кунем:

GitOps методологияест, ки беҳтарин принсипҳои DevOps-ро, ки барои таҳияи барномаҳо истифода мешаванд, ба мисли назорати версия, ҳамкорӣ, оркестрсозӣ, CI/CD мегирад ва онҳоро ба мушкилоти автоматикунонии идоракунии инфрасохтор татбиқ мекунад.

Ҳама равандҳо GitOps Ман бо истифода аз асбобҳои мавҷуда кор мекунам. Ҳама рамзи инфрасохтор дар анбори git-и аллакай шинос нигоҳ дошта мешавад, тағиротҳо бо ҳамон як раванди тасдиқи ҳама гуна коди барнома мегузарад ва раванди паҳнкунӣ автоматӣ карда мешавад, ки ба мо имкон медиҳад, ки хатогиҳои инсониро кам карда, эътимоднокӣ ва такрориро зиёд кунем.

Аз нуктаи назари амалй мо тавсиф мекунем GitOps чунин аст:

GitOps: як калимаи дигар ё пешрафт дар автоматизатсия?

Мо аллакай инфрасохторро ҳамчун код ҳамчун яке аз ҷузъҳои асосии ин формула баррасӣ кардем. Биёед боқимондаи иштирокчиёнро шинос кунем.

Якҷоя дархост (номи алтернативии Pull Request). Дар истилоҳи раванд, MR дархост барои татбиқи тағироти код ва сипас якҷоя кардани филиалҳо мебошад. Аммо дар робита ба абзорҳое, ки мо истифода мебарем, ин имконияти бештар барои гирифтани тасвири мукаммал дар бораи ҳамаи тағиротҳои анҷомдодашуда мебошад: на танҳо коди аз шумораи муайяни ӯҳдадориҳо ҷамъоварӣшуда, балки контекст, натиҷаҳои санҷиш ва натиҷаи ниҳоии интизорӣ. Агар сухан дар бораи кодекси инфраструктура равад, пас мо манфиатдорем, ки инфрасохтор чӣ гуна тағир меёбад, чӣ қадар захираҳои нав илова карда мешаванд ё хориҷ карда мешаванд, тағир дода мешаванд. Беҳтараш дар формати қулайтар ва барои хондан осонтар. Барои провайдерҳои абрӣ, хуб аст, ки бидонед, ки таъсири молиявии ин тағирот чӣ гуна хоҳад буд.

Аммо MR инчунин як воситаи ҳамкорӣ, ҳамкорӣ ва муошират аст. Ҷое, ки дар он системаи тафтиш ва мувозина ба кор медарояд. Аз шарҳҳои оддӣ то тасдиқ ва тасдиқҳои расмӣ.

Хуб, ҷузъи охирин: CI/CD, тавре ки мо аллакай медонем, имкон медиҳад, ки раванди ворид кардани тағирот дар инфрасохтор ва санҷиш автоматӣ карда шавад (аз санҷиши оддии синтаксис то таҳлили мураккабтари коди статикӣ). Ва инчунин дар ошкорсозии минбаъдаи дрейф: фарқияти байни ҳолати воқеӣ ва дилхоҳи система. Масалан, дар натиҷаи тағироти дастӣ беиҷозат ё нокомии система.

Бале, истилоҳ GitOps моро бо чизи тамоман нав шинос намекунад, чархро аз нав ихтироъ намекунад, балки тачрибаи аллакай чамъшударо дар майдони нав ба кор мебарад. Аммо кувваи вай дар ин чост.

Ва агар шумо ногаҳон шавқ пайдо кунед, ки ин ҳама дар амал чӣ гуна аст, ман шуморо даъват мекунам, ки ба мо назар кунед синфи миёна, ки дар он ман ба шумо қадам ба қадам мегӯям, ки чӣ тавр истифода бурдани GitLab:

  • Татбиқи принсипҳои асосии GitOps

  • Эҷод ва ворид кардани тағирот ба инфрасохтори абрӣ (бо истифода аз мисоли Yandex Cloud)

  • Бо истифода аз мониторинги фаъол автоматикунонии муайянкунии дуршавии системаро аз ҳолати дилхоҳ

GitOps: як калимаи дигар ё пешрафт дар автоматизатсия?https://bit.ly/34tRpwZ

Манбаъ: will.com

Илова Эзоҳ