
Bir neçə il əvvəl IT sahəsində yeni bir peşə, DevOps mühəndisi ortaya çıxdı. O, çox tez bazarda ən populyar və tələb olunan ixtisaslardan birinə çevrildi. Lakin bir paradoks var - DevOps-un populyarlığının bir hissəsi, belə mütəxəssisləri işə götürən şirkətlərin, onları digər peşələrin nümayəndələri ilə tez-tez qarışdırmasıdır.
Bu məqalə DevOps peşəsinin incəliklərini, bazardakı hazırkı vəziyyəti və perspektivlərini araşdırmağa həsr olunub. Biz bu mürəkkəb sualı GeekBrains-in DevOps fakültəsinin dekanı Dmitri Burkovski ilə birlikdə araşdırmışıq. Beləliklə, DevOps nədir?
Termin, Development Operations (İnkişafı Əməliyyatlar) kimi açılır. Bu, yalnız bir peşə deyil, orta və ya böyük bir şirkətdə məhsul və ya xidmət hazırlığı zamanı işin təşkil edilməsinə yanaşmadır. Məsələ ondadır ki, hazırlıq prosesində bir şirkətin müxtəlif şöbələri iştirak edir və onların fəaliyyətləri hər zaman yaxşı koordinasiya olunmur.
Məsələn, proqramçılar istifadəçilərin təqdim edilmiş proqram və ya xidmətlə bağlı yaranan problemlərini həmişə bilmirlər. Texniki dəstək bu məsələlərdə hər şeyi yaxşı bilir, lakin o, proqramın «daxilində» nə baş verdiyindən xəbərdar olmaya bilər. Və burada DevOps mühəndisi kömək edir, o, inkişaf prosesini koordinasiya etməyə, proseslərin avtomatlaşdırılmasına kömək edir, onların şəffaflığını artırır.
DevOps anlayışı insanları, prosesləri və alətləri bir araya gətirir.
DevOps mühəndisi nəyi bilməli və bacarmalıdır?
DevOps anlayışının tanınmış müdafiəçilərindən biri Joe Sanchezə görə, bu peşənin nümayəndəsi anlayışın özü ilə bağlı incəlikləri yaxşı dərk etməli, həm Windows, həm də Linux sistemlərinin idarə olunması təcrübəsinə malik olmalı, müxtəlif proqramlaşdırma dillərində yazılmış proqram kodunu başa düşməli və Chef, Puppet, Ansible ilə işləməlidir. Aydındır ki, kodu analiz etmək üçün bir neçə proqramlaşdırma dilini bilmək lazımdır, və yalnız bilmək deyil, həm də inkişaf təcrübəsi olmalıdır. Həmçinin, hazır proqram məhsulları və xidmətlərin test edilməsi təcrübəsi də çox arzuolunandır.
Amma bu, ideal haldır, belə bir təcrübə və bilik səviyyəsi hər IT sahəsindəki mütəxəssisdə tapılmayacaq. Burada yaxşı DevOps üçün minimum lazımlı bilik və təcrübə dəsti var:
GNU/Linux, Windows əməliyyat sistemləri.
- Azı 1 proqramlaşdırma dili (Python, Go, Ruby).
- Linux ilə işləyərkən bash, Windows isə powershell komandası üçün skript dili.
- Versiya idarəetmə sistemi - Git.
- Konfiqurasiya idarəetmə sistemləri (Ansible, Puppet, Chef).
- Konteynerlərin orkestrasiyası üçün ən azı bir platforma (Kubernetes, Docker Swarm, Apache Mesos, Amazon EC2 Container Service, Microsoft Azure Container Service).
- Təchizatçılarla (məsələn: AWS, GCP, Azure və s.) iş aparmaq, Terraform istifadə edərək, tətbiqin buludda necə yerləşdiriləcəyini bilmək.
- CI/CD konveyerini (Jenkins, GitLab), ELK dəstini, monitorinq sistemlərini (Zabbix, Prometheus) qura bilmək.
- Norçun nizamlaması.
Budur DevOps mütəxəssisləri Habr Karyerasında tez-tez göstərdiyi bacarıqların siyahısı.

Bundan başqa, DevOps mütəxəssisi biznesin tələblərini anlayaraq, inkişaf prosesi içində onun rolunu görməli və müştərinin maraqlarını nəzərə alaraq prosesi qura bilməlidir.
Bəs giriş səviyyəsi nə yerdədir?
Yuxarıda verilən biliklər və təcrübələr siyahısı təsadüfi deyil. İndi kimlərin DevOps mütəxəssisi ola biləcəyini başa düşmək daha asandır. Belə çıxır ki, DevOps sahəsinə keçmək üçün digər IT peşələrinin nümayəndələri — xüsusilə sistem administratorları və proqramçılar — üçün ən asan olur. Hər iki qrup da çatışmayan təcrübə və bilikləri sürətlə artırmaq imkanına malikdir. Zəruri bilik və təcrübənin yarısı artıq onlarda mövcuddur, bəzən isə bunun daha çoxu.
Qeyd edək ki, mükəmməl DevOps mühəndisləri test edicilərindən də alınır. Onlar nəyin necə işlədiyini bilirlər, proqram təminatının və ‘dəmirin’ çatışmazlıqları ilə bağlı məlumatlıdırlar. Belə demək mümkündür ki, proqramlaşdırma dillərini bilən və proqram yaza bilən testçi — beş dəqiqəlik DevOps-dur.
Amma texniki sahədən olmayan, nə inkişaf, nə də sistem administrasiyası ilə tanış olmayan birinə çətin olacaq. Şübhəsiz, heç bir şey mümkünsüz deyil, lakin yenilərin öz güclərini qaralamaq üçün dəqiqliklə qiymətləndirməsi vacibdir. Lazımi 'yüklənməni' əldə etmək üçün çox vaxt tələb olunacaq.
DevOps harada işləyə bilər?
Proqram təminatı inkişafı və ‘dəmir’ idaresi ilə birbaşa ya da dolayı yolla əlaqəli olan iri bir şirkətdə. DevOps mühəndislərinə olan maksimum tələbat, son istehlakçılara çoxlu xidmət təqdim edən şirkətlərdədir. Bunlar banklar, rabitə operatorları, iri internet provayderləri və s. kimi şirkətlərdir. DevOps mühəndislərini fəal şəkildə qəbul edən şirkətlərdən bəziləri — Google, Facebook, Amazon, Adobe-dir.
Kiçik biznesə malik startaplar da DevOps-u tətbiq edirlər, lakin bu cür şirkətlər üçün DevOps mühəndislərini işə götürmək daha çox dəbdir, real mütləq deyil. Əlbəttə, istisnalar var, lakin onların sayı çox deyil. Kiçik şirkətlərə daha çox ‘tək adamlardan bütün işləri görən’ biri lazımdır, yəni bir neçə sahədə işləyə bilən birisi. Yaxşı CTO bunun öhdəsindən gələ bilər. Kiçik biznes üçün işin sürəti vacibdir, iş proseslərinin optimallaşdırılması isə orta və iri biznes üçün kritikdir.
Bunlar bir neçə iş elanı (yeni elanları Habr Karyerasında izləyə bilərsiniz ):
Rusiyada və dünyada DevOps-un maaşı
Rusiyada DevOps mühəndisinin orta maaşı ayda təxminən 132 min rubl təşkil edir. Bu, Habr Karyerası xidmətinin maaş kalkulyatoru ilə 2020-ci ilin ikinci yarısında 170 anket əsasında aparılan hesablamalardır. Bəli, seçim o qədər də böyük deyil, lakin ‘xəstəxanada orta temperatura’ bənzər bir ölçü üçün kifayət qədər uyğundur.
250 min rubla, 80 min rubla və ya onun aşağısında əmək haqqıları var. Bu, şirkətə, ixtisasa və mütəxəssisin özünə bağlıdır, əlbəttə.
Digər ölkələrə gəldikdə, əmək haqqıları ilə bağlı statistikalar da məlumdur. Stack Overflow mütəxəssisləri 90 min nəfərin anketlərini analiz edərək yaxşı iş görmüşdür - yalnız DevOps deyil, həm də digər texniki ixtisas nümayəndələri. Göründüyü kimi, Engineering Manager və DevOps ən yüksək maaşları alırlar.
DevOps mühəndisi ildə təxminən 71 min dollar qazanır. Ziprecruiter.com resursunun məlumatlarına görə, bu sahədə peşəkarın əmək haqqısı ildə 86 min dollar arasındadır. Payscale.com xidmətinin məlumatlarına əsasən, DevOps mütəxəssisinin ortalama maaşı 91 min dolları keçməkdədir. Bu, gənc mütəxəssisin əmək haqqıdır, daha təcrübəli biri isə 135 min dollar ala bilər.
Nəticə olaraq, DevOps-a olan tələbat tədricən artır, hər səviyyədə mütəxəssislərə olan tələbat təklifdən çoxdur. Beləliklə, əgər istəyiniz varsa - bu sahədə çalışmağa cəhd edə bilərsiniz. Lakin unutmayın ki, yalnız arzu yetərli deyil. Davamlı inkişaf etmək, öyrənmək və işləmək lazımdır.
Mənbə: habr.com
