DevOps-ingenjörer Ă€r mĂ„ngsidiga specialister som kan automatisera processer och vet hur utvecklare, QA och chefer arbetar. De kan programmera, lĂ€r sig snabbt komplexa verktyg och tappar inte fattningen inför okĂ€nda uppgifter. Det finns fĂ„ DevOps-ingenjörer â de Ă€r vĂ€rda mellan 200 000 och 300 000 rubel, men det finns fortfarande mĂ„nga lediga tjĂ€nster.
Dmitrij Kuzmin förklarar exakt vad DevOps handlar om och vad man behöver studera för att kvalificera sig för en sĂ„dan tjĂ€nst. Som bonus â viktiga lĂ€nkar till böcker, videor, kanaler och professionella gemenskaper.
Vad gör en DevOps-ingenjör
NÀr det gÀller DevOps Àr det viktigt att inte blanda ihop termer. PoÀngen Àr att DevOps inte Àr ett konkret verksamhetsomrÄde, utan en professionell filosofi. Det Àr en metodologi som hjÀlper utvecklare, testare och systemadministratörer att arbeta snabbare och effektivare genom automatisering och sömlöshet.
DÀrför Àr en DevOps-ingenjör en specialist som implementerar denna metodologi i arbetsprocessen:
- I planeringsfasen hjÀlper DevOps-ingenjören till att avgöra vilken arkitektur applikationen ska anvÀnda, hur den kommer att skalas och vÀljer orkestreringssystem.
- DÀrefter konfigurerar de servrar, automatiserade kontroller och kodpushar, samt miljöverifiering.
- Sedan automatiserar de testningen och löser problem relaterade till distribution.
- Efter en release Àr det viktigt att samla in feedback frÄn anvÀndarna och implementera förbÀttringar. DevOps ser till sÄ att anvÀndarna inte mÀrker dessa förbÀttringar och att uppdateringsprocessen Àr kontinuerlig.
- Samtidigt hanterar de tiotals uppgifter som hjÀlper till att etablera arbetssystemet för utvecklare, QA, systemadministratörer och chefer.
Allt som nÀmnts ovan sker i nÀstan perfekta projekt. I verkligheten mÄste man dock börja i ett projekt dÀr planeringen har missats, arkitekturen var felaktig, och automatisering först övervÀgs nÀr alla projekt stÄr still. Att förstÄ dessa problem, lösa dem och fÄ allt att fungera Àr den viktigaste fÀrdigheten hos en DevOps-specialist.
Det rÄder förvirring pÄ arbetsmarknaden. Ibland söker företag DevOps-ingenjörer som systemingenjörer, byggingenjörer eller nÄgot annat. Arbetsuppgifterna varierar beroende pÄ företagets storlek och inriktning - pÄ vissa stÀllen letar man efter en person för konsulting, pÄ andra ber man om att automatisera allt, och pÄ vissa stÀllen krÀver man avancerade funktioner av en systemadministratör som kan programmera.
Vad behövs för att börja i yrket
Att komma in i yrket krÀver förhandsutbildning. Det rÀcker inte att bara gÄ pÄ kurser utan nÄgra förkunskaper inom IT och lÀra sig till juniornivÄ. Man behöver en teknisk bakgrund:
- Det Àr perfekt om du har arbetat i minst sex mÄnader som systemadministratör, driftspecialist eller testare. Eller Ätminstone har en uppfattning om hur program startar, i vilken miljö de kan utvecklas och vad man ska göra om man ser ett fel. Om du inte har nÄgon arbetslivserfarenhet, gÄ en kurs i Linux-administration och repetera allt som hÀnder pÄ din egen dator.
- SĂ€tt dig in i hur nĂ€tverksÂteknologier fungerar - lĂ€r dig installera, konfigurera och hantera lokala och globala nĂ€tverk.
- Titta pÄ hur och av vad programmering Àr uppbyggd - skriv nÄgra skript i Python eller Go, försök förstÄ principerna för OOP (Objektorienterad programmering), lÀs om den allmÀnna produktutvecklingscykeln.
- Kunskap om teknisk engelska Àr anvÀndbar - det Àr inte nödvÀndigt att kunna prata fritt om Àmnen, det rÀcker att kunna lÀsa dokumentation och grÀnssnitt.
Det Àr inte nödvÀndigt att kÀnna till allt i detalj, för att börja studera DevOps rÀcker det med en grundlÀggande nivÄ av förberedelse. Om du har sÄdan teknisk bakgrund, prova att anmÀla dig till kurser.
Vad en DevOps bör veta
En bra DevOps-ingenjör Àr en mÄngsidig specialist med en mycket bred kunskapsbas. För att lyckas behöver du förstÄs flera IT-inriktningar.
Utveckling
DevOps kommer att skriva ett skript som hjÀlper utvecklarna att installera kod pÄ servern. Skapa ett program som "i realtid" testar databasernas respons. Skriva en applikation för att hantera versionskontroll. Slutligen kommer de enkelt att upptÀcka ett potentiellt problem i utvecklingen som kan uppstÄ pÄ servern.
En stark DevOps-specialist behĂ€rskar flera sprĂ„k som lĂ€mpar sig för automatisering. De kĂ€nner inte varje sprĂ„k pĂ„ djupet, men kan snabbt skriva ett litet program eller lĂ€sa annan kod. Om du tidigare har varit novis inom utveckling, börja med Python â det har en enkel syntax, Ă€r lĂ€tt att arbeta med molnteknologier och finns det mycket dokumentation och bibliotek.
Operativsystem
Det Ă€r omöjligt att kĂ€nna till alla funktioner i varje version av varje system â att lĂ€ra sig sĂ„ mycket kan ta tusentals timmar utan att ge nĂ„got mervĂ€rde. IstĂ€llet förstĂ„r en bra DevOps-specialist de grundlĂ€ggande principerna för arbete pĂ„ vilket operativsystem som helst. Enligt jobbanonseringar arbetar de flesta nu för tiden med Linux.
En bra ingenjör förstÄr vilket system som Àr bÀst att implementera ett projekt i, vilka verktyg som bör anvÀndas och vilka potentiella fel som kan uppstÄ under implementeringen eller driften.
Moln
Marknaden för molnteknologier i genomsnitt med 20-25% per Ă„r â en sĂ„dan infrastruktur möjliggör automatisering av kodtestning, sammansĂ€ttning av applikationer frĂ„n komponenter och leverans av uppdateringar till anvĂ€ndarna. En bra DevOps-specialist har kunskap om bĂ„de helt molnbaserade och hybrida lösningar.
Bland de standardkrav som stÀlls pÄ ingenjörer anges vanligtvis GCP, AWS och Azure.
Detta inkluderar ocksĂ„ att ha kunskaper om CI/CD-verktyg. Vanligtvis anvĂ€nds Jenkins för kontinuerlig integration, men det finns mĂ„nga alternativ att prova. Dussintals, till exempel Buddy, TeamCity och Gitlab CI. Det Ă€r Ă€ven anvĂ€ndbart att studera Terraform â ett deklarativt verktyg som hjĂ€lper till att fjĂ€rrkonfigurera och etablera infrastruktur i molnet. Och Packer, som behövs för att automatiskt skapa OS-avbildningar.
Orkestreringssystem och mikrotjÀnster
MikrotjĂ€nstarkitekturen har mĂ„nga fördelar â stabilitet, snabb skalning, förenkling och Ă„teranvĂ€ndning. DevOps förstĂ„r hur mikrotjĂ€nster fungerar och kan förutse potentiella problem.
KÀnner vÀl till Docker och Kubernetes. FörstÄr hur containrar fungerar, hur man bygger system sÄ att delar kan stÀngas av utan att pÄverka hela systemet. Till exempel kan de bygga ett Kubernetes-kluster med hjÀlp av Ansible.
Vad mer bör framtida DevOps-specialister prova
Det gÄr att nÀmna verktyg som kan vara anvÀndbara för en DevOps-ingenjör i oÀndlighet. Vissa arbetar med orkestrering av projekt, andra Àgnar större delen av sin tid Ät automatisering av distribution och testning, medan andra förbÀttrar effektiviteten i konfigurationshantering. Under processen kommer det att bli tydligt vad man ska fokusera pÄ och vilka projekt som kan vara till hjÀlp.
HÀr Àr ytterligare ett litet minimum som kan hjÀlpa dig att komma igÄng:
- SÀtt dig in i hur Git och Github fungerar om du inte redan gjort det. Installera GitLab pÄ din server.
- Bekanta dig med markup-sprÄken JSON och YAML.
- Installera och testa att arbeta med databaser â inte bara i MySQL utan Ă€ven NoSQL. Prova MongoDB.
- FörstÄ hur man hanterar konfigurationen av flera servrar samtidigt. Till exempel med hjÀlp av Ansible.
- StÀll genast in övervakning av belastning och loggar. Prova kombinationen Prometheus, Grafana, Alertmanager.
- Sök efter de bĂ€sta lösningarna för distribution av olika sprĂ„k â det rĂ€cker med att bekanta sig, implementera och du kommer att förstĂ„ mer pĂ„ ett trĂ€nings- eller arbetsprojekt.
Varför det Àr vÀrt att börja studera DevOps nu
Det rÄder brist pÄ DevOps-ingenjörer pÄ marknaden. Detta bekrÀftas delvis av antalet och kvaliteten pÄ jobben:
- I Ryssland finns det alltid mer Àn 2 000 lediga tjÀnster pÄ HeadHunter för detta sökord.
- Och endast 1 900 personer har lagt ut sina CV:n.
Med tanke pĂ„ att det att lĂ€gga ut ett CV inte innebĂ€r en aktiv jobbsökning, visar det sig att det finns tvĂ„, ibland tre lediga tjĂ€nster per specialist â en sĂ„dan situation finns inte ens pĂ„ den populĂ€ra marknaden för webb-utveckling. LĂ€gg dessutom till jobben frĂ„n Habr och Telegram-kanaler â bristen pĂ„ specialister Ă€r enorm.

Observera lönekraven frÄn kandidaterna
DevOps Ă€r ocksĂ„ eftertraktat i vĂ€rlden â om du planerar att relokalisera till USA eller Europa, dĂ„ pĂ„ portalen söker mer Ă€n 34 000 företag efter dessa specialister. Vanliga krav Ă€r 1â3 Ă„rs erfarenhet, förmĂ„ga att arbeta med 'moln' och att inte vara rĂ€dd för konsultfunktioner.
PĂ„ frilansmarknaden Ă€r erbjudandena mycket fĂ€rre â DevOps- ingenjörer söks frĂ€mst för anstĂ€llning och heltid.

Att hitta rÀtt projekt pÄ frilansmarknaden Àr svÄrt, men möjligt
En typisk karriÀrvÀg för en DevOps-ingenjör kan se ut ungefÀr sÄ hÀr:
- Har arbetat som systemadministratör i ett litet IT-företag i sex mÄnader till ett Är. Samtidigt studerar han ett sprÄk som Àr lÀmpligt för automatisering.
- Studerar intensivt pÄ kurser, i ungefÀr ett halvÄr.
- GĂ„r över till ett annat jobb â pĂ„ ett företag som sĂ€ljer molnlösningar, en filial av ett stort företag, till utvecklare av stora projekt. Med andra ord, dit dĂ€r det finns ett behov av stĂ€ndig automatisering och implementering. PĂ„ en ingĂ„ngsnivĂ„ handlar det om cirka 100 000 rubel.
- Arbetar aktivt och lÀr sig i flera Är, ökar sin inkomst flera gÄnger.
- Blir expert i det professionella samhÀllet och gÄr över till konsultverksamhet. Antingen vÀxer han till systemarkitekt eller IT-direktör.
DevOps Àr komplicerat. Man mÄste kombinera fÀrdigheter frÄn flera yrken. Att bli en person som Àr redo att föreslÄ förbÀttringar dÀr andra IT-specialister inte ens tÀnker pÄ nÄgot annat. Man betalar bra för det, men en stor mÀngd kunskap krÀvs ocksÄ.
Vad tjÀnar DevOps?
Den genomsnittliga medianlönen för DevOps enligt data frĂ„n andra kvartalet 2019 ligger mellan 90 och 160 000 rubel. Det finns erbjudanden som Ă€r billigare â mestadels 60â70 000.
Det finns stÀndigt erbjudanden upp till 200 000, och det finns jobb med löner pÄ upp till 330 000 rubel.

Bland specialister pÄ DevOps Àr lönerna högre Àn för andra. KÀlla:
DevOps-ingenjörer, inklusive nybörjare, efterfrÄgas just nu av stora banker, företag, molntjÀnster, handelssystem och andra organisationer som vÀrnar om sina IT-lösningar.
En utmĂ€rkt kandidat för en junior position med en lön pĂ„ 60â90 000 Ă€r en nybörjande systemadministratör med ungefĂ€r ett Ă„rs erfarenhet och relevant examen.
Â

Det finns ingen exakt statistik, men pÄ kÀnslan betalas det mer till personer med erfarenhet av Linux.
Vad man ska titta pÄ och lÀsa för att vÀxa i yrket
För att dyka ner i DevOps-vÀrlden, försök med flera informationskÀllor:
- [YouTube, ENG] â mĂ„nga videor frĂ„n konferenser och utbildningswebinarier.
- [YouTube, RUS] â videoförelĂ€sningar frĂ„n en professionell DevOps-konferens i Ryssland.
- [bok, RUS] â en av de mest populĂ€ra böckerna om DevOps-filosofi. Boken innehĂ„ller allmĂ€nna principer för metodologin och berĂ€ttar vad man ska fokusera pĂ„ först nĂ€r man arbetar med vilket projekt som helst.
- [bok, RUS] â mycket teori och principer kring hur systemadministration bör vara organiserad.
- [bok, ENG] â en veckovis översikt över nyheter inom DevOps vĂ€rlden över.
- [Telegram, RUS] â nyheter inom branschen, annonser om konferenser, lĂ€nkar till nya intressanta artiklar och böcker.
- [Telegram, RUS] â rysktalande chatt dĂ€r man kan be om rĂ„d och hjĂ€lp med konfigurationer.
- Devops.com â en stor internationell webbplats med artiklar, webbinarier, podcasts och kolumner frĂ„n de största företagen i branschen.
- â ett rysktalande community av DevOps-ingenjörer och intresserade.
- BÀsta böckerna om det sprÄk du kommer att anvÀnda för utveckling.
Var man kan lÀra sig om DevOps
Strukturerad kunskap kan man fÄ pÄ kursen «» pÄ Netology. Du lÀr dig hela metodologins cykel:
- Du kommer att fÄ veta hur man analyserar kod och snabbt anvÀnder versionskontrollverktyg.
- Du kommer att förstÄ de bÀsta metoderna för kontinuerlig integration, testning och byggande.
- Du lÀr dig att hantera förÀndringar i applikationer och automatisera dem.
- I praktiken kommer du att studera verktyg för konfiguration och hantering.
- Du lÀr dig ocksÄ att direkt vÀlja och konfigurera de nödvÀndiga tjÀnsterna för övervakning.
Som bonus fĂ„r du en kurs i Python-programmering â sĂ„ att du kan lösa uppgifter Ă€nnu snabbare och enklare. Allt praktiskt â vi anvĂ€nder AWS, GCP eller Azure.
Detta Àr tillrÀckligt för att en nybörjaringenjör eller systemadministratör ska kunna bli en eftertraktad DevOps och höja sitt vÀrde pÄ arbetsmarknaden.
KĂ€lla: habr.com
