Perchè DevOps hè necessariu è quale sò specialisti DevOps?

Quandu una applicazione ùn funziona micca, l'ultima cosa chì vulete sente da i vostri culleghi hè a frasa "u prublema hè di u vostru latu". In u risultatu, l'utilizatori soffrenu - è ùn importa micca quale parte di a squadra hè rispunsevuli di a rottura. A cultura DevOps hè nata precisamente per unisce u sviluppu è u sustegnu intornu à una rispunsabilità cumuna per u pruduttu finale.

Chì pratiche sò incluse in u cuncettu di DevOps è perchè sò necessarii? Chì facenu l'ingegneri DevOps è chì duveranu esse capaci di fà? I sperti di l'EPAM rispondenu à queste è à altre dumande: Kirill Sergeev, ingegnere di sistemi è evangelista DevOps, è Igor Boyko, ingegnere di sistemi di punta è coordinatore di una di e squadre DevOps di a cumpagnia.

Perchè DevOps hè necessariu è quale sò specialisti DevOps?

Perchè DevOps hè necessariu?

Nanzu, ci era una barriera trà sviluppatori è supportu (operazioni cusì chjamate). Sembra paradossale, ma avianu diversi scopi è KPIs, ancu s'elli facianu a stessa cosa. U scopu di u sviluppu era di implementà e esigenze di l'affari u più prestu pussibule è aghjunghje à un pruduttu di travagliu. U supportu era rispunsevuli di assicurà chì l'applicazione hà travagliatu stabile - è ogni cambiamentu mette a stabilità in risicu. Ci hè un cunflittu di interessu - DevOps pareva per risolve.

Cosa hè DevOps?

Hè una bona quistione - è una cuntruversa: u mondu ùn hà micca finitu d'accordu annantu à questu. EPAM crede chì DevOps combina tecnulugia, prucessi è cultura di interazzione in una squadra. Questa associazione hà u scopu di furnisce continuamente valore à l'utilizatori finali.

Kirill Sergeev: "I sviluppatori scrivenu u codice, i testatori u rivisanu, è l'amministratori implementanu u pruduttu finali à a produzzione. Per un bellu pezzu, sti parti di a squadra eranu un pocu spargugliati, è tandu l'idea hè ghjunta di unisce per un prucessu cumuni. Hè cusì chì e pratiche DevOps apparsu ".

U ghjornu hè ghjuntu quandu i sviluppatori è l'ingegneri di u sistema anu interessatu à u travagliu di l'altri. A barriera trà a pruduzzione è u sustegnu hà cuminciatu à sparisce. Hè cusì chì DevOps emerge, chì include pratiche, cultura è interazione in squadra.

Perchè DevOps hè necessariu è quale sò specialisti DevOps?

Qual è l'essenza di a cultura DevOps?

U fattu hè chì a rispunsabilità per u risultatu finali hè di ogni membru di a squadra. A cosa più interessante è difficiule in a filusufìa DevOps hè di capisce chì una persona specifica ùn hè micca solu rispunsevuli di u so propiu stadiu di u travagliu, ma hè rispunsevuli di cumu u pruduttu tutale hà da travaglià. U prublema ùn si trova à nimu - hè spartutu, è ogni membru di a squadra aiuta à risolve.

A cosa più impurtante in una cultura DevOps hè di risolve u prublema, micca solu applicà e pratiche DevOps. Inoltre, sti pratichi ùn sò micca implementati "da parte di qualcunu", ma in tuttu u pruduttu. Un prughjettu ùn hà micca bisognu di un ingegnere DevOps per se - hà bisognu di una suluzione à un prublema, è u rolu di un ingegnere DevOps pò esse distribuitu trà parechji membri di a squadra cù diverse specializazioni.

Chì sò i tipi di pratiche DevOps?

E pratiche DevOps copre tutte e tappe di u ciclu di vita di u software.

Igor Boyko: "U casu ideale hè quandu avemu principiatu à aduprà pratiche DevOps ghjustu à l'iniziu di un prughjettu. Inseme cù l'architetti, pianificemu chì tipu di paisaghju architettonicu avarà l'applicazione, induve serà situata è cumu scala, è sceglite una piattaforma. Oghje, l'architettura di u microserviziu hè in moda - per ellu sceglite un sistema d'orchestrazione: avete bisognu di pudè gestisce ogni elementu di l'applicazione separatamente è aghjurnà indipindentamente di l'altri. Un'altra pratica hè "infrastruttura cum'è codice". Questu hè u nome per un approcciu in quale l'infrastruttura di u prugettu hè creata è gestita cù u codice, invece di l'interazzione diretta cù i servitori.

Dopu andemu à u stadiu di sviluppu. Una di e pratiche più grande quì hè di custruisce CI / CD: avete bisognu di aiutà i sviluppatori à integrà i cambiamenti in u pruduttu rapidamente, in picculi porzioni, più spessu è senza dolore. CI/CD copre a revisione di u codice, a carica di u maestru à a basa di codice, è a implementazione di l'applicazione per pruvà è ambienti di produzzione.

À i tappe CI/CD, u codice passa per porte di qualità. Cù u so aiutu, verificanu chì u codice chì esce da a stazione di travagliu di u sviluppatore risponde à i criterii di qualità specificati. A prova di unità è UI hè aghjuntu quì. Per una implementazione rapida, indolore è focalizzata di u produttu, pudete sceglie u tipu di implementazione adattatu.

I praticanti di DevOps anu ancu un postu in u stadiu di sustene u pruduttu finitu. Sò usati per u monitoraghju, feedback, sicurità è introduzione di cambiamenti. DevOps guarda tutte queste attività da una perspettiva di migliione cuntinua. Minimizemu l'operazioni ripetitive è l'automatizemu. Questu include ancu migrazioni, espansione di l'applicazioni è supportu di rendiment ".

Chì sò i benefici di e pratiche DevOps?

Sè avemu scrittu un libru di testu nantu à e pratiche DevOps muderni, ci sarianu trè punti nantu à a prima pagina: automatizazione, accelerazione di e versioni, è feedback rapidu da l'utilizatori.

Kirill Sergeev: "A prima cosa hè l'automatizazione. Pudemu automatizà tutte l'interazzione in a squadra: hà scrittu u codice - l'hà sbulicatu - l'hà verificatu - l'installau - a cugliera di feedback - hà tornatu à u principiu. Tuttu chistu hè automaticu.

U sicondu hè accelerà a liberazione è ancu simplificà u sviluppu. Hè sempre impurtante per u cliente chì u pruduttu entra in u mercatu u più prestu pussibule è cumencia à furnisce benefici prima di l'analogi di i cuncurrenti. U prucessu di consegna di u produttu pò esse migliuratu senza fine: riduce u tempu, aghjunghje marchi di cuntrollu supplementari, migliurà u monitoraghju.

U terzu hè l'accelerazione di u feedback di l'utilizatori. S'ellu hà cumenti, pudemu immediatamente fà aghjustamenti è aghjurnà l'applicazione immediatamente ".

Perchè DevOps hè necessariu è quale sò specialisti DevOps?

Cumu sò i cuncetti di "ingegnere di sistemi", "ingegnere di custruzzione" è "ingegnere DevOps"?

Si sovrapponenu, ma appartenenu à zoni ligeramente diffirenti.

L'ingegnere di sistemi in EPAM hè un postu. Venenu in diversi livelli: da junior à specialista capu.

Un ingegnere di custruzzione hè più di un rolu chì pò esse realizatu nantu à un prughjettu. Avà questu hè ciò chì i rispunsevuli di CI / CD sò chjamati.

Un ingegnere DevOps hè un specialista chì implementa e pratiche DevOps in un prughjettu.

Se riassumemu tuttu, avemu qualcosa cum'è questu: una persona in a pusizione di un ingegnere di sistemi ghjucà u rolu di un ingegnere di custruzzione in un prughjettu è hè implicatu in l'implementazione di pratiche DevOps.

Chì faci esattamente un ingegnere DevOps?

L'ingegneri DevOps riuniscenu tutti i pezzi chì custituiscenu un prughjettu. Anu cunnosci i specifichi di u travagliu di programatori, testatori, amministratori di sistema è aiutanu à simplificà u so travagliu. Capiscenu i bisogni è i bisogni di l'affari, u so rolu in u prucessu di sviluppu - è custruiscenu u prucessu tenendu in contu l'interessi di u cliente.

Avemu parlatu assai di l'automatizazione - questu hè ciò chì l'ingegneri DevOps trattanu prima di tuttu. Questu hè un puntu assai grande, chì, frà altri cose, include a preparazione di l'ambiente.

Kirill Sergeev: "Prima di implementà l'aghjurnamenti in u pruduttu, anu da esse pruvati in un ambiente di terzu. Hè preparatu da ingegneri DevOps. Impulsanu una cultura DevOps nantu à u prugettu in tuttu: introducenu e pratiche DevOps in tutti i strati di i so prughjetti. Questi trè principii: automatizazione, simplificazione, accelerazione - portanu induve ponu ghjunghje ".

Chì duverebbe sapè un ingegnere DevOps?

In generale, deve avè cunniscenze da diverse aree: prugrammazione, travagliendu cù sistemi operativi, basa di dati, sistemi di assemblea è cunfigurazione. Questi sò cumplementati da a capacità di travaglià cù l'infrastruttura di nuvola, l'orchestrazione è i sistemi di monitoraghju.

1. Linguaggi di prugrammazione

L'ingegneri DevOps cunnosci parechje lingue basi per l'automatizazione è ponu, per esempiu, dì à un programatore: "Chì ne dite di stallà u codice micca a manu, ma cù u nostru script, chì automatizza tuttu? Prepararemu un schedariu di cunfigurazione per ellu, serà cunvenutu per voi è per noi di leghje, è puderemu cambià in ogni mumentu. Videremu ancu quale, quandu è perchè face cambiamenti in questu ".

Un ingegnere DevOps pò amparà una o più di queste lingue: Python, Groovy, Bash, Powershell, Ruby, Go. Ùn avete bisognu di cunnosce à un livellu prufondu - solu i fundamenti di sintassi, principii OOP, è a capacità di scrive script simplici per l'automatizazione.

2. Sistemi upirativu

Un ingegnere DevOps deve capisce in quale servitore serà installatu u pruduttu, in quale ambiente sarà eseguitu, è cù quali servizii interagiscerà. Pudete sceglie di specializà in Windows o a famiglia Linux.

3. Sistemi di cuntrollu di versione

Senza cunniscenze di un sistema di cuntrollu di versione, un ingegnere DevOps ùn hè nunda. Git hè unu di i sistemi più populari in u mumentu.

4. Fornitori di nuvola

AWS, Google, Azure - soprattuttu se parlemu di a direzzione di Windows.

Kirill Sergeev: "I fornitori di nuvola ci furniscenu servitori virtuali chì si adattanu perfettamente à CI / CD.

L'installazione di dece servitori fisici richiede circa un centu di operazioni manuali. Ogni servitore deve esse lanciatu manualmente, installatu è cunfiguratu u sistema operatore necessariu, installatu a nostra applicazione nantu à questi dece servitori, è dopu verificatu tuttu dece volte. I servizii di nuvola rimpiazzanu sta prucedura cù dece linee di codice, è un bonu ingegnere DevOps deve esse capace di operà cun elli. Questu risparmià tempu, sforzu è soldi - per u cliente è per a cumpagnia ".

5. Sistemi d'orchestrazione: Docker è Kubernetes

Kirill Sergeev: "I servitori virtuali sò spartuti in cuntenituri, in ognuna di quali pudemu installà a nostra applicazione. Quandu ci sò assai cuntenituri, avete bisognu di gestisce: accende unu, disattiveghjanu un altru, fate una copia di salvezza in qualchì locu. Questu diventa abbastanza cumplessu è richiede un sistema di orchestrazione.

Prima, ogni applicazione hè stata trattata da un servitore separatu - ogni cambiamentu in u so funziunamentu puderia influenzà u serviziu di l'applicazione. Grazie à i cuntenituri, l'applicazioni sò isolate è eseguite separatamente - ognunu nantu à a so propria macchina virtuale. Se si verifica un fallimentu, ùn ci hè bisognu di perde u tempu per circà a causa. Hè più faciule per distrughje u vechju cuntainer è aghjunghje un novu ".

6. Sistemi di cunfigurazione: Chef, Ansible, Puppet

Quandu avete bisognu di mantene una flotta sana di servitori, avete da fà assai di u listessu tipu di operazioni. Hè longu è difficiule, è u travagliu manuale aumenta ancu a chance d'errore. Hè quì chì i sistemi di cunfigurazione venenu in salvezza. Cù u so aiutu, creanu un script chì hè faciule da leghje per i programatori, ingegneri DevOps è amministratori di sistema. Stu script aiuta à realizà e stesse operazioni nantu à i servitori automaticamente. Questu reduce l'operazioni manuali (è dunque l'errori).

Chì tippu di carriera pò custruisce un ingegnere DevOps?

Pudete sviluppà sia horizontalmente sia verticalmente.

Igor Boyko: "Da u puntu di vista di u sviluppu horizontale, l'ingegneri di DevOps anu avà e prospettive più larghe. Tuttu hè cambiatu constantemente, è pudete custruisce cumpetenze in una varietà di spazii: da i sistemi di cuntrollu di versione à u monitoraghju, da a gestione di cunfigurazione à e basa di dati.

Pudete diventà un architettu di sistema se un impiigatu hè interessatu à capisce cumu funziona una applicazione in tutte e tappe di u so ciclu di vita - da u sviluppu à u sustegnu.

Cumu diventà un ingegnere DevOps?

  1. Leghjite u Prughjettu Phoenix è u Manuale DevOps. Quessi sò i veri pilastri di a filusufìa DevOps, u primu hè un travagliu di ficzioni.
  2. Amparate e tecnulugia da a lista sopra: per sè stessu o attraversu corsi in linea.
  3. Uniscite cum'è ingegnere DevOps per un prughjettu open source.
  4. Praticate è offre pratiche DevOps nantu à i vostri prughjetti persunali è di travagliu.

Source: www.habr.com

Add a comment