DevOps-insenerid on mitmekesised spetsialistid, kes oskavad automatiseerida protsesse ja teavad, kuidas arendajad, QA ja juhid töötavad. Nad oskavad programmeerida, omandavad kiiresti keerulisi tööriistu ega kaota pead tundmatu ülesande ees. DevOps-inseneride arv on väike — neile ollakse valmis maksma 200–300 tuhat rubla, kuid töökohti on endiselt palju.
Dmitri Kuzmin räägib, millega täpselt DevOps tegeleb ja mida tuleb õppida, et sellele ametikohale kandideerida. Boonusena — olulised lingid raamatutele, videotele, kanalitele ja professionaalsele kogukonnale.
Millega tegeleb DevOps-insener
DevOps-i puhul on oluline mitte segi ajada termineid. Asi on selles, et DevOps ei ole mingi konkreetne tegevusvaldkond, vaid ametialane filosoofia. See on metodoloogia, mis aitab arendajatel, testijatel ja süsteemiadministraatoritel töötada kiiremini ja tõhusamalt tänu automatiseerimisele ja sujuvale koostööle.
Seega on DevOps-insener spetsialist, kes rakendab seda metodoloogiat tööprotsessis:
- Planeerimise etapis aitab DevOps-insener otsustada, millist arhitektuuri rakendus kasutab, kuidas see skaleeritakse ja valida orkestreerimissüsteemi.
- Seejärel seadistab ta serverid, automatiseeritud koodi kontrollimise ja laadimise, keskkonna kontrollimise.
- Pärast seda automatiseerib ta testimise ja lahendab juurutamisega seotud ülesanded.
- Pärast väljaandmist on oluline koguda tagasisidet kasutajatelt ja rakendada parendusi. DevOps tagab, et kasutajad ei märkaks neid parendusi ning uuendamise protsess oleks pidev.
- Samuti lahendab ta kümneid ülesandeid, mis aitavad korraldada arendajate, QA, süsteemihaldurite ja juhtide töösüsteemi.
Kõik, mis on ülalpool kirjutatud, toimub peaaegu ideaalsetes projektides. Reaalses maailmas tuleb aga alustada projektist, kus planeerimine jäi vahele, arhitektuuriga eksiti ja automatiseerimisest mõeldi alles siis, kui kõik projektid seisis. Nende probleemide mõistmine, lahendamine ja tagamine, et kõik toimiks, on DevOps-spetsialisti peamine oskus.
Tööturul valitseb segadus. Mõnikord otsib ettevõte DevOps-insenere süsteemiinseneri, ehitusinseneri või kellegi muu ametikoha täitmiseks. Kohustused varieeruvad vastavalt ettevõtte suurusele ja suunale - kuskil otsitakse inimest konsultatsiooniks, kuskil palutakse kõike automatiseerida, ja kuskil nõutakse, et täidaksid laiendatud süsteemiadministraatori funktsioone, kes oskab programmeerida.
Mis on vajalik ametisse sisenemiseks
Ametisse sisenemine nõuab eelnevat ettevalmistust. Lihtsalt tulla kursustele nullist, ilma IT-st midagi teadmata, ja õppida junior-tasemeni ei õnnestu. Vajalik on tehniline taust:
- Ideaalne on, kui olete töötanud süsteemiadministraatorina, kasutuse või testimise spetsialistina vähemalt kuus kuud. Või vähemalt peaksite omama ettekujutust, kuidas rakendused käivituvad, missugustes keskkondades nad võivad areneda ja mida teha, kui näete viga. Kui töökogemust ei ole, läbige mõni Linuxi halduse kursus, kordades kõike, mis toimub, kodus arvutis.
- Mõistke, kuidas võrgu tehnoloogiad töötavad - õppige installima, seadistama ja haldama kohalikke ja globaalseid võrke.
- Vaata, kuidas ja millest on programmeerimine — kirjuta mõned skriptid Pythonis või Go-s, proovi mõista OOP (objekti suunatud programmeerimise) põhimõtteid ning loe toote arenduse üldtsükli kohta.
- Tehnilise ingliskeele oskus on oluline — vabalt suhtlemine ei ole vajalik, piisab dokumentatsiooni ja liideste lugemise oskusest.
Ei ole vajalik kõike nimetatud põhjalikult teada, DevOps-iga alustamiseks piisab minimaalsetest teadmistest. Kui sul on selline tehniline taust, proovi registreeruda kursustele.
Mida peaks DevOps teadma
Hea DevOps-insener on mitme erialaga spetsialist, kelle silmaring on väga lai. Edukaks tööks pead sa omandama teadmisi mitmest IT-suunast.
Arendus
DevOps kirjutab skripti, mis aitab arendajatel koodi serverisse paigaldada. Ta loob programmi, mis testib andmebaaside reageerimisvõimet reaalajas. Kirjutab rakenduse versiooni juhtimiseks. Lõpuks märkab ta lihtsalt potentsiaalset probleemi arenduses, mis võib serveris tekkida.
Tugev DevOps spetsialist tunneb mitmeid keeli, mis sobivad automatiseerimiseks. Ta ei tunne neid süvitsi, kuid suudab kiiresti kirjutada väikese programmi või lugeda kellegi teise koodi. Kui te pole varem arendusega kokku puutunud, alustage Pythoniga — sellel on lihtne süntaks, sellega on lihtne töötada pilvetehnoloogiatega, samuti on olemas palju dokumentatsiooni ja raamatukogusid.
Operatsioonisüsteemid
Küsimus ei seisne selles, et teada kõikide süsteemide versioonide kõiki võimalusi — sellise koolituse läbimiseks võib kuluda tuhandeid tunde, millest kasu ei ole. Hea DevOps mõistab, kuidas töötada igas operatsioonisüsteemis, järgides üldpõhimõtteid. Samuti peavad tehnikud olema teadlikud, et paljusid praeguseid töökohti täidetakse Linuxis.
Hea insener mõistab, millises süsteemis on projekti parem ellu viia, milliseid tööriistu kasutada ja millised potentsiaalsed vead võivad ilmneda rakendamise või kasutamise käigus.
Pilved
Pilvetehnoloogiate turg keskmiselt 20-25% aastas — see infrastruktuur võimaldab automatiseerida kooditöötluse operatsioone, rakenduste koostamist komponentidest ja uuenduste tarnimist kasutajatele. Hea DevOps mõistab nii täielikult pilvepõhiseid kui ka hübriidlahendusi.
Standardnõuetes inseneride kohta märgitakse tavaliselt GCP, AWS ja Azure.
Siia kuulub ka oskus kasutada CI/CD tööriistu. Jätkuva integreerimise jaoks kasutatakse tavaliselt Jenkinsit, aga tasub proovida ka analooge. Neid on palju, näiteks Buddy, TeamCity ja Gitlab CI. Kasulik on õppida ka Terraformi — see on deklareeritud tööriist, mis aitab kaugelt infrastruktuuri üles seada ja konfigureerida pilvedes. Ja Packer, mis on vajalik operatsioonisüsteemide piltide automaatseks loomiseks..
Orkestreerimissüsteemid ja mikroteenused.
Mikroteenuste arhitektuuril on palju eeliseid — stabiilsus, kiire skaleerimise võimalus, lihtsustamine ja korduv kasutamine. DevOps mõistab, kuidas mikroteenused töötavad, ja suudab ennetada potentsiaalseid probleeme.
Tunnete Dockerit ja Kubernetes. Teate, kuidas konteinerid töötavad, ja oskate ehitada süsteemi nii, et saate osa neist ilma mõju avaldamata kogu süsteemile lahti ühendada. Näiteks oskate luua Kubernetes klastrit Ansible'i abil.
Mida veel katsetada tulevasele DevOps insenerile
Saate lõputult loetleda tööriistu, mis võivad DevOps inseneride töös kasuks tulla. Keegi töötab projektide orkestreerimise kallal, teised veedavad suure osa ajast juurutamise ja testimise automatiseerimisega, kuid kolmandad parandavad konfiguratsiooni haldamise efektiivsust. Protsessi käigus on selge, kuhu süveneda ja millised projektid on kasulikud.
Siin on veel mõned põhilised asjad, mis aitavad alustada:
- Uurige, kuidas Git ja Github töötavad, kui te pole nendega veel kokku puutunud. Installige GitLab oma serverisse.
- Tutvuge JSON ja YAML märgistuskeeltega.
- Installige ja proovige töötada andmebaasidega — mitte ainult MySQLiga, vaid ka NoSQLiga. Proovige MongoDBd.
- Uurige, kuidas hallata mitme serveri konfiguratsiooni. Näiteks Ansible'i abil.
- Seadistage kohe koormuse jälgimine ja logid. Proovige kooslust Prometheus, Grafana, Alertmanager.
- Otsi parimaid lahendusi erinevate keelte kasutamiseks — piisab tutvumist, rakendamist ja harjutate oma koolitus- või töömargil.
Miks tasub alustada DevOpsi õppimisega just nüüd
DevOps-inseneride turul valitseb tööjõu nappus. Seda kinnitavad töökohade arv ja kvaliteet:
- Venemaal on ainult HeadHunteris pidevalt saadaval üle 2000 töökoha selle märksõna järgi.
- Ja ainult 1900 inimest on esitanud oma CV.
Arvestades, et CV esitlemine ei tähenda aktiivset tööotsingut, selgub, et ühe spetsialisti kohta on kaks või isegi kolm töökohta — sellist olukorda pole isegi populaarsete veebi arendus turgudel. Lisage siia veel töökohad Habrist ja Telegrami kanalitest — spetsialistide puudus on tohutu.

Pöörake tähelepanu kandidaatide palgasoovidele
DevOps on nõutud ka maailmas — kui plaanite USA-sse või Euroopasse ümber asuda, siis ainult sellisel portaalil otsib selliseid spetsialiste rohkem kui 34 tuhat ettevõtet. Sageli nõutakse 1–3-aastast kogemust, oskust töötada 'pilvedes' ja mitte kartma konsultatsioonifunktsioone.
Vabakutseli turul on pakkumisi oluliselt vähem — DevOps-inseneride otsingud toimuvad peamiselt täistööajaga töötamiseks.

Sobiva projekti leidmine vabakutsel on keeruline, kuid võimalik.
DevOps-inseneri tinglik karjäärimudel võiks välja näha järgmine:
- Kuus kuud kuni aasta töötatakse väikese IT-ettevõtte süsteemiadministraatorina. Samal ajal õpitakse automaatimiseks sobivat programmeerimiskeelt.
- Intensiivne õpe kursustel, kestab umbes pool aastat.
- Minu Töökoht muutub — töötamiseks ettevõttes, mis müüb pilveteenuseid, suure korporatsiooni filiaalis või suurte projektide arendajate juures. Teisisõnu, kohtades, kus on pidev vajadus automatiseerimise ja juurutamise järele. Algpositsioonina on pakkumine umbes 100 000 rubla.
- Mõned aastat töötatakse aktiivselt ja õpitakse, teenides mitu korda rohkem.
- Saabeks eksperdiks professionaalses kogukonnas ja siirdub konsultatsiooni. Või tõuseb süsteemiarhitektiks või IT-direktoriks.
DevOps on keeruline. Peame ühendama mitme ametiväärse oskused. Saama inimeseks, kes on valmis pakkuma parendusi kohtades, kus teised IT-spetsialistid isegi ei mõtle millegi muule. Selle eest makstakse palju, kuid vajate ka suurt teadmusbaasi.
Kui palju DevOps teenib
Keskmine mediaansalär, vastavalt 2019. aasta teise kvartali andmetele, on DevOps'i spetsialistide puhul vahemikus 90 kuni 160 tuhat rubla. On ka odavamaid pakkumisi — peamiselt 60–70 tuhat.
Kontrollitud pakkumisi on pidevalt kuni 200 tuhat, kohtab ka tööpakkumisi, kus palk ulatub kuni 330 tuhat rubla.

DevOps-i spetsialistide töötasu on kõrgem kui teistel. Allikas:
DevOps-insenere, sealhulgas algajaid, vajavad praegu suured pangad, korporatsioonid, pilveteenused, kaubandussüsteemid ja muud organisatsioonid, kes hoolivad oma IT-lahenduste toetamisest.
Hea kandidaat noore ametikoha jaoks, mille palk on 60–90 tuhat, on algaja süsteemiadministraator, kellel on aastane kogemus ja vastav diplom.

Seda statistikat pole, kuid tundub, et Linuxi kogemusega inimestele makstakse rohkem.
Mida vaadata ja lugeda oma karjääri arendamiseks
DevOpsi maailma süvenemiseks proovige mitmeid teabe allikaid:
- [YouTube, ENG] — palju videosid konverentsidelt ja hariduslikest veebiseminaridest.
- [YouTube, RUS] — videod professionaalse DevOps konverentsi ettekannetest Venemaal.
- [книга, RUS] — üks populaarsemaid raamatuid DevOpsi filosoofiast. Raamat sisaldab metodoloogiate üldpõhimõtteid ja räägib, millele tähelepanu pöörata igas projektis töötades.
- [книга, RUS] — palju teooriat ja põhimõtteid selle kohta, kuidas süsteemiadministreerimine peaks olema korraldatud.
- [книга, ENG] — nädalane ülevaade DevOpsi uudistest üle kogu maailma.
- [Telegram, RUS] — tööstuse uudised, konverentside kuulutused, lingid uutele huvitavatele artiklitele ja raamatutele.
- [Telegram, RUS] — venekeelne jututuba, kus saab nõu küsida ja abi oma seadistuste osas.
- Devops.com — suur rahvusvaheline sait artiklite, veebiseminaride, podcastide ja suurimate tööstuse ettevõtete kolumnidega.
- — venekeelne DevOpsi inseneride ja toetajate kogukond.
- Parimad raamatud selle keele kohta, mida kasutate arendamiseks.
Kus õppida DevOps-i
Struktureeritud teadmisi saab kursusel „“ Netoloogias. Õpite täielikku metoodika tsüklit:
- Saate teada, kuidas analüüsida koodi ja kiiresti kasutada versioonihaldustööriistu.
- Tutvute parimate tavajuhistega pideva integreerimise, testimise ja koostamise osas.
- Õpite haldama muudatusi rakendustes ja automatiseerima neid.
- Praktiliselt uurite konfiguratsiooni- ja haldustööriistu.
- Harjutate kohe valima ja seadistama vajalikke teenuseid jälgimiseks.
Lisaks saate kursuse Python-i programmeerimisest — lahendate ülesandeid veel kiiremini ja lihtsamalt. Kõik praktiliselt — kasutame AWS, GCP või Azure.
Seda on piisavalt, et algsest insenerist või süsteemiadministraatorist saaks nõutud DevOps ja tõstate oma palgatoot nagu tõelised professionaalid.
Allikas: habr.com
