GitOps: un altru buzzword o una svolta in l'automatizazione?

GitOps: un altru buzzword o una svolta in l'automatizazione?

A maiò parte di noi, nutendu un altru termu novu in a blogosfera IT o cunferenza, prima o dopu dumandà una quistione simili: "Chì hè questu? Solu un altru buzzword, una "buzzword" o qualcosa veramente degne d'attenzione, studiu è prumessa di novi orizonti? A listessa cosa hè accaduta à mè cù u terminu GitOps qualchì tempu fà. Armatu cù parechji articuli esistenti, è ancu a cunniscenza di i culleghi di a cumpagnia GitLab, Aghju pruvatu à capisce chì tipu di bestia hè questu, è ciò chì u so usu pò esse in a pratica.

Per via, nantu à a novità di u terminu GitOps A nostra indagine recente dice ancu: più di a mità di quelli indagati ùn anu ancu cuminciatu à travaglià cù i so principii.

Dunque, u prublema di a gestione di l'infrastruttura ùn hè micca novu. Parechji fornitori di nuvola sò stati dispunibuli per u publicu generale per una bona decina d'anni è, pare, duverebbe fà u travagliu di e squadre rispunsevuli di l'infrastruttura simplice è simplice. Tuttavia, paragunatu à u prucessu di sviluppu di l'applicazioni (induve l'automatizazione ghjunghje à livelli sempre novi), i prughjetti infrastrutturali sempre spessu implicanu assai travaglii manuali è necessitanu cunniscenze è cumpetenze specializate, soprattuttu datu i requisiti di l'oghje di tolleranza à i difetti, flessibilità, scalabilità è elasticità.

I servizii di nuvola anu cumpletu questi requisiti assai successu è sò stati quelli chì anu datu un impetu significativu à u sviluppu di l'approcciu IaC. Questu hè comprensibile. Dopu tuttu, anu permessu di cunfigurà un centru di dati cumplettamente virtuale: ùn ci hè micca servitori fisici, rack, o cumpunenti di a rete; tutta l'infrastruttura pò esse descritta usendu scripts è schedarii di cunfigurazione.

Allora chì hè esattamente a diferenza? GitOps от IaC? Hè cù sta quistione chì aghju principiatu a mo investigazione. Dopu avè parlatu cù i culleghi, aghju sappiutu cullà cù a seguente paragone:

GitOps

IaC

Tuttu u codice hè guardatu in un repository git

A versione di codice hè facultativa

Codice Dichjarazione Descrizione / Idempotenza

E descrizioni dichjarative è imperative sò accettate

I cambiamenti entranu in vigore cù i meccanismi di Richiesta di Merge / Pull Request

L'accordu, l'appruvazioni è a cullaburazione sò opzionali

U prucessu di rollout di l'aghjurnamentu hè automatizatu

U prucessu di rollout di l'aghjurnamentu ùn hè micca standardizatu (automaticu, manuale, copia di fugliali, usendu a linea di cummanda, etc.)

In altre parolle GitOps hè natu precisamente per l'applicazione di i principii IaC. Prima, l'infrastruttura è e cunfigurazioni puderanu avà esse guardatu in u listessu modu chì l'applicazioni. U codice hè faciule d'almacenà, faciule di sparte, paragunate è aduprà capacità di versione. Versioni, rami, storia. È tuttu questu in un locu accessibile publicamente à tutta a squadra. Dunque, l'usu di sistemi di cuntrollu di versione hè diventatu un sviluppu cumplettamente naturali. In particulare, git, cum'è u più populari.

Per d 'altra banda, hè diventatu pussibule di automatizà i prucessi di gestione di l'infrastruttura. Avà questu pò esse fattu più veloce, più affidabile è più prezzu. Inoltre, i principii di CI / CD eranu digià cunnisciutu è populari trà i sviluppatori di software. Era solu necessariu di trasferisce è applicà cunniscenze è cumpetenze digià cunnisciute à una nova zona. Queste pratiche, però, andavanu oltre a definizione standard di Infrastruttura cum'è codice, da quì u cuncettu GitOps.

GitOps: un altru buzzword o una svolta in l'automatizazione?

Curiosità GitOps, Di sicuru, ancu in u fattu chì ùn hè micca un pruduttu, plugin o piattaforma assuciata à qualsiasi venditore. Hè più di un paradigma è un inseme di principii, simili à un altru termu chì avemu familiarizatu: DevOps.

In a cumpagnia GitLab avemu sviluppatu duie definizioni di stu novu termu: teorica è pratica. Cuminciamu cù a teoria:

GitOps hè una metodulugia chì piglia i migliori principii DevOps utilizati per u sviluppu di l'applicazioni, cum'è u cuntrollu di versione, a cullaburazione, l'orchestrazione, CI / CD, è li applica à e sfide di l'automatizazione di a gestione di l'infrastruttura.

Tutti i prucessi GitOps U travagliu cù l'arnesi esistenti. Tuttu u codice di l'infrastruttura hè almacenatu in u repository git digià familiar, i cambiamenti passanu per u listessu prucessu di appruvazioni cum'è qualsiasi altru codice di prugramma, è u prucessu di rollout hè automatizatu, chì ci permette di minimizzà l'errori umani, aumentà a fiducia è a riproducibilità.

Da un puntu di vista praticu, discrimu GitOps a siguenti:

GitOps: un altru buzzword o una svolta in l'automatizazione?

Avemu digià discututu infrastruttura cum'è codice cum'è unu di i cumpunenti chjave di sta formula. Fighjemu u restu di i participanti.

Merge Request (nome alternativu Pull Request). In termini di prucessu, MR hè una dumanda per applicà cambiamenti di codice è poi unisce e rami. Ma in quantu à l'arnesi chì usemu, questu hè più un'uppurtunità di ottene una stampa cumpleta di tutti i cambiamenti chì sò fatti: micca solu u codice diffarendu recullatu da un certu nùmeru di cummissioni, ma ancu u cuntestu, i risultati di teste, è u u risultatu finali aspittatu. Se parlemu di codice di l'infrastruttura, allora avemu interessatu in quantu esattamente l'infrastruttura cambierà, quanti novi risorse seranu aghjuntu o eliminati, cambiatu. Preferibilmente in qualchì formatu più còmuda è faciule da leghje. Per i fornituri di nuvola, hè una bona idea di sapè quale serà l'impattu finanziariu di stu cambiamentu.

Ma MR hè ancu un mezzu di cullaburazione, interazzione è cumunicazione. U locu induve u sistema di cuntrolli è equilibri entra in ghjocu. Da simplici cumenti à appruvazioni formali è appruvazioni.

Ebbè, l'ultimu cumpunente: CI / CD, cum'è sapemu digià, permette di automatizà u prucessu di fà cambiamenti di infrastruttura è teste (da a semplice verificazione di sintassi à l'analisi di codice staticu più cumplessu). È ancu in a rilevazione sussegwente di a deriva: differenzi trà u statu reale è desideratu di u sistema. Per esempiu, per via di cambiamenti manuali micca autorizati o fallimentu di u sistema.

Iè, u terminu GitOps ùn ci presenta micca nunda di novu completamente novu, ùn reinventa micca a rota, ma simpricimenti applicà l'esperienza digià accumulata in una nova zona. Ma quì hè quì a so forza.

È s'è vo di colpu si interessa à cumu si vede tuttu in a pratica, allora vi invitu à vede u nostru master class, in quale vi dicu passu à passu cumu utilizà GitLab:

  • Implementa i principii basi di GitOps

  • Crea è fate cambiamenti à l'infrastruttura di nuvola (usendu l'esempiu di Yandex Cloud)

  • Automatizà a rilevazione di a deriva di u sistema da un statu desideratu utilizendu u monitoraghju attivu

GitOps: un altru buzzword o una svolta in l'automatizazione?https://bit.ly/34tRpwZ

Source: www.habr.com

Add a comment