Cine este inginerul DevOps, ce face, cât câștigă și cum poți deveni unul

Inginerii DevOps sunt specialiști multidisciplinari care pot automatiza procese și știu cum funcționează dezvoltatorii, QA și managerii. Ei știu să programeze, învață rapid instrumente complexe și nu se pierd în fața unor sarcini necunoscute. Inginerii DevOps sunt puțini – sunt dispuși să fie plătiți cu 200-300 de mii de ruble, dar totuși sunt multe locuri de muncă.

Dmitri Kuzmin explică ce anume face DevOps și ce trebuie să studiezi pentru a candida pentru un astfel de post. În plus, sunt oferite linkuri importante către cărți, videoclipuri, canale și comunități profesionale.

Cu ce se ocupă un inginer DevOps

În contextul DevOps, este important să nu confunzi termenii. DevOps nu este o direcție specifică de activitate, ci o filozofie profesională. Este o metodologie care ajută dezvoltatorii, testatorii și administratorii de sistem să lucreze mai repede și mai eficient prin automatizare și integrare.

Astfel, inginerul DevOps este un specialist care implementează această metodologie în procesul de lucru:

  • În etapa de planificare, inginerul DevOps ajută la decis ce arhitectură va folosi aplicația, cum se va scala, alegând sistemul de orchestrare.
  • Apoi, configurează serverele, verificarea automată și livrarea codului, verificarea mediului.
  • După aceea, automatizează testarea, rezolvând problemele legate de deploy.
  • După lansare, este important să colectezi feedback de la utilizatori și să implementezi îmbunătățiri. DevOps se asigură că utilizatorii nu observă aceste îmbunătățiri, iar procesul de actualizare este continuu.
  • De asemenea, rezolvă zeci de probleme care ajută la optimizarea sistemului de lucru pentru dezvoltatori, QA, administratori de sistem și manageri.

Tot ceea ce este scris mai sus se întâmplă în proiecte aproape ideale. În lumea reală, inițiativa începe adesea într-un proiect unde planificarea a fost omisă, arhitectura a fost greșită, iar ideea de automatizare a venit când toate proiectele s-au oprit. A rezolva toate aceste probleme și a face totul să funcționeze este abilitățile esențiale ale unui specialist DevOps.

Există confuzie pe piața forței de muncă. Uneori, companiile caută ingineri DevOps pentru poziții de inginer de sistem, inginer de build sau cineva similar. Responsabilitățile variază în funcție de dimensiunea companiei și de domeniu — în unele locuri caută o persoană pentru consultanță, în altele cer automatizarea tuturor proceselor, iar în altele se așteaptă ca aceasta să îndeplinească funcții extinse de administrator de sistem, cu abilități de programare.

Ce este necesar pentru a începe în profesie

Accesul în profesie necesită o pregătire prealabilă. Nu este suficient să te prezinți la cursuri fără cunoștințe de bază în IT și să ajungi la nivel de junior. Este nevoie de un background tehnic:

  • Este ideal dacă ai lucrat cel puțin șase luni ca administrator de sistem, specialist în operare sau testare. Sau, măcar, să ai o idee despre cum pornesc aplicațiile, în ce mediu se pot dezvolta și ce să faci dacă întâlnești o eroare. Dacă nu ai experiență, urmează un curs de administrare Linux, repetând tot ce se întâmplă pe o mașină de acasă.
  • Învăță cum funcționează tehnologiile de rețea — învață să instalezi, configurezi și administrezi rețele locale și globale.
  • Vezi cum și din ce este structurat programarea — scrie câteva scripturi în Python sau Go, încearcă să înțelegi principiile programării orientate pe obiect (OO), citește despre ciclul general de dezvoltare a produselor.
  • Cunoștințele de limbă engleză tehnică sunt utile — nu este necesar să comunici liber, este suficient să poți citi documentația și interfețele.

Nu trebuie să cunoști tot ce este menționat în detaliu, pentru a începe să înveți DevOps este suficient un nivel minim de pregătire. Dacă ai un astfel de background tehnic, încearcă să te înscrii la cursuri.

Ce trebuie să știe un DevOps

Un bun inginer DevOps este un specialist multifuncțional cu un foarte mare orizont de cunoștințe. Pentru a avea succes, va trebui să te familiarizezi cu mai multe domenii IT simultan.

Dezvoltare

DevOps va scrie un script care să ajute dezvoltatorii să instaleze codul pe server. Va crea un program care testează în timp real reacția bazelor de date. Va scrie o aplicație pentru controlul versiunilor. În cele din urmă, va observa pur și simplu o problemă potențială în dezvoltare, care ar putea apărea pe server.

Un DevOps specialist competent cunoaște mai multe limbaje potrivite pentru automatizare. Deși nu le stăpânește perfect, poate scrie rapid un program mic sau poate citi codul altora. Dacă nu ați avut experiență în dezvoltare, începeți cu Python — are o sintaxă simplă, este ușor de utilizat cu tehnologiile cloud, există multă documentație și biblioteci.

Sisteme de operare

Nu este posibil să cunoașteți toate funcționalitățile fiecărei versiuni a fiecărui sistem — ar dura mii de ore de studiu și nu ar avea sens. În schimb, un bun DevOps înțelege principiile generale de funcționare pe orice sistem de operare. Totuși, judecând după mențiunile din anunțurile de angajare, majoritatea lucrează acum în Linux.

Un bun inginer înțelege în ce sistem este mai bine să dezvolte un proiect, ce instrumente să folosească și ce erori pot apărea în procesul de implementare sau de utilizare.

Cloud-uri

Piața tehnologiilor cloud crește în medie cu 20-25% pe an — această infrastructură permite automatizarea operațiunilor de testare a codului, de construcție a aplicațiilor din componente și de livrare a actualizărilor către utilizatori. Un bun DevOps se pricepe atât în soluții complet cloud, cât și în cele hibride.

În cerințele standard pentru ingineri sunt menționate de obicei GCP, AWS și Azure.

De asemenea, se include și stăpânirea instrumentelor CI/CD. De obicei, pentru integrarea continuă se utilizează Jenkins, dar merită să încercați și alternative. Există multe, cum ar fi Buddy, TeamCity și Gitlab CI. Este util să studiați Terraform — un instrument declarativ care ajută la ridicarea și configurarea infrastructurii în clouduri. Și Packer, care este necesar pentru crearea automată a imaginilor OS.

Sisteme de orchestrare și microservicii

Arhitectura microserviciilor are multe avantaje — stabilitate, capacitatea de scalare rapidă, simplificare și reutilizare. Un DevOps înțelege cum funcționează microserviciile și poate anticipa problemele potențiale.

Cunoaște în detaliu Docker și Kubernetes. Înțelege cum funcționează containerele, cum să construiască un sistem astfel încât să poată opri o parte dintre ele fără a afecta întregul sistem. De exemplu, știe să construiască un cluster Kubernetes cu ajutorul Ansible.

Ce altceva să încerce un viitor DevOps

Instrumentele care pot fi utile în munca unui inginer DevOps pot fi enumerate la nesfârșit. Unii lucrează la orchestrarea proiectelor, alții își dedică cea mai mare parte a timpului automatizării desfășurării și testării, iar alții îmbunătățesc eficiența în gestionarea configurărilor. În proces, va fi clar în ce direcție să căutăm și ce proiecte vor fi utile.

Iată un minim suplimentar care te poate ajuta la început:

  • Înțelege cum funcționează Git și Github, dacă nu ai avut deja de-a face cu ele. Instalează GitLab pe serverul tău.
  • Familiarizează-te cu limbajele de marcare JSON și YAML.
  • Instalează și încearcă să lucrezi cu baze de date — nu doar cu MySQL, ci și cu NoSQL. Încearcă MongoDB.
  • Învață cum să gestionezi configurația mai multor servere simultan. De exemplu, folosind Ansible.
  • Configurează imediat monitorizarea sarcinii și logurile. Încearcă combinația Prometheus, Grafana, Alertmanager.
  • Caută cele mai bune soluții pentru desfășurare în diverse limbaje — e suficient să te familiarizezi, implementarea și aprofundarea urmează să se facă pe un proiect de antrenament sau de muncă.

De ce ar trebui să începi să înveți DevOps acum

Există o cerere mare pe piața inginerilor DevOps. Acest lucru este condiționat de numărul și calitatea locurilor de muncă disponibile:

  • În Rusia, pe HeadHunter, sunt disponibile constant peste 2.000 de locuri de muncă pentru această căutare.
  • Și doar 1.900 de persoane au postat un CV.

Ținând cont că postarea unui CV nu înseamnă că persoanele sunt în căutare activă de muncă, rezultă că pentru un specialist există două sau chiar trei locuri de muncă disponibile — o astfel de situație nu există nici măcar pe piața populară de dezvoltare web. Adaugă și anunțurile de pe Habr și din canalele Telegram — deficitul de specialiști este uriaș.

Cine este inginerul DevOps, ce face, cât câștigă și cum poți deveni unul
Atenție la cerințele salariale ale candidaților

DevOps este la fel de căutat și în lume — dacă vrei să te relochezi în SUA sau Europa, pe portalul Glassdoor peste 34.000 de companii caută astfel de specialiști. Cerințele frecvente includ experiența de 1–3 ani, abilitatea de a lucra cu „cloud”-uri și capacitatea de a face față funcțiilor de consultanță.

Pe freelancing, ofertele sunt de câteva ori mai puține — inginerii DevOps sunt căutați în principal pentru angajare permanentă.

Cine este inginerul DevOps, ce face, cât câștigă și cum poți deveni unul
Găsirea unui proiect potrivit pe freelancing este dificilă, dar posibilă

O cale de carieră tipică pentru un inginer DevOps poate fi reprezentată aproximativ astfel:

  • A lucrat ca administrator de sistem timp de șase luni până la un an într-o mică companie IT. În paralel, studiază o limbă potrivită pentru automatizare.
  • Studiază intensiv la cursuri de aproximativ șase luni.
  • Se mută la un alt loc de muncă—într-o companie care vinde soluții cloud, filiala unei mari corporații, către dezvoltatorii de mari proiecte. Cu alte cuvinte, acolo unde există o nevoie constantă de automatizare și implementare. Pe o poziție de început, salariul este de aproximativ 100.000 de ruble.
  • Lucrează activ și studiază timp de câțiva ani, crescând venitul de mai multe ori.
  • Devine expert în comunitatea profesională și trece în consultanță. Sau avansează la arhitect de sistem sau director IT.

DevOps este complicat. Trebuie să combini abilități din mai multe profesii. Să devii persoana care este pregătită să ofere îmbunătățiri acolo unde alți specialiști IT nu se gândesc deloc la altceva. Pentru aceasta, se plătește bine, dar și volumul de cunoștințe necesar va fi mare.

Cât câștigă DevOps

Salariul mediu median conform datelor din al doilea trimestru al anului 2019 pentru DevOps variază între 90.000 și 160.000 de ruble. Există oferte mai mici—în principal 60-70.000.

Există constant oferte de până la 200.000, întâlnindu-se posturi cu salarii de până la 330.000 de ruble.

Cine este inginerul DevOps, ce face, cât câștigă și cum poți deveni unul
Printre specialiștii în operarea DevOps, salariile sunt mai mari decât în alte domenii. Sursa: Habr.Careers

DevOps-inginerii, inclusiv începătorii, sunt acum căutați în bănci mari, corporații, servicii cloud, sisteme de comerț și alte organizații care se ocupă de menținerea soluțiilor lor IT.

Un candidat excelent pentru un post junior cu un salariu de 60-90.000 va fi un administrator de sistem începător cu aproximativ un an de experiență și diplomă în domeniu.
 
Cine este inginerul DevOps, ce face, cât câștigă și cum poți deveni unul
Nu există astfel de statistici, dar din experiență, oamenii care au experiență în Linux sunt plătiți mai bine.

Ce să urmărești și să citești pentru a progresa în profesie

Pentru a te adânci în lumea DevOps, încearcă mai multe surse de informație:

  • Cloud Native Computing Foundation [YouTube, ENG]—multe videoclipuri de la congrese și webinarii educaționale.
  • Canalul DevOps [YouTube, RUS]—videoclipuri de prezentări de la conferința profesională DevOps din Rusia.
  • The DevOps Handbook [carte, RUS]—una dintre cele mai populare cărți despre filosofia DevOps. În carte se găsesc principii generale ale metodologiei, explicând la ce trebuie să acorzi atenție în primul rând atunci când lucrezi la orice proiect.
  • Thomas Limoncelli «Practica Administrării Sistemelor și Rețelelor» [carte, RUS] — multă teorie și principii despre cum ar trebui să fie organizată administrarea sistemelor.
  • Devops Weekly [carte, ENG] — un rezumat săptămânal al știrilor din DevOps din întreaga lume.
  • Devops_deflope [Telegram, RUS] — știri din industrie, anunțuri de conferințe, linkuri către articole și cărți noi interesante.
  • Devops_ru [Telegram, RUS] — un chat în limba rusă, unde poți cere sfaturi și ajutor pentru configurații.
  • Devops.com — un site internațional mare cu articole, webinarii, podcasturi și coloane ale celor mai mari companii din industrie.
  • Hangops_Ru — o comunitate de ingineri DevOps și simpatizanți vorbitori de rusă.
  • Cele mai bune cărți pentru limbajul pe care îl vei folosi pentru dezvoltare.

Unde să înveți DevOps

Poți obține cunoștințe structurale într-un curs „Inginer DevOps” la Netology. Vei învăța întregul ciclu al metodologiei:

  • Vei învăța cum să analizezi codul și să folosești rapid instrumentele de control al versiunilor.
  • Veți înțelege cele mai bune practici de integrare continuă, testare și compilare.
  • Vei învăța cum să gestionezi modificările din aplicații și să le automatizezi.
  • În practică, vei studia instrumentele de configurare și de management.
  • Te vei obișnui să alegi și să configurezi imediat serviciile necesare pentru monitorizare.

Ca bonus, vei primi un curs de programare în Python — vei rezolva sarcini și mai rapid și mai ușor. Totul în practică — folosim AWS, GCP sau Azure.
Acestea sunt suficiente pentru a transforma un inginer începător sau un administrator de sistem într-un DevOps căutat, crescându-ți astfel prețul pe piața muncii.

Cine este inginerul DevOps, ce face, cât câștigă și cum poți deveni unul

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster