De ce ar trebui administratorii de sistem, dezvoltatorii și testerii să învețe practicile DevOps?

De ce ar trebui administratorii de sistem, dezvoltatorii și testerii să învețe practicile DevOps?

Unde să mergi cu aceste cunoștințe, ce să faci în proiect și cât să câștigi, ce să spui și să ceri la un interviu - spune Alexander Titov, managing partner al Express 42 și autor curs online „Practici și instrumente DevOps”.

Buna ziua! Deși termenul DevOps există din 2009, încă nu există un consens în comunitatea rusă. Probabil ați observat că unii consideră DevOps o specialitate, alții îl consideră o filozofie, iar alții consideră termenul un set de tehnologii. Am cântat deja de multe ori cu prelegeri despre dezvoltarea acestei direcții, așa că nu voi intra în detaliu în acest articol. Permiteți-mi doar să spun că la Express 42 includem următoarele în el:

DevOps este o metodologie specifică, o cultură a creării unui produs digital, când toți specialiștii din echipă participă la producție.

În dezvoltarea corporativă clasică, totul merge secvenţial: programare, testare şi abia apoi operare, iar viteza acestui proces de la idee la producţie este de 3 luni. Aceasta este o problemă globală pentru produsele digitale, deoarece este imposibil să primiți rapid feedback de la clienți.

În DevOps, instrumentele și abordările sunt concepute pentru a se asigura că procesele de dezvoltare, testare și operațiuni rulează simultan.

Ce rezultă din această abordare?

  • Nu poți angaja vreun „inginer” care să vină să rezolve toate problemele cu producția. Întreaga echipă trebuie să aplice tehnica.

    De ce ar trebui administratorii de sistem, dezvoltatorii și testerii să învețe practicile DevOps?

  • DevOps NU este următoarea formă de administrator de sistem la care trebuie să faceți upgrade. „Inginer DevOps” sună aproximativ la fel ca „dezvoltator Agile”.

    De ce ar trebui administratorii de sistem, dezvoltatorii și testerii să învețe practicile DevOps?

  • Dacă o echipă folosește Kubernetes, Ansible, Prometheus, Mesosphere și Docker, asta nu înseamnă că practicile DevOps au fost implementate acolo.

    De ce ar trebui administratorii de sistem, dezvoltatorii și testerii să învețe practicile DevOps?

Viața după DevOps nu va mai fi niciodată la fel

Abordarea DevOps este, în primul rând, un mod diferit de a gândi, o percepție a dezvoltării în ansamblu și a locului cuiva în proces. Am împărțit cursul nostru online în 2 blocuri:

1. Autodeterminare

În primul rând, examinăm în detaliu esența abordării DevOps, iar studenții descoperă noi roluri în echipă, văd care dintre ele răspunde mai mult și determină ei înșiși ce direcție să dezvolte.

2. Instrumente și practici

Elevii stăpânesc tehnologii specifice din punctul de vedere al metodei DevOps.

Instrumentele DevOps pot fi utilizate atât în ​​abordarea DevOps, cât și în dezvoltarea clasică. Cel mai evident exemplu ar fi utilizarea instrumentului de gestionare a configurației Ansible. A fost creat și conceput pentru a implementa practica DevOps „Infrastructură ca cod”, ceea ce înseamnă că sunt descrise diferite stări ale sistemului, de la setările sistemului de operare până la software-ul aplicației. Descrierea este împărțită în straturi și vă permite să gestionați o configurație complexă, în continuă schimbare. Dar inginerii folosesc adesea Ansible ca o modalitate de a rula scripturi bash pe mai multe mașini. Acest lucru nu este nici rău, nici bun, dar trebuie să înțelegeți că prezența lui Ansible nu garantează prezența DevOps în companie.

Suntem în proces curs Vei fi cufundat în procesul de dezvoltare a unei aplicații asemănătoare celebrului Reddit, începând cu versiunea sa monolitică, trecând pas cu pas la microservicii. Pas cu pas vom stăpâni noi instrumente: Git, Ansible, Gitlab și vom termina cu Kubernetes și Prometheus.

În ceea ce privește practicile, vom urma tacticile celor trei căi descrise în Manualul DevOps - practici de livrare continuă, practici de feedback, iar esența întregului curs este practica învățării continue împreună cu sistemul dumneavoastră.

Ce oferă aceste cunoștințe fiecăruia dintre specialiști?

Pentru administratorii de sistem

Practicile vă vor permite să vă îndepărtați de administrare pentru a crea o conductă de livrare continuă și o platformă de infrastructură pentru livrarea de software. Ideea este că el creează un produs - o platformă de infrastructură pentru dezvoltatori care îi ajută să-și impulsioneze rapid schimbările în producție.

Anterior, administratorii de sistem erau ultimul bastion, după care totul intră în producție. Și practic au fost angajați în stingerea continuă a incendiilor - în lumina cărora este destul de dificil să se aprofundeze în nevoile afacerii, să se gândească la produs și la beneficiile pentru utilizator.
Datorită metodei DevOps, gândirea se schimbă. Administratorul de sistem înțelege cum să traducă configurația în cod, ce practici există pentru aceasta.

Acest lucru este important deoarece companiile realizează din ce în ce mai mult că nu trebuie doar să automatizeze totul, de exemplu. în ceea ce erau obișnuiți să facă, în esență, administratorii de sistem vechi, care plus acest lucru au comunicat puțin și nu au informat echipa despre toate modificările făcute. Acum echipele îi caută pe cei care vor deveni producătorul produsului de infrastructură internă și vor ajuta la combinarea proceselor separate într-unul singur.

Dezvoltatori

Dezvoltatorul încetează să gândească doar în algoritmi. El dobândește priceperea de a lucra cu infrastructura, priceperea de conștientizare arhitecturală a peisajului. Un astfel de dezvoltator înțelege cum funcționează aplicația, cum trece prin conducta de livrare continuă, cum să o monitorizeze, cum să o înregistreze astfel încât să beneficieze clientul. Drept urmare, toate aceste cunoștințe vă permit să scrieți cod relevant.

Pentru testeri

Testarea s-a mutat de mult în modul automat; cu toții spunem că multe teste nu ar trebui făcute, ci scrise :) Testarea devine parte din întreaga conductă de livrare a produsului dumneavoastră. Un tester nu trebuie doar să învețe cum să scrie cod, ci și să înțeleagă cum să-l integreze în sistemele de livrare continuă, cum să primească feedback de la cod în toate etapele de livrare și cum să îmbunătățească în mod constant testarea pentru a detecta erori. cât mai devreme posibil.

Și așa se dovedește că toate cele trei etape au loc simultan. De exemplu, ar putea arăta astfel:

Dezvoltatorul scrie codul, scrie imediat teste pentru acesta și descrie un container docker pentru codul care ar trebui să fie rulat. De asemenea, descrie imediat monitorizarea care va monitoriza funcționarea acestui serviciu în producție și angajează toate acestea.

Când începe integrarea continuă, procesele rulează simultan. Serviciul pornește și este configurat. În același timp, pornește containerul docker și se verifică dacă rulează. În același timp, toate informațiile merg către sistemul de înregistrare. Și așa mai departe în fiecare etapă de dezvoltare - se dovedește a fi o adevărată muncă în echipă de administratori de sistem, dezvoltatori și testeri.

Am studiat DevOps, ce urmează?

După cum știți, unul din câmp nu este un războinic. Dacă compania dumneavoastră nu folosește această metodă, abilitățile dobândite vor rămâne inactiv. Și după ce te-ai familiarizat cu abordările DevOps, cel mai probabil nu vei dori să fii un pion în dezvoltarea corporativă. Poate exista o excepție: sunteți administrator de sistem în echipă și puteți reconstrui toate procesele într-un mod nou. Merită să adăugăm aici că există o mulțime de companii care folosesc această abordare și nu sunt afectate de izolare și caută specialiști. Pentru că DevOps este despre crearea de produse online.

Și acum despre lucrurile bune: stăpânirea practicilor și instrumentelor DevOps reprezintă aproximativ +30% din valoarea ta pe piața muncii. Salariile încep de la 140 de mii de ruble, dar sunt determinate, firesc, de specialitatea și funcționalitatea dumneavoastră principală.

Poți să te uiți la posturi vacante marcate „orientate pe infrastructură”, unde există automatizarea testelor, dezvoltarea de aplicații de microservicii folosind tehnologii cloud, posturi vacante pentru ingineri de infrastructură și tot felul de referințe la DevOps. Nu uitați că fiecare companie înseamnă ceva diferit prin această definiție - citiți cu atenție descrierea.

În timpul lansării cursului nostru, mi-a venit o perspectivă - mulți oameni după curs cad în capcana unui inginer DevOps. Ei găsesc un post vacant cu titlul menționat mai sus, primesc o ofertă bună și apoi vin la muncă și își dau seama că vor trebui să mențină un script bash de trei pagini în Jenkins. Unde sunt Kubernetes, ChatOps, lansările canare și toate astea? Dar nu există nimic, pentru că compania nu are nevoie de DevOps ca metodologie, ci folosește inovații individuale.

Acesta este un motiv pentru a afla intens de la companie cum funcționează procesul de livrare a software-ului, stiva de tehnologie și ce responsabilități veți îndeplini.

Dacă angajatorul îți răspunde la întrebări în mod abstract, ca dintr-o carte, fără detalii, atunci cel mai probabil nu există încă un proces DevOps în companie, dar acesta nu este un motiv pentru a refuza, a studia compania și produsele sale, indiferent dacă există online servicii pe care compania le dezvoltă, aplicații mobile, idei de produse.

Dacă da, atunci clarificați dacă va trebui să lucrați direct cu aceste sisteme sau dacă există posibilitatea deplasării orizontale către echipele acestor servicii, demonstrând în același timp rezultate bune în practicile DevOps. Dacă da, atunci merită să mergeți și să fiți activ și util, iar dacă ne finalizați cursul, acesta din urmă este garantat.

Este important de remarcat faptul că practicienii Devops câștigă adevărată valoare doar cu experiență în dezvoltare/administrare/testare. Abia atunci cunoștințele nu vor fi abstracte, ci vor îmbogăți specialistul (în toate sensurile). Prin urmare, ideea de a „învăța DevOps de la zero” este aproximativ aceeași cu a învăța să „utilizați lentile de la zero” dacă nu ați ținut niciodată o cameră în mâini sau nu ați regizat o fotografie. Pentru a vă ajuta să decideți dacă cursul este potrivit pentru dvs., am realizat un test de admitere care vă va verifica nivelul suficient de cunoștințe.

Cred că unul dintre trucuri curs — că pe parcursul cursului de pregătire fiecare elev stabilește singur în ce direcție dorește să se dezvolte. Adesea vedem tranziții atunci când un dezvoltator devine inginer de infrastructură, iar un administrator își dă seama că este interesat să scrie cod - apoi studiază în continuare limba și o completează cu abilitățile DevOps dobândite. Prin urmare, îi salutăm în mod special pe cei care simt că cariera lor este blocată la o răscruce de drumuri. Cursul începe pe 28 mai, dar te poți înscrie la 2 săptămâni după începerea cursurilor. Puteți vizualiza programul și puteți face testul по ссылке. Ne vedem la OTUS!

Sursa: www.habr.com

Adauga un comentariu