Inxhinierët DevOps janë profesionistë me shumë disiplinë, të aftë për të automatizuar procese dhe të njohin mënyrën se si punojnë zhvilluesit, QA dhe menaxherët. Ata dinë të programojnë, zotërojnë shpejt mjete të komplikuara dhe nuk shqetësohen para një detyre të panjohur. Ka pak inxhinierë DevOps — ata shpërblehen me 200–300 mijë rubla, por mundësitë për punë janë akoma të shumta.
Dmitry Kuz'min shpjegon se çfarë saktësisht bën një DevOps dhe çfarë duhet të studiohet për të pretenduar një pozicion të tillë. Si një bonus — lidhje të rëndësishme për libra, video, kanale dhe një komunitet profesional.
Çfarë bën një inxhinier DevOps
Në situatën e DevOps, është e rëndësishme të mos përzihen termat. E vërteta është se DevOps nuk është një drejtim specifik, por një filozofi profesionale. Kjo është një metodologji që ndihmon zhvilluesit, testuesit dhe administratorët e sistemeve të punojnë më shpejt dhe më efikas duke përdorur automatizimin dhe ndërveprimin e pandërprerë.
Për pasojë, inxhinieri DevOps është një specialist që implementon këtë metodologji në procesin e punës:
- Në fazën e planifikimit, inxhinieri DevOps ndihmon në përcaktimin e arkitekturës që do të përdoret nga aplikacioni, si do të shkallëzohet, dhe zgjidh sistemin e orkestrimit.
- Pastaj konfiguroni serverët, verifikimin automatizuar dhe ngarkimin e kodit, si dhe kontrollin e mjedisit.
- Më pas automatizon testimin dhe zgjidh çështjet e desplejimit.
- Pas lansimit, është e rëndësishme të grumbullohet feedback nga përdoruesit dhe të implementohen përmirësime. DevOps siguron që përdoruesit të mos e vërejnë këtë përmirësim dhe procesi i ripërditësimit të jetë i vazhdueshëm.
- Dhe gjithashtu zgjidh dhjetëra probleme që ndihmojnë në optimizimin e sistemit të punës së zhvilluesve, QA, administratorëve të sistemeve dhe menaxherëve.
Çdo gjë që përmendet më sipër ndodh në projekte që janë afër të shkëlqyera. Në botën reale, megjithatë, duhet të filloni në një projekt ku planifikimi është dëgjuar, me një arkitekturë të gabuar, dhe mendimi për automatizimin ka nisur vetëm kur të gjitha projektet janë ndalur. Dhe të kuptosh të gjitha këto probleme, t'i zgjidhësh ato dhe të bësh që gjithçka të funksionojë, është një aftësi kyçe për specialistin DevOps.
Në tregun e punës ka konfuzion. Ndërsa bizneset shpesh kërkojnë inxhinierë DevOps për pozita si inxhinierë sistemesh, inxhinierë ndërtimi, ose dikë tjetër. Detyrat variojnë në varësi të madhësisë së kompanisë dhe fushës — disa kërkojnë një person për konsulencë, disa kërkojnë të automatizojnë gjithçka, ndërsa disa kërkojnë që individi të përmbushë detyra të avancuara si sistem administrator që di të kodojë.
Çfarë nevojitet për të filluar në profesion
Hyrja në profesion kërkon përgatitje të mëparshme. Thjesht të shkosh në kurse pa e kuptuar asgjë në IT dhe të mësosh deri në nivelin junior nuk do të funksionojë. Duhet një bazë teknike:
- Idealja është të keni punuar për gjashtë muaj e më shumë si sistem administrator, specialist operativ ose testues. Ose të paktën të keni një ide se si aplikacionet startojnë, në cilën mjedis ato mund të zhvillohen dhe çfarë duhet të bëni nëse shihni një gabim. Nëse nuk keni përvojë pune, ndiqni ndonjë kurs për administrimin e Linux-it, duke përsëritur gjithçka që ndodh në kompjuterin tuaj në shtëpi.
- Kuptoni si funksionojnë teknologjitë rrjetore — mësoni të instaloni, konfiguroni dhe menaxhoni rrjete lokale dhe globale.
- Shikoni se si është e ndërtuar programimi dhe nga çfarë. Shkruani disa skripte në Python ose Go, provoni të kuptoni parimet e OOP (Programimi Objektor), dhe lexoni rreth ciklit të përgjithshëm të zhvillimit të produktit.
- Njohuria e anglishtes teknike është e nevojshme — nuk është e domosdoshme të bisedoni për tema të lira, mjafton të dini të lexoni dokumentacionin dhe interfeset.
Nuk është e nevojshme të dini gjithçka e përmendur me hollësi, për të filluar mësimet e DevOps mjafton një nivel minimal përgatitjeje. Nëse keni një background teknik të tillë, provoni të regjistroheni në kurse.
Çfarë duhet të dijë një DevOps
Një inxhinier i mirë DevOps është një specialist multidisiplinar me një horizont shumë të gjerë. Për të qenë të suksesshëm, do t'ju duhet të kuptoni disa drejtime të IT-së.
Zhvillimi
DevOps do të shkruajë një skript që do të ndihmojë zhvilluesit të instalojnë kodin në server. Do të krijojë një program që teston në kohë reale përgjigjen e bazave të të dhënave. Do të shkruajë një aplikacion për mbikëqyrjen e versioneve. Më në fund, do të vërejë një problem të mundshëm në zhvillim që mund të shfaqet në server.
Një specialist i fuqishëm i DevOps njeh disa gjuhë të përshtatshme për automatizim. Ai nuk i njeh ato në thellësi, por mund të shkruajë shpejt një program të vogël ose të lexojë kodin e dikujt tjetër. Nëse nuk keni pasur eksperiencë me zhvillimin më parë, filloni me Python - ka një sintaksë të thjeshtë, është e lehtë të punosh me teknologjitë e cloud, ka shumë dokumentacion dhe biblioteka.
Sistemet operative
Nuk është e mundur të njihni të gjitha mundësitë e çdo versioni të çdo sistemi - një trajnim i tillë mund të kërkojë mijëra orë dhe nuk do të sjellë dobi. Në vend të kësaj, një DevOps i mirë kupton parimet e përgjithshme të funksionimit në çdo OS. Megjithatë, sipas mentions në ofertat e punës, shumica aktualisht punojnë në Linux.
Një inxhinier i mirë kupton se në cilin sistem është më mirë të vendoset projekti, cilat mjete duhet të përdoren dhe cilat gabime potenciale mund të dalin gjatë implementimit ose operimit.
Cloud-et
Tregu i teknologjive të cloud në mesatare 20-25% në vit — një infrastrukturë e tillë lejon automatizimin e operacioneve të testimit të kodit, ndërtimin e aplikacioneve nga komponentët dhe shpërndarjen e azhurnimeve te përdoruesit. Një DevOps i mirë kupton si zgjidhjet plotësisht cloud, ashtu edhe ato hibrid.
Në kërkesat standarde për inxhinierët zakonisht përfshihet GCP, AWS dhe Azure.
Këtu mund të përfshihet edhe zotërimi i mjeteve CI/CD. Zakonisht për integrimin e vazhdueshëm përdoret Jenkins, por gjithashtu vlen të provojmë dhe alternativa të tjera. Janë shumë, për shembull, Buddy, TeamCity dhe Gitlab CI. E dobishme do të ishte të studiohej Terraform — një mjet deklarativ që ndihmon në ngjitjen dhe konfiguroimin e infrastrukturës në cloud. Dhe Packer, i cili është i nevojshëm për krijimin automatik të imazheve të OS.
Sistemet e orkestrimit dhe mikroshërbimet
Mikroshërbimi ka shumë përparësi — stabilitet, mundësi për shkallëzim të shpejtë, thjeshtim dhe ripërdorim. DevOps kupton se si funksionojnë mikroshërbimet dhe mund të parandalojë probleme të mundshme.
Njohja e thellë e Docker dhe Kubernetes. E kupton se si funksionojnë kontejnerët, si të ndërtosh një sistem në mënyrë që të mund të shkëputësh disa prej tyre pa pasoja për sistemin në tërësi. Për shembull, di të ndërtojë një klaster Kubernetes me ndihmën e Ansible.
Çfarë tjetër të provojë një DevOps i ardhshëm?
Mund të përmenden pafund mjete që mund të jenë të dobishme për inxhinierët DevOps. Disa punojnë në orkestrimin e projekteve, të tjerë kalojnë shumicën e kohës në automatizimin e implementimit dhe testimit, të tretët e rrisin efikasitetin në menaxhimin e konfigurimeve. Gjatë procesit do të kuptohet se ku duhet të përqendrohesh dhe cilat projekte do të jenë të dobishme.
Ja edhe disa bazë që do t'ju ndihmojë të filloni:
- Merrni kohë për të kuptuar se si funksionon Git dhe GitHub, nëse ende nuk keni hasur në to. Instaloni GitLab në serverin tuaj.
- Njoftohuni me gjuhët e markimit JSON dhe YAML.
- Instaloni dhe provoni të punoni me baza të dhënash - jo vetëm me MySQL, por edhe me NoSQL. Provoni MongoDB.
- Kuptoni si të menaxhoni konfigurimin e shumë serverëve menjëherë. Për shembull, me ndihmën e Ansible.
- Menaxhoni menjëherë monitorimin e ngarkesës dhe logjet. Provoni lidhjen Prometheus, Grafana, Alertmanager.
- Kërkoni zgjidhjet më të mira për deploy të ndryshme gjuhësh — mjafton të njiheni, implementoni dhe do të mësoni duke punuar në projektin tuaj të praktikës ose atë të punës.
Pse duhet të filloni studimin e DevOps tani
Në tregun e inxhinierëve të DevOps — ka një mungesë të madhe. Kjo konfirmohet me numrin dhe cilësinë e vendeve të punës:
- Në Rusi, vetëm në HeadHunter janë vazhdimisht mbi 2,000 vende pune për këtë fjalë kyçe.
- Dhe vetëm 1,900 persona kanë postuar CV-të e tyre.
Duke pasur parasysh se postimi i CV-ve nuk do të thotë një kërkim aktiv për punë, kjo do të thotë se për çdo specialist ka dy, madje edhe tre vende pune — një situatë e tillë nuk ekziston as në tregun popullor të zhvillimit të uebit. Shtoni këtu edhe vendet e punës nga Habr dhe kanalet në Telegram — mungesa e specialistëve është e madhe.

Kujdesi për kërkesat për pagë të aplikantëve
DevOps është po ashtu shumë i kërkuar në botë — nëse keni planifikuar të relokoheni në SHBA ose Evropë, atëherë vetëm në portalin kështu specialistët kërkohen nga më shumë se 34,000 kompani. Nga kërkesat e zakonshme — përvojë 1–3 vjet, aftësi për të punuar me ‘cloud’ dhe të mos kenë frikë nga funksionet e konsultimit.
Në freelancing, ofertat janë shumë më pak — zakonisht kërkohet inxhinierë DevOps për pozita të plota dhe të përhershme.

Të gjesh projektin e duhur në freelancing është e vështirë, por e mundshme.
Një rrugë karriere e mundshme për një inxhinier DevOps mund të paraqitet kështu:
- Për gjashtë muaj deri në një vit punon si administrator sistemi në një kompani të vogël IT. Në të njëjtën kohë mëson një gjuhë të përshtatshme për automatizimin.
- Mëson intensivisht në kurse, për rreth gjashtë muaj.
- Kaloni në një punë tjetër — në një kompani që ofron zgjidhje cloud, një degë të një korporate të madhe, duke kaluar te zhvilluesit e projekteve të mëdha. Thënë ndryshe, atje ku ka nevojë për automatizim të vazhdueshëm dhe implementim. Në pozita fillestare, paga është rreth 100 mijë rubla.
- Pas disa vitesh aktivizmi në punë dhe mësimi, rrit të ardhurat disa herë.
- Bëhet ekspert në komunitetin profesional dhe kalon në konsulencë. Ose rritet në pozita si arkitekt sistemi ose drejtori IT.
DevOps është i komplikuar. Duhet të kombinosh aftësi nga disa profesione të ndryshme. Të bëhesh një person që është i gatshëm të propozojë përmirësime atje ku specialistët e tjerë të IT-së për piqen vetëm në një aspekt. Për këtë paguhen shumë, por do të kërkohet një volum i madh njohurish.
Sa fitojnë DevOps
Paga mesatare mediane për të dytin tremujor të vitit 2019 për devops është në intervalin nga 90 deri në 160 mijë rubla. Ka oferta më të lira — kryesisht 60–70 mijë.
Ka vazhdimisht oferta deri në 200 mijë, ndodhin vende pune me pagë deri në 330 mijë rubla.

Ndër specialistët e operacioneve, DevOps paguhet më shumë se të tjerët. Burimi:
DevOps-inxhinierë, përfshirë ata fillestarë, tani kërkohen në banka të mëdha, korporata, shërbime cloud, sisteme tregtare dhe organizata të tjera që kujdesen për mbështetje të zgjidhjeve të tyre IT.
Një kandidatë i shkëlqyer për një pozitë fillestare me pagë 60–90 mijë do të jetë një administrator sistemi i ri me përvojë rreth një viti dhe një diplomë përkatëse.

Nuk ka statistikë të tillë, por nga ndjenja, njerëzit me përvojë në Linux paguhen më shumë.
Çfarë të shikoni dhe lexoni për rritjen në profesion
Për t'u zhytur në botën e DevOps, provoni disa burime informacioni menjëherë:
- [YouTube, ENG] — shumë video nga konferenca dhe webinare edukative.
- [YouTube, RUS] — video të raporteve nga konferenca profesionale DevOps në Rusi.
- [libër, RUS] — një nga librat më të njohur mbi filozofinë e DevOps. Libri përmban parimet themelore të metodologjisë dhe tregon se çfarë duhet të ketë parasysh fillimisht gjatë punës në çdo projekt.
- [libër, RUS] — shumë teori dhe principe mbi ndërtimin e administratës së sistemit.
- [libër, ENG] — një mbikëqyrje javor e lajmeve në lidhje me atë që po ndodh në DevOps në mbarë botën.
- [Telegram, RUS] — lajme të industrisë, njoftime për konferenca, lidhje për artikuj dhe libra të rinj interesantë.
- [Telegram, RUS] — biseda në rusisht, ku mund të pyesni për këshilla dhe të kërkoni ndihmë për konfigurimet.
- Devops.com — një faqe ndërkombëtare e madhe me artikuj, webinare, podkaste dhe kolona nga kompanitë më të mëdha në industri.
- — një komunitet rusishtfolës i inxhinierëve DevOps dhe simpatizantëve.
- Librat më të mira mbi atë gjuhë që do ta përdorni për zhvillim.
Ku të mësojmë për DevOps
Mund të fitoni njohuri të strukturuara në kursin "" në Netology. Do të mësoni rreth ciklit të plotë të metodologjisë:
- Do të mësoni si të analizoni kodin dhe të përdorni shpejt mjetet e kontrollit të versioneve.
- Do të kuptoni praktikat më të mira të integrimit të vazhdueshëm, testimit dhe ndërtimit.
- Do të mësoni si të menaxhoni ndryshimet në aplikacione dhe t'i automatizoni ato.
- Do të studioni në praktikë mjetet e konfigurimit dhe menaxhimit.
- Do të mësoni të zgjidhni dhe konfiguroni shërbimet e nevojshme për monitorim që në fillim.
Si bonus, do të merrni kursin për programimin në Python — do të zgjidhni detyrat akoma më shpejt dhe më lehtë. Gjithçka në praktikë — përdorim AWS, GCP ose Azure.
Kjo është e mjaftueshme për të kaluar nga inxhinieri apo administratori i sistemit i fillestar në një DevOps të kërkuar dhe për të rritur me kënaqësi çmimin tuaj në tregun e punës.
Burimi: habr.com
