Некалькі гадоў таму ў IT з'явілася новая спецыяльнасць DevOps-інжынер. Яна вельмі хутка стала адной з найболей папулярных і запатрабаваных на рынку. Але вось парадокс – часткова папулярнасць DevOps тлумачыцца тым, што кампаніі, якія наймаюць такіх спецыялістаў, часта блытаюць іх з прадстаўнікамі іншых прафесій.
Гэты артыкул прысвечана разбору нюансаў прафесіі DevOps, бягучым становішчы на рынку і перспектывам. Мы разабраліся ў гэтым складаным пытанні пры дапамозе дэкана.
Такім чынам, што такое DevOps?
Сам тэрмін расшыфроўваецца як Development Operations. Гэта не столькі спецыяльнасць, колькі падыход да арганізацыі працы ў сярэдняй ці буйной кампаніі пры падрыхтоўцы прадукта або сэрвісу. Справа ў тым, што ў працэсе падрыхтоўкі ўдзельнічаюць розныя аддзелы адной кампаніі, і дзеянні іх далёка не заўсёды добра скаардынаваны.
Так, распрацоўшчыкі, напрыклад, не заўсёды ведаюць аб тым, якія праблемы ўзнікаюць у карыстальнікаў, якія працуюць з выпушчанай праграмай або сэрвісам. Тэхпадтрымка - ведае ўсё выдатна, але яна можа быць не ў курсе таго, што "ўнутры" ПЗ. І тут прыходзіць на дапамогу DevOps-інжынер, які дапамагае каардынаваць працэс распрацоўкі, спрыяе аўтаматызацыі працэсаў, паляпшае іх празрыстасць.
Канцэпцыя DevOps аб'ядноўвае людзей, працэсы і інструменты.
Што павінен ведаць і ўмець DevOps-інжынер?
Па меркаванні аднаго з найболей вядомых адэптаў канцэпцыі DevOps Джо Санчэса, прадстаўнік прафесіі павінен добра разумець нюансы самой канцэпцыі, мець досвед адміністравання як Windows, так і Linux-сістэм, разумець праграмны код, напісаны на розных ЯП, працаваць Chef, Puppet, Ansible. Зразумела, што для разбору кода трэба ведаць некалькі моў праграмавання, і не проста ведаць, але і мець досвед распрацоўкі. А яшчэ вельмі пажаданы досвед тэставання гатовых праграмных прадуктаў і сэрвісаў.
Але гэта ў ідэале, такі ўзровень досведу і ведаў знойдзецца далёка не ў кожнага прадстаўніка IT-сферы. Вось набор мінімальна неабходных для добрага DevOps ведаў і досведу:
- АС GNU/Linux, Windows.
- Не менш за 1 мовы праграмавання (Python, Go, Ruby).
- Мова сцэнараў каманднай абалонкі - bash пры працы з Linux і powershell у выпадку Windows.
- Сістэму кантролю версій - Git.
- Сістэмы кіравання канфігурацыяй (Ansible, Puppet, Chef).
- Хаця б адна з платформаў для аркестрацыі кантэйнераў (Kubernetes, Docker Swarm, Apache Mesos, Amazon EC2 Container Service, Microsoft Azure Container Service).
- Уменне працаваць з хмарнымі правайдэрамі (напрыклад: AWS, GCP, Azure і інш.) з выкарыстаннем Terraform, ведаць як разгортваецца прыкладанне ў воблака.
- Уменне наладжваць канвеер CI/CD (Jenkins, GitLab), ELK стэк, сістэмы маніторынгу (Zabbix, Prometheus).
А вось спіс навыкаў, якія часцей за ўсё паказваюць спецыялісты па DevOps на Хабр Кар'еры.
Акрамя таго, DevOps-спецыяліст павінен разумець патрэбы і патрабаванні бізнесу, бачыць яго ролю ў працэсе распрацоўкі і ўмець будаваць працэс з улікам цікавасцю заказчыка.
А што з парогам уваходу?
Спіс ведаў і досведу нездарма быў пададзены вышэй. Цяпер становіцца прасцей зразумець, хто ж можа стаць DevOps-спецыялістам. Атрымліваецца, што прасцей за ўсё перайсці ў гэтую прафесію для прадстаўнікоў іншых IT-спецыяльнасцяў, асабліва - сістэмным адміністратарам і распрацоўшчыкам. І тым, і іншым можна хутка нарасціць які адсутнічае аб'ём досведу і ведаў. Палова неабходнага набору ў іх ужо ёсць, а нярэдка - і больш за палову.
А яшчэ выдатныя DevOps-інжынеры атрымліваюцца з тэсціроўшчыкаў. Яны ведаюць, што і як працуе, у курсе недахопаў і недапрацовак ПЗ і "жалеза". Можна сказаць, што тэстыравальнік, які ведае мовы праграмавання і ўмее пісаць праграмы – без пяці хвілін DevOps.
А вось прадстаўніку нетэхнічнай спецыяльнасці, які ніколі не меў справу ні з распрацоўкай, ні з сістэмным адміністраваннем, будзе складана. Вядома, нічога немагчымага няма, але ўсё ж пачаткоўцам трэба адэкватна ацэньваць свае сілы. Часу на атрыманне патрабаванага "багажу" запатрабуецца нямала.
Куды можа ўладкавацца DevOps?
У буйную кампанію, праца якой наўпрост ці ўскосна злучана з распрацоўкай прыкладанняў і адміністраваннем «жалеза». Максімальны дэфіцыт у DevOps-інжынерах – у кампаній, якія прадстаўляюць вялікую колькасць сэрвісаў канчатковым спажыўцам. Гэта банкі, аператары сувязі, найбуйнейшыя інтэрнэт-правайдэры і да т.п. Сярод кампаній, якія актыўна наймаюць на працу DevOps-інжынераў - Google, Facebook, Amazon, Adobe.
Укараняюць DevOps і стартапы з дробным бізнэсам, але ўсё ж для многіх з гэтых кампаній запрашэнне DevOps-інжынераў, хутчэй, даніна модзе, чым рэальная неабходнасць. Вядома, бываюць і выключэнні, але іх не так шмат. Невялікім кампаніям патрэбен, хутчэй "і швец, і жнец, і на дудзе ігрок", гэта значыць чалавек, які ў стане працаваць па шэрагу напрамкаў. Добры СТА здольны зладзіцца са ўсім гэтым. Справа ў тым, што малому бізнэсу важная хуткасць працы, аптымізацыя працоўных працэсаў крытычная для сярэдняга і буйнога бізнэсу.
Вось крыху вакансій (сачыць за новымі можна на Хабр Кар'еры па
Зарплата DevOps у Расіі і свеце
У Расіі сярэдні заробак DevOps-інжынера складае каля 132 тысяч рублёў у месяц. Гэта разлікі калькулятара заробкаў сэрвісу Хабр Кар'ера, зробленыя на падставе 170 анкет на 2-е паўгоддзе 2020 года. Так, выбарка не такая ўжо і вялікая, але ў якасці "сярэдняй тэмпературы па бальніцы" цалкам падыходзіць.
Ёсць заробкі ў памеры 250 тысяч рублёў, ёсць — каля 80 тысяч і крыху ніжэй. Усё залежыць ад кампаніі, кваліфікацыі і самога спецыяліста, вядома.
Што да іншых краін, то статыстыка па заробках таксама вядомая. Добрую працу правялі спецыялісты Stack Overflow, прааналізаваўшы анкеты каля 90 тысяч чалавек - не толькі DevOps, але і наогул прадстаўнікоў тэхнічных спецыяльнасцяў. Аказалася, што Engineering Manager і як раз DevOps атрымліваюць больш за ўсіх.
DevOps-інжынер у год атрымлівае каля $71 тыс. Па дадзеных рэсурсу Ziprecruiter.com, заробак прафесіянала ў гэтай сферы складае ад $86 тысяч у год. Ну а сэрвіс Payscale.com паказвае і зусім прыемныя воку лічбы - сярэдняя зарплата DevOps спецыяліста, па дадзеных сэрвісу, перавышае $ 91 тыс. І гэта - зарплата малодшага спецыяліста, старэйшы ж можа атрымліваць $ 135 тыс.
У якасці зняволення варта сказаць, што запатрабаванасць DevOps паступова расце, попыт на адмыслоўцаў любога ўзроўня перавышае прапанову. Так што калі ёсць жаданне - можна паспрабаваць сябе ў гэтай сферы. Праўда, трэба памятаць, што аднаго жадання - недастаткова. Трэба стала развівацца, вучыцца і працаваць.
Крыніца: habr.com