Sino ang isang DevOps engineer, ano ang kanyang ginagawa, magkano ang kanyang kinikita at kung paano maging isa

Ang mga inhinyero ng DevOps ay mga multidisciplinary na propesyonal na alam kung paano i-automate ang mga proseso at alam kung paano gumagana ang mga developer, QA at mga manager. Alam nila kung paano mag-program, mabilis na makabisado ang mga kumplikadong tool at hindi mawala sa harap ng isang hindi pamilyar na gawain. Mayroong ilang mga inhinyero ng DevOps - handa silang magbayad ng 200-300 libong rubles bawat isa, ngunit mayroon pa ring maraming mga bakante.

Sinasabi ni Dmitry Kuzmin kung ano ang eksaktong ginagawa ng DevOps at kung ano ang kailangan mong pag-aralan upang maging kwalipikado para sa ganoong posisyon. Bonus - mahalagang link sa mga aklat, video, channel at propesyonal na komunidad.

Ano ang ginagawa ng isang DevOps engineer

Sa isang sitwasyon sa DevOps, mahalagang huwag malito ang mga termino. Ang katotohanan ay ang DevOps ay hindi isang tiyak na lugar ng aktibidad, ngunit isang propesyonal na pilosopiya. Isa itong pamamaraan na tumutulong sa mga developer, tester, at system administrator na gumana nang mas mabilis at mas mahusay sa pamamagitan ng automation at seamlessness.

Alinsunod dito, ang isang DevOps engineer ay isang espesyalista na nagpapatupad ng pamamaraang ito sa proseso ng trabaho:

  • Sa yugto ng pagpaplano, tumutulong ang isang DevOps engineer na magpasya kung anong arkitektura ang gagamitin ng application, kung paano ito susukat, at pumili ng sistema ng orkestrasyon.
  • Dagdag pa, nagse-set up ito ng mga server, awtomatikong pagsuri at pag-upload ng code, pagsuri sa kapaligiran.
  • Pagkatapos ay ino-automate nito ang pagsubok, nilulutas ang mga gawain sa pag-deploy.
  • Pagkatapos ng release, mahalagang mangolekta ng feedback mula sa mga user at magpatupad ng mga pagpapabuti. Ginagawa ito ng DevOps upang hindi mapansin ng mga user ang mga pagpapahusay na ito, at tuloy-tuloy ang proseso ng pag-update.
  • At kasabay nito, nilulutas nito ang dose-dosenang mga gawain na makakatulong upang magtatag ng isang sistema ng trabaho para sa mga developer, QA, mga tagapangasiwa ng system at mga tagapamahala.

Ang lahat ng nakasulat sa itaas ay nagaganap sa malapit sa mga ideal na proyekto. Sa totoong mundo, kailangan mong magsimula sa isang proyekto kung saan napalampas ang pagpaplano, mali ang arkitektura, at naisip ang automation kapag bumangon ang lahat ng proyekto. At ang pag-unawa sa lahat ng problemang ito, paglutas sa mga ito at paggawa ng lahat ay isang pangunahing kasanayan para sa isang espesyalista sa DevOps.

Mayroong kalituhan sa merkado ng paggawa. Minsan ang isang negosyo ay naghahanap ng mga DevOps engineer para sa posisyon ng systems engineer, build engineer, o ibang tao. Ang mga responsibilidad, depende sa laki ng kumpanya at direksyon, ay nagbabago rin - sa isang lugar na naghahanap sila ng isang tao para sa pagkonsulta, sa isang lugar na hinihiling sa kanila na i-automate ang lahat, at sa isang lugar ay kinakailangan silang magsagawa ng mga advanced na function ng isang system administrator na nakakaalam kung paano programa.

Ano ang kailangan mong simulan sa propesyon

Ang pagpasok sa propesyon ay nangangailangan ng maagang paghahanda. Dumating lang sa mga kurso mula sa simula, nang hindi nauunawaan ang anumang bagay sa IT, at hindi ka matututo sa junior level. Kinakailangan ang teknikal na background:

  • Sa isip, kung nagtatrabaho ka sa loob ng anim na buwan o higit pa bilang isang system administrator, operations o testing specialist. O hindi bababa sa magkaroon ng ideya kung paano magsisimula ang mga application, sa anong kapaligiran ang maaari nilang mabuo, at kung ano ang gagawin kung makakita ka ng error. Kung wala kang karanasan sa trabaho, kumuha ng anumang kurso sa pangangasiwa ng Linux, ulitin ang lahat ng nangyayari sa isang home machine.
  • Unawain kung paano gumagana ang mga teknolohiya ng network - matutunan kung paano i-install, i-configure at pamahalaan ang mga lokal at pandaigdigang network.
  • Tingnan kung paano at kung saan ginawa ang programming - magsulat ng ilang mga script sa Python o Go, subukang unawain ang mga prinsipyo ng OOP (Object-Oriented Programming), basahin ang tungkol sa pangkalahatang ikot ng pagbuo ng produkto.
  • Ang kaalaman sa teknikal na Ingles ay magiging kapaki-pakinabang - hindi kinakailangan na makipag-usap sa mga libreng paksa, sapat na upang mabasa ang dokumentasyon at mga interface.

Hindi kinakailangang malaman nang lubusan ang lahat ng nakalista; sapat na ang minimum na antas ng pagsasanay upang simulan ang pagsasanay sa DevOps. Kung mayroon kang ganoong teknikal na background, subukang mag-enroll sa mga kurso.

Ano ang Dapat Malaman ng mga DevOps

Ang isang mahusay na DevOps engineer ay isang multidisciplinary specialist na may napakalawak na pananaw. Para sa matagumpay na trabaho, kailangan mong maunawaan ang ilang mga lugar ng IT nang sabay-sabay.

Development

Magsusulat ang DevOps ng script upang matulungan ang mga developer na mag-install ng code sa server. Gagawa ng isang programa na "on the fly" na sumusubok sa kakayahang tumugon ng mga database. Magsusulat ng application para sa version control. Sa wakas, mapansin lamang ang isang potensyal na isyu sa pag-unlad na maaaring lumitaw sa server.

Ang isang malakas na espesyalista sa DevOps ay nakakaalam ng ilang mga wika na angkop para sa automation. Nauunawaan ang mga ito nang hindi lubusan, ngunit mabilis na magsusulat ng isang maliit na programa o magbabasa ng code ng ibang tao. Kung hindi ka pa nakakaranas ng pag-unlad, magsimula sa Python - mayroon itong simpleng syntax, madaling magtrabaho sa mga teknolohiya ng ulap, mayroong maraming dokumentasyon at mga aklatan.

OS

Ang pag-alam sa lahat ng mga tampok ng bawat bersyon ng bawat sistema ay imposible - libu-libong oras ang maaaring gugulin sa naturang pagsasanay at walang kahulugan. Sa halip, naiintindihan ng mahusay na DevOps ang mga pangkalahatang prinsipyo ng pagtatrabaho sa anumang OS. Bagaman, sa paghusga sa mga pagbanggit sa mga bakante, karamihan ngayon ay nagtatrabaho sa Linux.

Naiintindihan ng isang mahusay na inhinyero kung saang sistema mas mainam na mag-deploy ng proyekto, anong mga tool ang gagamitin, at kung anong mga potensyal na error ang maaaring lumitaw sa panahon ng pagpapatupad o operasyon.

Mga Ulap

Market ng teknolohiya ng ulap ay lumalaki sa average na 20-25% bawat taon - binibigyang-daan ka ng naturang imprastraktura na i-automate ang mga operasyon ng testing code, pag-assemble ng mga application mula sa mga bahagi, at paghahatid ng mga update sa mga user. Naiintindihan ng isang mahusay na DevOps ang parehong buong cloud at hybrid na solusyon.

Karaniwang kasama sa mga karaniwang kinakailangan para sa mga inhinyero ang GCP, AWS at Azure.

Kabilang dito ang kaalaman sa mga tool sa CI / CD. Karaniwang ginagamit ang Jenkins para sa patuloy na pagsasama, ngunit sulit na subukan ang mga analogue. Maraming tulad ng Buddy, TeamCity at Gitlab CI. Magiging kapaki-pakinabang na pag-aralan ang Terraform - ito ay isang tool sa pagpapahayag na tumutulong sa malayuang pagtaas at pag-configure ng imprastraktura sa mga ulap. AT Packer, na kinakailangan upang awtomatikong lumikha ng mga imahe ng OS.

Mga sistema ng orkestra at microservice

Ang arkitektura ng microservice ay may maraming mga pakinabang - katatagan, kakayahang mabilis na sukatin, pagpapasimple at muling paggamit. Nauunawaan ng DevOps kung paano gumagana ang mga microservice at maaaring mahulaan ang mga potensyal na problema.

Lubusang kilala ang Docker at Kubernetes. Nauunawaan niya kung paano gumagana ang mga lalagyan, kung paano bumuo ng isang sistema upang ma-off mo ang ilan sa mga ito nang walang mga kahihinatnan para sa pangkalahatang sistema sa kabuuan. Halimbawa, maaari siyang bumuo ng Kubernetes cluster gamit ang Ansible

Ano pa ang susubukan para sa kinabukasan ng DevOps

Ang listahan ng mga tool na magagamit ng isang DevOps engineer ay walang katapusan. May isang taong nagtatrabaho sa orkestrasyon ng proyekto, ang iba ay gumugugol ng halos lahat ng kanilang oras sa pag-automate ng pag-deploy at pagsubok, at ang iba pa ay nagdaragdag ng kahusayan sa pamamahala ng configuration. Sa proseso, magiging malinaw kung saan maghukay at kung anong mga proyekto ang magagamit.

Narito ang isang maliit na minimum na makakatulong sa simula:

  • Unawain kung paano gumagana ang Git at Github kung hindi mo pa nagagawa. I-install ang GitLab sa iyong server.
  • Maging pamilyar sa JSON at YAML markup language.
  • I-install at subukang magtrabaho sa mga database - hindi lamang sa MySQL, kundi pati na rin sa NoSQL. Subukan ang MongoDB.
  • Matutunan kung paano pamahalaan ang configuration ng maraming server nang sabay-sabay. Halimbawa, gamit ang Ansible.
  • Agad na i-set up ang pagsubaybay sa pagkarga at mga log. Subukan ang isang grupo ng Prometheus, Grafana, Alertmanager.
  • Maghanap ng pinakamahusay na mga solusyon sa pag-deploy para sa iba't ibang wika - kailangan mo lang makilala, ipatupad at maunawaan sa isang pagsasanay o gumaganang proyekto.

Bakit mo dapat simulan ang pag-aaral ng DevOps ngayon

Mayroong kakulangan ng kawani sa merkado ng inhinyero ng DevOps. Ito ay may kondisyong kinukumpirma ng bilang at kalidad ng mga bakante:

  • Sa Russia, ang HeadHunter lamang ay mayroong higit sa 2 trabaho na magagamit para sa keyword na ito.
  • At 1 katao lamang ang nag-post ng mga resume.

Isinasaalang-alang na ang pag-post ng isang resume ay hindi nangangahulugang isang aktibong paghahanap ng trabaho, lumalabas na mayroong dalawa o kahit na tatlong bakante para sa isang espesyalista - ang sitwasyong ito ay wala kahit na sa sikat na merkado ng web development. Magdagdag dito ng higit pang mga bakante mula sa Habr at mula sa mga channel ng Telegram - ang kakulangan ng mga espesyalista ay malaki.

Sino ang isang DevOps engineer, ano ang kanyang ginagawa, magkano ang kanyang kinikita at kung paano maging isa
Bigyang-pansin ang mga kinakailangan sa suweldo ng mga naghahanap ng trabaho

Ang DevOps ay hindi gaanong hinihiling sa mundo - kung lilipat ka sa USA o Europa, pagkatapos ay sa portal lamang Glassdoor higit sa 34 libong kumpanya ang naghahanap ng mga naturang espesyalista. Sa mga madalas na kinakailangan - makaranas ng 1-3 taon, ang kakayahang magtrabaho kasama ang "ulap" at hindi matakot sa mga function ng pagkonsulta.

Mayroong maraming beses na mas kaunting mga alok sa freelancing - Ang mga inhinyero ng DevOps ay pangunahing hinahanap sa isang full-time na batayan at sa isang full-time na batayan.

Sino ang isang DevOps engineer, ano ang kanyang ginagawa, magkano ang kanyang kinikita at kung paano maging isa
Ang paghahanap ng angkop na freelancing na proyekto ay mahirap, ngunit ito ay posible

Ang conditional career path ng isang DevOps engineer ay maaaring ilarawan ng ganito:

  • Nagtatrabaho bilang isang system administrator sa isang maliit na kumpanya ng IT sa loob ng anim na buwan o isang taon. Kasabay nito, natututo siya ng isang wika na angkop para sa automation.
  • Masinsinang nag-aaral sa mga kurso, mga anim na buwan.
  • Lumipat sa ibang trabaho - sa isang kumpanyang nagbebenta ng mga cloud solution, isang sangay ng isang malaking korporasyon, sa mga developer ng malalaking proyekto. Sa madaling salita, kung saan may pangangailangan para sa patuloy na automation at pagpapatupad. Sa paunang posisyon, ito ay halos 100 libong rubles.
  • Sa loob ng ilang taon ay aktibo siyang nagtatrabaho at nag-aaral, maraming beses na nagdaragdag ng kita.
  • Nagiging eksperto sa propesyonal na komunidad at lumipat sa pagkonsulta. O lumalaki sa isang system architect o IT director.

Mahirap ang DevOps. Kailangan mong pagsamahin ang mga kasanayan ng ilang mga propesyon nang sabay-sabay. Maging isang taong handang mag-alok ng pagpapabuti kung saan ang ibang mga propesyonal sa IT ay hindi man lang iniisip ang tungkol sa ibang bagay. Malaki ang babayaran nila para dito, ngunit malaki rin ang kinakailangang kaalaman.

Magkano ang kinikita ng mga DevOps?

Ayon sa data para sa ikalawang quarter ng 2019, ang average na median na suweldo para sa mga devops ay nasa tinidor sa pagitan ng 90 at 160 libong rubles. May mga alok na mas mura - karamihan ay 60-70 thousand.

Mayroong patuloy na nag-aalok ng hanggang sa 200, may mga bakante na may suweldo na hanggang 330 libong rubles.

Sino ang isang DevOps engineer, ano ang kanyang ginagawa, magkano ang kanyang kinikita at kung paano maging isa
Sa mga propesyonal sa pagpapatakbo, ang DevOps ay binabayaran ng pinakamataas. Pinagmulan: Habr.Karera

Ang mga inhinyero ng DevOps, kabilang ang mga nagsisimula, ay kinakailangan na ngayon ng malalaking bangko, korporasyon, serbisyo sa cloud, trading system at iba pang organisasyon na nagmamalasakit sa pagpapanatili ng kanilang mga solusyon sa IT.

Ang isang mahusay na kandidato para sa isang junior vacancy na may suweldo na 60-90 ay magiging isang novice system administrator na may halos isang taon ng karanasan at isang espesyal na diploma.
 
Sino ang isang DevOps engineer, ano ang kanyang ginagawa, magkano ang kanyang kinikita at kung paano maging isa
Walang ganoong mga istatistika, ngunit parang ang mga taong may karanasan sa Linux ay mas binabayaran.

Ano ang dapat panoorin at basahin upang lumago sa propesyon

Upang isawsaw ang iyong sarili sa mundo ng DevOps, subukan ang ilang mapagkukunan ng impormasyon nang sabay-sabay:

  • Cloud Native Computing Foundation [YouTube, ENG] - maraming video mula sa mga kumperensya at pang-edukasyon na webinar.
  • DevOps Channel [YouTube, RUS] β€” mga video presentation mula sa isang propesyonal na kumperensya ng DevOps sa Russia.
  • Ang DevOps Handbook Ang [libro, ENG] ay isa sa mga pinakasikat na aklat tungkol sa pilosopiya ng DevOps. Ang libro ay naglalaman ng mga pangkalahatang prinsipyo ng pamamaraan, sinasabi nito kung ano ang dapat bigyang pansin sa unang lugar kapag nagtatrabaho sa anumang proyekto.
  • Thomas Limoncelli "Ang Practice ng System and Network Administration" [libro, ENG] - maraming teorya at prinsipyo tungkol sa kung paano dapat ayusin ang pangangasiwa ng sistema.
  • Devops Lingguhan [libro, ENG] β€” isang lingguhang pag-ikot ng mga balita sa DevOps sa buong mundo.
  • devops_deflope [Telegram, RUS] β€” balita sa industriya, mga anunsyo sa kumperensya, mga link sa mga bagong kawili-wiling artikulo at aklat.
  • Devops [Telegram, RUS] β€” isang Russian-language na chat kung saan maaari kang humingi ng payo at humingi ng tulong sa mga config.
  • Ang Devops.com ay isang malaking pang-internasyonal na site na may mga artikulo, webinar, podcast at mga column mula sa pinakamalaking kumpanya sa industriya.
  • Hangops_Ru ay isang Russian-speaking na komunidad ng mga inhinyero at nakikiramay sa DevOps.
  • Ang pinakamahusay na mga libro sa wikang gagamitin mo para sa pag-unlad.

Kung saan mag-aaral ng DevOps

Maaari kang makakuha ng nakabalangkas na kaalaman sa kurso "Inhinyero ng DevOpsΒ» sa Netology. Matututuhan mo ang buong ikot ng pamamaraan:

  • Matutunan kung paano suriin ang code at gumamit ng mga tool sa pagkontrol ng bersyon nang mabilis.
  • Unawain ang pinakamahuhusay na kagawian para sa patuloy na pagsasama, pagsubok, at pagbuo.
  • Matutong pamahalaan ang mga pagbabago sa application at i-automate ang mga ito.
  • Sa pagsasagawa, alamin ang configuration at mga tool sa pamamahala.
  • Ugaliing pumili at i-configure kaagad ang mga serbisyong kailangan mong subaybayan.

Bilang bonus, kumuha ng kurso sa programming sa Python - mas mabilis at mas madali mong malulutas ang mga problema. Lahat sa pagsasanay - ginagamit namin ang AWS, GCP o Azure.
Ito ay sapat na upang maging isang hinahangad na DevOps mula sa isang baguhang inhinyero o tagapangasiwa ng system at malugod na itaas ang iyong tag ng presyo sa merkado ng paggawa.

Sino ang isang DevOps engineer, ano ang kanyang ginagawa, magkano ang kanyang kinikita at kung paano maging isa

Pinagmulan: www.habr.com

Magdagdag ng komento