DevOps-insenerid on multidistsiplinaarsed spetsialistid, kes oskavad automatiseerida protsesse ja tunnevad, kuidas arendajad, QA ja juhid töötavad. Nad oskavad programmeerida, omandavad kiiresti keerulisi tööriistu ja ei kaota meelt tundmatute ĂŒlesannete ees. DevOps-insenere on vĂ€he â neile ollakse valmis maksma 200â300 tuhat rubla, kuid tööpakkumisi on endiselt palju.
Dmitri Kuzmin rÀÀgib, millega tĂ€pselt DevOps tegeleb ja mida on vaja Ă”ppida, et sellisele ametikohale pretendeerida. Boonusena â olulised lingid raamatutele, videotele, kanalitele ja ametlikule kogukonnale.
Millega tegeleb DevOps-insener
DevOps-i puhul on oluline mitte segi ajada mĂ”isted. Nimelt ei ole DevOps mingi konkreetne tegevusvaldkond, vaid professionaalne filosoofia. See on metodoloogia, mis aitab arendajatel, testijatel ja sĂŒsteemiadministraatoritel töötada kiiremini ja tĂ”husamalt automatiseerimise ja sujuvuse kaudu.
Seega on DevOps-insener spetsialist, kes rakendab seda metodoloogiat tööprotsessis:
- Planeerimise etapis aitab DevOps-insener otsustada, millist arhitektuuri rakendus kasutab, kuidas seda skaleerida, ning valida koordineerimissĂŒsteemi.
- Edasi seadistab ta serverid, automatiseeritud koodi kontrolli ja laadimist, loodusliku keskkonna kontrollimist.
- SeejĂ€rel automatiseerib testimise ja lahendab juurutamise ĂŒlesandeid.
- PÀrast vÀljalaskmist on oluline koguda tagasisidet kasutajatelt ja rakendada parandusi. DevOps tagab, et kasutajad ei mÀrkaks neid parendusi ja vÀrskendusprotsess oleks pidev.
- Ja lahendab samal ajal kĂŒmneid probleeme, mis aitavad luua töökorraldust arendajate, QA, sĂŒsteemiadministraatorite ja juhendajate vahel.
KĂ”ik, mis ĂŒlaltoodud on kirjutatud, toimub peaaegu ideaalses projektis. Kuid reaalne maailm sunnib algama projektis, kus planeerimine jĂ€i vahele, arhitektuur eksis ning automatiseerimise peale mĂ”eldi alles siis, kui kĂ”ik projektid seisis. Ja nende probleemide lahendamine ning tagamine, et kĂ”ik toimiks â on DevOps-spetsialisti peamine oskus.
TööjĂ”uturul on segadus. MĂ”nikord otsib ettevĂ”te DevOps-inseneri sĂŒsteemiinseneri, koostootmisinseneri vĂ”i kellegi muu ametikoha jaoks. Ălesanded sĂ”ltuvad ettevĂ”tte suurusest ja suunast â kuskil otsitakse konsultandi rolli, kuskil palutakse kĂ”ike automatiseerida ja kuskil nĂ”utakse laienevaid sĂŒsteemiadministraatori funktsioone, kes oskab programmeerida.
Mida on vaja, et alustada ametiga
Ametisse sisenemine nÔuab eelnevat ettevalmistust. Lihtsalt minna kursustele algajana, teadmata IT-st midagi, ja Ôppida junior tasemele ei ole vÔimalik. Vajalik on tehniline taust:
- Ideaalne, kui olete töötanud pool aastat vĂ”i rohkem sĂŒsteemiadministraatorina, kasutuse eksperdina vĂ”i testimises. VĂ”i vĂ€hemalt on teil ettekujutus, kuidas rakendused kĂ€ivituvad, millises keskkonnas nad vĂ”ivad areneda ja mida teha, kui nĂ€ete viga. Kui kogemusi pole, lĂ€bige mĂ”ni Linuxi administreerimise kursus, korrates kĂ”ike, mis toimub, kodus masinas.
- Selgitage vĂ€lja, kuidas töötab vĂ”rgutehnoloogia â Ă”ppige seadistama, konfigureerima ja haldama kohalikke ja globaalseid vĂ”rke.
- Vaadake, kuidas ja millest programmeerimine koosneb â kirjutage paar skripti Pythonis vĂ”i Go's, proovige mĂ”ista OOP (objektorienteeritud programmeerimine) pĂ”hiprintsiipe, lugege toote arenduse ĂŒldtsĂŒkli kohta.
- Kasuks tuleb tehnilise inglise keele oskus â ei ole vaja sujuvalt suhelda, piisab, kui oskate lugeda dokumentatsiooni ja liideseid.
Ei ole tingimata vajalik kÔike loetletut pÔhjalikult teada, DevOpsi Ôppe alustamiseks piisab minimaalset tasemest ettevalmistusest. Kui selline tehniline taust on olemas, proovige registreeruda kursustele.
Mida peaks DevOps teadma
Hea DevOps-insener on mitmekĂŒlgne spetsialist, kellel on vĂ€ga lai silmaring. Edukas töö nĂ”uab teil mitmes IT-valdkonnas oskusi omandada.
Arendus
DevOps kirjutab skripti, mis aitab arendajatel koodi serverisse paigutada. Valmistab ette programmi, mis "lennult" testib andmebaaside reageerimist. Kirjutab rakenduse versioonihalduse jÀlgimiseks. LÔpuks mÀrkab lihtsalt potentsiaalset probleemi arenduses, mis vÔib serveris tekkida.
Tugev DevOps-spetsialist tunneb mitmeid keeli, mis sobivad automatiseerimiseks. Ta ei valda neid sĂŒvitsi, kuid suudab kiiresti kirjutada vĂ€ikese programmi vĂ”i lugeda kellegi teise koodi. Kui enne pole arendusega kokku puutunud, alusta Pythoniga â sellel on lihtne sĂŒntaks, sellega on lihtne töötada pilvetehnoloogiate kallal, ja olemas on palju dokumentatsiooni ning raamatukogusid.
OperatsioonisĂŒsteemid
VĂ”imatu on teada iga sĂŒsteemi iga versiooni kĂ”iki vĂ”imalusi â selleks harimiseks vĂ”ib kuluda tuhandeid tunde, kuid mingit kasu sellest ei ole. Selle asemel mĂ”istab hea DevOps ĂŒldisi pĂ”himĂ”tteid töötamiseks igas operatsioonisĂŒsteemis. Kuigi, sĂŒmptomite pĂ”hjal tööpakkumistes, töötab enamik praegu Linuxis.
Hea insener mĂ”istab, millises sĂŒsteemis projekti paremini kĂ€ivitada, milliseid tööriistu kasutada ja millised potentsiaalsed vead vĂ”ivad ilmuda rakendamise vĂ”i kasutamise kĂ€igus.
Pilved
Pilvetehnoloogia turg keskmiselt 20-25% aastas â see infrastruktuur vĂ”imaldab automatiseerida koodi testimise, rakenduste komponentidest kokku pannemise, ja vĂ€rskenduste toimetamise kasutajateni. Hea DevOps oskab nii tĂ€ielike pilviteenuste kui ka hĂŒbriidlahenduste peale.
Standardsetes nÔuetes inseneride jaoks on tavaliselt nimetatud GCP, AWS ja Azure.
Siia alla kuulub ka pideva integreerimise tööriistade tundmine. TĂ”enĂ€oliselt kasutatakse pidevaks integreerimiseks Jenkinsit, kuid tasub proovida ka analooge. Neid on palju, nĂ€iteks Buddy, TeamCity ja Gitlab CI. Kasulik on Ă”ppida ka Terraformi â see on deklaratiivne tööriist, mis aitab kaugelt infrastruktuuri ĂŒles seada ja seadistada pilvetes. Ja Packer, mis on vajalik operatsioonisĂŒsteemi piltide automaatseks loomiseks.
OrkestreerimissĂŒsteemid ja mikroteenused
Mikroteenuse arhitektuuril on palju eeliseid â stabiilsus, kiire skaleerimise vĂ”imalus, lihtsustamine ja uuesti kasutamine. DevOps mĂ”istab, kuidas mikroteenused töötavad, ja suudab ennetada potentsiaalseid probleeme.
TĂ€pne teadmine Dockerist ja Kubernetesest. Ta mĂ”istab, kuidas konteinerid töötavad, kuidas sĂŒsteemi ĂŒles ehitada nii, et osa neist saaksid ilma tagajĂ€rgedeta vĂ€lja lĂŒlitada. NĂ€iteks oskab ta ĂŒles ehitada Kubernetes klastrit Ansible'i abil.
Mida veel proovida tulevane DevOps
DevOps-inseneri töös abiks olevate tööriistade loetelu vÔiks olla lÔputu. Keegi töötab projekti orkestreerimise kallal, teised veedavad suure osa ajast pakkumise ja testimise automatiseerimisega, kolmandad aga suurendavad efektiivsust konfiguratsiooni haldamises. Protsessi kÀigus selgub, kuhu kaevata ja millised projektid osutuvad kasulikuks.
Siin on veel mÔned pÔhiasjad, mis aitavad alustamisel:
- Tutvuge, kuidas toimivad Git ja GitHub, kui te pole nendega veel kokku puutunud. Installige GitLab oma serverisse.
- Tutvuge JSON-i ja YAML-i mÀrgistuskeeltega.
- Installige ja proovige andmebaase â mitte ainult MySQL-i, vaid ka NoSQL-i. Proovige MongoDB-d.
- Selgeks tehke, kuidas hallata mitme serveri konfiguratsiooni korraga. NĂ€iteks Ansible'i abil.
- Seadistage kohe koormuse jÀlgimine ja logid. Proovige Prometheuse, Grafana ja Alertmanageri kombinatsiooni.
- Otsige parimaid lahendusi eri keeltele â piisab lihtsalt tutvumisest, rakendamisest ja detailidesse sĂŒvenemisest treening- vĂ”i tööprojektil.
Miks on mĂ”istlik alustada DevOpsi Ă”ppimisega just nĂŒĂŒd
DevOps-inseneride turul valitseb töötajate puudus. Seda kinnitab tööpakkumiste arv ja kvaliteet:
- Venemaal on ainult HeadHunteris pidevalt saadaval ĂŒle 2000 töökoha selle vĂ”tmesĂ”na jĂ€rgi.
- Vaid 1900 inimest on esitanud oma CV.
Arvestades, et CV esitlemine ei tĂ€henda aktiivset tööotsingut, selgub, et ĂŒhel spetsialistil on kaks vĂ”i kolm tööpakkumist â selline olukord ei esine isegi populaarses veebiarenduse turul. Lisage siia veel pakkumised Habrist ja Telegrami kanalitest â spetsialistide puudus on tohutu.

Pöörake tÀhelepanu kandidaatide palgavajadusele
DevOps on nĂ”utud ka maailmas â kui plaanite relokatsiooni Ameerikasse vĂ”i Euroopasse, siis ainult selles portaalis otsivad selliseid spetsialiste ĂŒle 34 000 firma. Sageli nĂ”utakse 1â3-aastast kogemust, oskust töötada 'pilvedes' ja julgus konsulteerivaid funktsioone tĂ€ita.
Freelance-is on pakkumisi kordades vĂ€hem â DevOps-insenere otsitakse peamiselt tĂ€iskohaga töösse.

Sobiva projekti leidmine freelancingus on keeruline, kuid vÔimalik
DevOps-inseneri tĂŒĂŒpilist karjÀÀriteed vĂ”ib ette kujutada umbes nii:
- Poolaastaâaasta töötab sĂŒsteemihaldurina vĂ€ikeses IT-ettevĂ”ttes. Samuti Ă”pib ta keelt, mis sobib automatiseerimiseks.
- Ăpib intensiivselt kursustel, umbes pool aastat.
- Liigub teisele tööle â ettevĂ”ttesse, mis mĂŒĂŒb pilvelahendusi, suure korporatsiooni filiaal, suurte projektide arendajatele. TeisisĂ”nu, sinna, kus on pidev automatiseerimise ja rakendamise vajadus. Esialgsel positsioonil on palk umbes 100 tuhat rubla.
- MÔned aastad aktiivselt töötab ja Ôpib, tÔstes sissetulekut mitmekordselt.
- Saab ekspertideks professionaalses kogukonnas ja liigub konsultatsiooni. VĂ”i tĂ”useb sĂŒsteemiarhitekti vĂ”i IT-direktori tasemele.
DevOps on keeruline. Tuleb omada oskusi mitmest ametist. Tulla inimeseks, kes on valmis pakkuma parandusi seal, kus teised IT-spetsialistid ei mÔelda millegi uue peale. Selle eest makstakse palju, kuid vajalik on ka suur teadmistemaht.
Kui palju teenivad DevOps-i spetsialistid
Keskmine mediaanipalk DevOps-i spetsialistide seas oli 2019. aasta teise kvartali andmete kohaselt vahemikus 90 ja 160 tuhat rubla. On ka madalamaid pakkumisi â peamiselt 60â70 tuhat.
Alati on pakkumisi kuni 200 tuhat, kohtuvad ka tööpakkumised palgaga kuni 330 tuhat rubla.

DevOps-i spetsialistid teenivad rohkem kui teised. Allikas:
DevOps-insenerid, sealhulgas algajad, on praegu vajalikud suurtes pankades, korporatsioonides, pilveteenustes, kaubandussĂŒsteemides ja muudes organisatsioonides, kes hoolivad oma IT-lahenduste toetamisest.
Hea kandidaat noore ametikoha jaoks palgaga 60â90 tuhat on algaja sĂŒsteemihaldur, kellel on umbes aasta kogemust ja erialane diplom.
Â

Seda statistikat pole, kuid tundub, et Linuxi kogemusega inimestele makstakse rohkem.
Mida vaadata ja lugeda ametis kasvamiseks
DevOps-i maailma sĂŒvenemiseks proovige mitut erinevat teabeallikat:
- [YouTube, ENG] â palju videosid konverentsidelt ja hariduslikest veebiseminaridest.
- [YouTube, RUS] â videotest esitlused professionaalselt DevOps konverentsilt Venemaal.
- [raamat, RUS] â ĂŒks populaarsemaid raamatuid DevOps filosoofia kohta. Raamat sisaldab meetodoloogia ĂŒldpĂ”himĂ”tteid ja rÀÀgib, millele pöörata erilist tĂ€helepanu igas projektis töötades.
- [raamat, RUS] â palju teooriat ja pĂ”himĂ”tteid selle kohta, kuidas sĂŒsteemihaldus peaks toimuma.
- [raamat, ENG] â iganĂ€dalane ĂŒlevaade DevOpsi uudistest kogu maailmas.
- [Telegram, RUS] â tööstuse uudised, konverentside kuulutused, lingid huvitavatele uutele artiklitele ja raamatutele.
- [Telegram, RUS] â venekeelne vestlus, kus saab kĂŒsida nĂ”u ja abi seadete osas.
- Devops.com â suur rahvusvaheline sait artiklite, veebiseminaride, podcastide ja tööstuse juhtivate ettevĂ”tete rubriikidega.
- â venekeelne DevOps inseneride ja toetajate kogukond.
- Parimad raamatud programmist, millega hakkate arendama.
Kus Ôppida DevOps-i
Struktureeritud teadmisi saab kursusel «» Netologijas. Ăpid tĂ€isringi metoodikat:
- Sa tead, kuidas analĂŒĂŒsida koodi ja kiiresti kasutada versioonihalduse tööriistu.
- Tead sirutada parimaid tavasid pideva integreerimise, testimise ja ehitamise osas.
- Ăpid rakenduste muudatuste haldamist ja automatiseerimist.
- Praktiliselt uurid konfiguratsiooni ja haldustööriistu.
- Harjutad kohe valima ja seadistama vajalikke teenuseid jÀlgimiseks.
Boonuseks saad kursuse programmeerimisest Pythonis â saad probleeme lahendada veelgi kiiremini ja lihtsamalt. KĂ”ik praktiliselt â kasutame AWS, GCP vĂ”i Azure.
Seda piisab, et algajast insenerist vĂ”i sĂŒsteemihaldurist saada nĂ”utud DevOps ja tĂ”sta oma turuhinda.
Allikas: habr.com
