Quale sò DevOps?

À u mumentu, questu hè quasi u postu più caru nantu à u mercatu. L'agitazione intornu à l'ingegneri "DevOps" hè oltre tutti i limiti imaginabili, è ancu peghju cù l'ingegneri Senior DevOps.
U travagliu cum'è u capu di u dipartimentu di integrazione è automatizazione, guess the English decoding - DevOps Manager. Hè improbabile chì a trascrizione inglese riflette e nostre attività di ogni ghjornu, ma a versione russa in questu casu hè più precisa. A causa di a natura di a mo attività, hè naturali chì aghju bisognu di entrevista i futuri membri di a mo squadra, è annantu à l'annu passatu, circa 50 persone anu passatu per mè, è u listessu numeru hè statu tagliatu in prescreen cù i mo impiegati.

Semu sempre à circà i culleghi, perchè daretu à l'etichetta DevOps ci hè una strata assai grande di diversi tipi di ingegneri chì si nasconde.

Tuttu ciò chì hè scrittu quì sottu hè a mo opinione persunale, ùn avete micca d'accordu cù questu, ma admessu chì aghjunghje un pocu di culore à a vostra attitudine à u tema. Malgradu u risicu di cascà in disgrazia, aghju publicatu a mo opinione perchè crede chì hà un locu per esse.

L'imprese anu una cunniscenza differente di quale sò l'ingegneri di DevOps è, per u scopu di impiegà rapidamente una risorsa, appiccà sta etichetta à tutti. A situazione hè abbastanza strana, postu chì l'imprese sò pronti à pagà una remunerazione irrealistica à queste persone, ricevendu, in a maiò parte di i casi, un amministratore di strumentu per elli.

Allora chì sò l'ingegneri DevOps?

Cuminciamu cù a storia di a so apparizione - L'Operazioni di Sviluppu apparsu cum'è un altru passu versu l'ottimisazione di l'interazzione in picculi squadre per aumentà a velocità di a produzzione di produttu, cum'è una cunsequenza prevista. L'idea era di rinfurzà a squadra di sviluppu cun a cunniscenza di e prucedure è approcci in a gestione di l'ambiente di u produttu. In altre parolle, u sviluppatore deve capisce è sapè cumu u so pruduttu funziona in certe cundizioni, deve capisce cumu implementà u so pruduttu, quali caratteristiche di l'ambiente ponu esse aghjustate per migliurà u rendiment. Allora, per qualchì tempu, i sviluppatori cù un approcciu DevOps apparsu. I sviluppatori di DevOps anu scrittu script di creazione è imballaggio per simplificà e so attività è a prestazione di l'ambiente di produzzione. Tuttavia, a cumplessità di l'architettura di suluzione è l'influenza mutuale di i cumpunenti di l'infrastruttura in u tempu hà cuminciatu à deteriorate u rendiment di l'ambienti; cù ogni iterazione, era necessaria una cunniscenza sempre più profonda di certi cumpunenti, riducendu a produtividade di u sviluppatore per via di l'ulteriori. i costi di capiscenu i cumpunenti è i sistemi di sintonizazione per un compitu specificu. U costu propiu di u sviluppatore hà crisciutu, u costu di u pruduttu inseme cun ellu, i requisiti per i novi sviluppatori in a squadra saltavanu bruscamente, perchè anu ancu bisognu di copre e rispunsabilità di u sviluppu "stella" è, naturalmente, i "stella" sò diventati menu. è menu dispunibuli. Hè nutate ancu chì, in a mo spirimintà, pochi sviluppatori sò interessate in e specificità di u processu di pacchetti da u kernel di u sistema operatore, e regule di routing di pacchetti, è l'aspettu di sicurità di l'ospiti. U passu logicu era di attruverà un amministratore chì hè familiarizatu cù questu è assignà rispunsabilità simili à ellu, chì, grazia à a so sperienza, hà permessu di ottene i stessi indicatori à un costu più bassu cumparatu cù u costu di un sviluppu "stella". Tali amministratori sò stati posti in una squadra è u so compitu principale era di gestisce l'ambienti di prova è di produzzione, secondu e regule di una squadra specifica, cù risorse attribuite à questa squadra particulare. Questu hè cumu, in fattu, DevOps apparsu in a mente di a maiuranza.

Parzialmente o cumpletamente, cù u tempu, sti amministratori di u sistema cuminciaru à capisce i bisogni di sta squadra particulare in u campu di u sviluppu, cumu fà a vita più faciule per i sviluppatori è i testatori, cumu fà un aghjurnamentu è ùn deve micca stà a notte u venneri in l'uffiziu, correggendu errori di implementazione. U tempu passava, è avà i "stelle" eranu amministratori di u sistema chì anu capitu ciò chì i sviluppatori vulianu. Per minimizzà l'impattu, l'utilità di gestione hà cuminciatu à vene; tutti si ricurdavanu di i metudi antichi è affidabili di isolà u livellu di u SO, chì hà permessu di minimizzà i requisiti per a sicurità, a gestione di a parte di a rete è a cunfigurazione di l'ospite cum'è un tutale è, in u risultatu, riduce i requisiti per novi "stelle".

Una cosa "meravigliosa" hè apparsa - docker. Perchè maravigliu? Iè, solu perchè a creazione di l'isolamentu in un chroot o prigiò, è ancu OpenVZ, hà bisognu di cunniscenze micca triviali di u SO, in cuntrastu, l'utilità permette di creà simpliciamente un ambiente d'applicazione isolatu nantu à un certu òspite cù tuttu ciò chì hè necessariu internu è manu. nantu à i redini di u sviluppu di novu, è l'amministratore di u sistema pò gestisce solu cù un ospite, assicurendu a so sicurità è a dispunibilità alta - una simplificazione logica. Ma u prugressu ùn si ferma è i sistemi tornanu à diventà più è più cumplessi, ci sò sempre più cumpunenti, un ospite ùn risponde più à i bisogni di u sistema è hè necessariu di custruisce clusters, avemu torna torna à l'amministratori di sistema chì sò capaci di custruisce questi sistemi.

Ciclu dopu ciculu, parenu parechji sistemi chì simplificà u sviluppu è / o l'amministrazione, i sistemi d'orchestrazione appariscenu, chì, finu à chì avete bisognu di deviate da u prucessu standard, sò faciuli d'utilizà. L'architettura di u microserviziu hè ancu apparsa cù u scopu di simplificà tuttu ciò chì hè descrittu sopra - menu relazioni, più faciule da gestisce. In a mo spirimintà, ùn aghju micca trovu una architettura di microserviziu cumplettamente, diceraghju 50 à 50 - 50 per centu di microservizi, scatuli neri, sò ghjunti, sò surtiti trattati, l'altri 50 sò un monolitu strappatu, servizii incapaci di travaglià separatamente da l'altri. cumpunenti. Tuttu chistu impone restrizioni à u livellu di cunniscenza di i sviluppatori è di l'amministratori.

"Swings" simili in u livellu di cunniscenza esperta di una risorsa particulari cuntinueghjanu à questu ghjornu. Ma digressemu un pocu, ci sò parechji punti chì valenu a pena di rializà.

Ingegnere di custruzzione / Ingegnere di liberazione

Ingegneri assai altamente specializati chì emergenu cum'è un mezzu di standardizà i prucessi di creazione di software è e versioni. In u prucessu di introduzzione di l'Agile diffusa, pare chì anu cessatu di esse in dumanda, ma questu hè luntanu da u casu. Sta specializazione apparsu cum'è un mezzu di standardizà l'assemblea è a consegna di u software à una scala industriale, i.e. utilizendu tecniche standard per tutti i prudutti di a cumpagnia. Cù l'avventu di DevOps, i sviluppatori anu persu parzialmente e so funzioni, postu chì sò stati i sviluppatori chì anu cuminciatu à preparà u pruduttu per a consegna, è datu l'infrastruttura cambiante è l'approcciu di furnisce u più prestu pussibule senza riguardu à a qualità, cù u tempu sò diventati. un tappu di cambiamenti, postu chì l'aderenza à i standard di qualità rallenta inevitabbilmente e spedizioni. Allora, gradualmente, parte di e funziunalità di l'ingegneri di Build / Release migraru à e spalle di l'amministratori di u sistema.

Ops sò cusì diffirenti

Andemu avanti è di novu a prisenza di una larga gamma di rispunsabilità è a mancanza di persunale qualificatu ci spinge versu una spicializazioni stretta, cum'è funghi dopu a pioggia, parechje Operazioni appariscenu:

  • TechOps - amministratori di sistema enikey alias HelpDesk Engineer
  • LiveOps - amministratori di sistema principalmente rispunsevuli di l'ambienti di produzzione
  • CloudOps - amministratori di sistema specializati in nuvuli publichi Azure, AWS, GCP, etc.
  • PlatOps/InfraOps/SysOps - amministratori di sistema di infrastruttura.
  • NetOps - amministratori di rete
  • SecOps - amministratori di sistema specializati in a sicurità di l'infurmazioni - conformità PCI, conformità CIS, patching, etc.

DevOps hè (in teoria) una persona chì capisce di prima manu tutti i prucessi di u ciculu di sviluppu - sviluppu, teste, capisce l'architettura di u produttu, hè capaci di valutà i risichi di sicurezza, hè familiarizatu cù approcci è strumenti di automatizazione, almenu à un altu livellu. livellu, in più di questu, capisce ancu u supportu di liberazione di u produttu prima è post-processing. Una persona capace di agisce cum'è un avvucatu per l'Operazioni è u Sviluppu, chì permette una cooperazione favorevule trà sti dui pilastri. Capisce i prucessi di pianificazione di u travagliu da e squadre è di gestisce l'aspettattivi di i clienti.

Per fà stu tipu di travagliu è rispunsabilità, sta persona deve avè i mezi di gestisce micca solu i prucessi di sviluppu è di prova, ma ancu a gestione di l'infrastruttura di u produttu, è a pianificazione di risorse. DevOps in questa cunniscenza ùn pò esse situata nè in IT, nè in R&D, nè ancu in PMO; deve avè influenza in tutti questi spazii - u direttore tecnicu di a cumpagnia, Chief Technical Officer.

Hè questu veru in a vostra cumpagnia? - I dubbitu. In a maiò parte di i casi, questu hè o IT o R&D.

A mancanza di fondi è a capacità di influenzà almenu una di queste trè aree di attività traslarà u pesu di i prublemi versu induve sti cambiamenti sò più faciuli d'applicà, cum'è l'applicazione di restrizioni tecniche nantu à e versioni in cunnessione cù u codice "sporcu" secondu static. sistemi di analisi. Vale à dì, quandu u PMO stabilisce un termini strettu per a liberazione di funziunalità, a R&D ùn pò micca pruduce un risultatu d'alta qualità in questi termini è pruduce u megliu pussibule, lascendu u refactoring per più tardi, DevOps in relazione cù l'IT blucca a liberazione cù i mezi tecnichi. . A mancanza di l'autorità per cambià a situazione, in u casu di l'impiegati rispunsevuli, porta à a manifestazione di iper-responsabilità per ciò chì ùn ponu influenzà, soprattuttu s'ellu si capiscenu è vedenu i sbagli, è cumu per correggerli - "A felicità hè ignuranza", è in cunsiquenza à u burnout è a perdita di sti impiegati.

Mercatu di risorse DevOps

Fighjemu parechji posti vacanti per pusizioni DevOps da diverse cumpagnie.

Semu pronti à scuntrà cun voi se:

  1. Possede Zabbix è sapete ciò chì Prometheus hè;
  2. Iptables;
  3. Studente di PhD BASH;
  4. Prufissuri Ansible;
  5. Linux Guru;
  6. Sapete cumu utilizà u debugging è truvà prublemi di l'applicazione inseme cù i sviluppatori (php/java/python);
  7. Routing ùn vi rende micca isterica;
  8. Prestate una attenzione significativa à a sicurità di u sistema;
  9. Backup "tuttu è tuttu", è ancu risturà cù successu questu "qualcosa è tuttu";
  10. Sapete cumu cunfigurà u sistema in modu di ottene u massimu da u minimu;
  11. Configurate a replicazione prima di andà in lettu nantu à Postgres è MySQL;
  12. Stabilisce è aghjustà CI / CD hè necessariu per voi cum'è colazione / pranzu / cena.
  13. Avè sperienza cù AWS;
  14. Pronta à sviluppà cù a cumpagnia;

So:

  • da 1 à 6 - amministratore di sistema
  • 7 - una piccula amministrazione di a reta, chì si mette ancu in l'amministratore di u sistema, Livellu Mediu
  • 8 - un pocu di sicurità, chì hè ubligatoriu per un amministratore di sistema di livellu mediu
  • 9-11 - Amministratore di u Sistema Mediu
  • 12 - Sicondu i travaglii assignati, o Amministratore di u Sistema Mediu o Ingegnere di Custruzzione
  • 13 - Virtualizazione - Amministratore di u Sistema Mediu, o u chjamatu CloudOps, cunniscenza avanzata di i servizii di un situ di hosting specificu, per l'usu efficiente di fondi è riducendu a carica di mantenimentu

Riassuntu di sta vacante, pudemu dì chì l'Amministratore di Sistema Mediu / Senior hè abbastanza per i ragazzi.

A propositu, ùn deve micca dividite assai l'amministratori in Linux / Windows. Di sicuru, aghju capitu chì i servizii è i sistemi di sti dui mondi sò diffirenti, ma a basa per tutti hè a stessa è ogni amministratore chì si rispettu hè familiarizatu cù l'unu è l'altru, è ancu s'ellu ùn hè micca familiarizatu, sarà ùn sia micca difficiule per un amministratore competente per familiarizà cun ellu.

Cunsideremu un altru vacante:

  1. Esperienza in a custruzione di sistemi di alta carica;
  2. Eccellente cunniscenza di Linux OS, software di sistema generale è stack web (Nginx, PHP / Python, HAProxy, MySQL / PostgreSQL, Memcached, Redis, RabbitMQ, ELK);
  3. Esperienza cù sistemi di virtualizazione (KVM, VMWare, LXC / Docker);
  4. Prufessione in lingue di scrittura;
  5. A cunniscenza di i principii di u funziunamentu di e rete di protokollu di rete;
  6. A cunniscenza di i principii di a custruzione di sistemi toleranti à i difetti;
  7. indipendenza è iniziativa;

Fighjemu à:

  • 1 - Amministratore Senior di Sistema
  • 2 - Sicondu u significatu pusatu in questa pila - Amministratore di Sistema Mediu / Senior
  • 3 - L'esperienza di travagliu, cumprese, pò significà - "U cluster ùn hà micca risuscitatu, ma hà creatu è gestitu macchine virtuali, ci era un host Docker, l'accessu à i cuntenituri ùn era micca dispunibule" - Amministratore di u Sistema Mediu
  • 4 - Junior System Administrator - iè, un amministratore chì ùn sapi micca cumu scrive scripts d'automatizazione basica, indipendentemente da a lingua, micca un amministratore - enikey.
  • 5 - Amministratore di u Sistema Mediu
  • 6 - Amministratore Senior di Sistema

Per sintetizà - Amministratore di Sistema Mediu / Senior

Un altru:

  1. Esperienza Devops;
  2. Esperienza in l'usu di unu o più prudutti per creà prucessi CI / CD. Gitlab CI serà un vantaghju;
  3. U travagliu cù cuntenituri è virtualizazione; Sì avete usatu docker, bè, ma se avete usatu k8s, grande!
  4. Esperienza di travaglià in una squadra agile;
  5. Cunniscenza di qualsiasi lingua di prugrammazione;

Videmu :

  • 1 - Hmm... Chì volenu dì i picciotti ? =) Probabilmente elli stessi ùn sanu micca ciò chì hè ammucciatu daretu
  • 2 - Ingegnere di custruzzione
  • 3 - Amministratore di u Sistema Mediu
  • 4 - Soft skill, ùn avemu micca cunsideratu per avà, ancu se Agile hè una altra cosa chì hè interpretata in una manera chì hè cunvene.
  • 5 - Troppu verbose - puderia esse una lingua di scrittura o una compilata. Mi dumandu se scrive in Pascal è Basic à a scola li cunvene ? =)

Vogliu ancu lascià una nota in quantu à u puntu 3 per rinfurzà a cunniscenza di perchè stu puntu hè cupartu da l'amministratore di u sistema. Kubernetes hè solu una orchestrazione, un strumentu chì avvolge cumandamenti diretti à i cunduttori di rete è l'ospiti di virtualizazione / isolamentu in un coppiu di cumandamenti è permette di fà cumunicazione cù elli astratti, questu hè tuttu. Per esempiu, andemu à piglià 'custruì framework' Make, chì, per via, ùn cunsiderà micca un quadru. Iè, cunnoscu a moda di shoving Make in ogni locu, induve hè necessariu è micca necessariu - wrapping Maven in Make, per esempiu, seriu?
Essenzialmente, Make hè solu un wrapper sopra a cunchiglia, simplificendu i cumandamenti di l'ambiente di compilazione, ligame è compilazione, cum'è k8s.

Una volta, aghju intervistatu un tippu chì hà utilizatu k8s in u so travagliu nantu à OpenStack, è hà parlatu di cumu hà implementatu i servizii nantu à questu, ma quandu aghju dumandatu nantu à OpenStack, hè risultatu chì era amministratu, è ancu risuscitatu da u sistema. amministratori. Pensate veramente chì una persona chì hà stallatu OpenStack, indipendentemente da quale piattaforma usa daretu à ellu, ùn hè micca capaci di utilizà k8s? =)
Stu candidatu ùn hè micca veramente un DevOps, ma un Amministratore di Sistema è, per esse più precisu, un Amministratore Kubernetes.

Riassumemu una volta - l'Amministratore di Sistema Mediu / Senior serà abbastanza per elli.

Quantu pisà in grammi

A gamma di salarii pruposti per i posti vacanti indicati hè 90k-200k
Avà vogliu fà un parallelu trà e ricumpensa monetaria di l'Amministratori di Sistema è l'Ingegneri DevOps.

In principiu, per simplificà e cose, pudete sparghje i gradi basati nantu à l'esperienza di travagliu, ancu s'ellu ùn serà micca esatta, ma per i scopi di l'articulu serà abbastanza.

Una sperienza:

  1. finu à 3 anni - Junior
  2. sin'à 6 anni - Mediu
  3. più di 6 - Senior

U situ di ricerca di l'impiegati offre:
Amministratori di sistema:

  1. Junior - 2 anni - 50k rub.
  2. Mediu - 5 anni - 70k rub.
  3. Senior - 11 anni - 100k rub.

Ingegneri DevOps:

  1. Junior - 2 anni - 100k rub.
  2. Mediu - 3 anni - 160k rub.
  3. Senior - 6 anni - 220k rub.

Sicondu l'esperienza di "DevOps", l'esperienza hè stata aduprata chì almenu in qualchì manera hà affettatu u SDLC.

Da ciò chì sopra, segue chì in fatti l'imprese ùn anu micca bisognu di DevOps, è ancu chì puderanu salvà almenu u 50 per centu di i costi inizialmente previsti assumendu un Amministratore; in più, puderanu definisce più chjaramente e responsabilità di a persona chì cercanu. è riempie u bisognu più veloce. Ùn ci vole micca scurdà ancu chì una divisione chjara di e rispunsabilità ci permette di riduce i requisiti per u persunale, è ancu di creà una atmosfera più favorevule in a squadra, per l'absenza di sovrapposizioni. A maiò parte di i posti vacanti sò pieni di utilità è etichette DevOps, ma ùn sò micca basati nantu à i bisogni attuali per un Ingegnere DevOps, solu richieste per un amministratore di l'utillita.

U prucessu di furmazione di l'ingegneri DevOps hè ancu limitatu solu à un inseme d'opere specifiche, utilità, è ùn furnisce micca una cunniscenza generale di i prucessi è e so dipendenze. Hè certamente bonu quandu una persona pò implementà AWS EKS cù Terraform, in cunjunzione cù u sidecar Fluentd in questu cluster è a pila AWS ELK per u sistema di log in 10 minuti, utilizendu solu un cumandamentu in a cunsola, ma s'ellu ùn capisce micca principiu di prucessu stessu logs è ciò ch'elli sò nicissarii, s'è vo ùn sapete quantu à cullà metrica nant'à elli è seguità a degradazione di u serviziu, allura sarà sempre u listessu enikey chì sà quantu à aduprà qualchi utilità.

A dumanda, però, crea l'offerta, è vedemu un mercatu estremamente surriscaldatu per a pusizione DevOps, induve i requisiti ùn currispondenu micca à u rolu propiu, ma permettenu solu à l'amministratori di sistema di guadagnà più.

Allora quale sò? DevOps o amministratori di sistema avari? =)

Cumu cuntinuà à campà ?

L'impiegatori anu da furmulà esigenze più precisamente è cercà esattamente quelli chì sò necessarii, è micca ghjittassi intornu à etichette. Ùn sapete micca ciò chì facenu DevOps - ùn ne avete micca bisognu in questu casu.

I travagliadori - Amparate. Migliurà constantemente a vostra cunniscenza, fighjate a stampa generale di i prucessi è seguite a strada per u vostru scopu. Pudete diventà quellu chì vulete, basta à pruvà.

Source: www.habr.com

Add a comment