Analizăm esența metodologiei și cui poate aduce beneficii.
De asemenea, vom discuta despre specialiștii DevOps: sarcinile, salariile și abilitățile lor.
Fotografie / Flickr / CC BY-SA
Ce este DevOps
DevOps este o metodologie de dezvoltare software, al cărei scop este să faciliteze colaborarea între programatori și administratori de sistem din companie. Dacă specialiștii IT din diferite departamente nu se înțeleg cu privire la esența sarcinilor lor, lansarea de noi aplicații și actualizări pentru acestea va dura mai mult.
DevOps formează un ciclu de dezvoltare „fără cusături”, astfel contribuind la accelerarea lansării produsului software. Accelerarea se realizează prin implementarea sistemelor de automatizare. În plus, programatorii încep să participe la configurarea serverelor și la căutarea bug-urilor; de exemplu, pot scrie teste automatizate.
Astfel, se îmbunătățește interacțiunea între departamente. Angajații încep să înțeleagă mai bine ce etape parcurge produsul software înainte de a ajunge în mâinile utilizatorului.
Când un dezvoltator înțelege prin ce trece administratorul în configurarea serverului, va încerca să estompeze posibilele „colțuri ascuțite” din cod. Acest lucru reduce numărul de bug-uri la desfășurarea aplicației — conform statisticilor, ele de aproximativ cinci ori.
Cui îi este necesară și cui nu îi este necesară metodologia
Mulți , că DevOps va aduce beneficii oricărei organizații implicate în dezvoltarea de software. Aceasta este adevărat chiar și în cazul în care compania este un simplu consumator de servicii IT și nu dezvoltă aplicații proprii. În acest caz, implementarea culturii DevOps va ajuta la concentrarea asupra inovațiilor.
Excepție startup-urile, dar și aici totul depinde de amploarea proiectului. Dacă obiectivul dumneavoastră este de a lansa un produs minim viabil (minimum viable product, MVP) pentru a testa o idee nouă, atunci se poate face fără DevOps. De exemplu, fondatorul Groupon la începutul muncii la serviciu a plasat manual Implementarea metodologiei și a instrumentelor de automatizare are sens doar atunci când aplicația începe să câștige popularitate. Acest lucru va ajuta la organizarea proceselor de afaceri și la accelerarea lansării actualizărilor.
Cum să implementați DevOps
Cum să implementați DevOps
Iată câteva recomandări pentru trecerea la noua metodologie.
Identificați problemele din procesele de afaceri. Înainte de a implementa metodologia, definiți obiectivele și problemele organizației. De acestea va depinde strategia de tranziție la DevOps. În acest sens, elaborați o listă de întrebări, de exemplu:
- Ce durează cel mai mult timp la actualizarea software-ului?
- Se poate automatiza acest proces?
- Influențează structura organizației acest lucru?
Detalii despre identificarea problemelor în organizație «” și „» de autorii metodologiei.
Schimbați cultura în companie. Este important să convingeți toți angajații să schimbe modurile de lucru obișnuite și să își extindă gama de competențe. De exemplu, în Facebook, toți programatorii pentru întregul ciclu de viață al aplicației: de la redactarea codului la implementare. De asemenea, în Facebook nu există un departament separat de testare - testele sunt realizate de către dezvoltatori.
Începeți cu pași mici. Alegeți un proces care consumă cel mai mult timp și efort la lansarea actualizărilor și automatizați-l. Acesta poate fi testarea sau procesul de desfășurare a aplicațiilor. Experții să implementați mai întâi instrumentele de control al versiunii distribuite. Acestea facilitează gestionarea surselor. Dintre aceste soluții, cele mai cunoscute sunt Git, Mercurial, Subversion (SVN) și CVS.
De asemenea, merită să acordați atenție sistemelor de integrare continuă, responsabile pentru compilarea și testarea produsului final. Exemple de astfel de instrumente: Jenkins, TeamCity și Bamboo.
Evaluați îmbunătățirile. Dezvoltați metrici de eficiență pentru soluțiile implementate și elaborați o listă de verificare. Metricile pot include frecvența lansărilor, timpul de lucru asupra funcțiilor software, numărul de bug-uri din cod. Discutati rezultatele nu doar cu managerii, ci și cu restul echipei implicate în proiect. Întrebați ce instrumente sunt lipsă. Țineți cont de aceste solicitări în continuarea optimizării proceselor.
Critica DevOps
Deși metodologia organizațiile să ia decizii mai rapide în ceea ce privește dezvoltarea aplicațiilor, numărul de erori din software și încurajează angajații să învețe lucruri noi, aceasta are și criticii.
Există , că programatorii nu ar trebui să se ocupe de detaliile activității administratorilor de sistem. Se spune că DevOps duce la apariția în companie a unor persoane care înțeleg multe lucruri, dar doar la nivel superficial, în locul specialiștilor în dezvoltare sau administrare.
De asemenea, se consideră că DevOps în condiții de management slab. Dacă echipele de dezvoltare și administrare nu au obiective comune, managerii sunt responsabili, deoarece nu organizează interacțiunea dintre echipe. Pentru a rezolva această problemă, nu este nevoie de o nouă metodologie, ci de un sistem de evaluare a managerilor bazat pe feedback-ul subordinatilor. Aici puteți citi .

Fotografie / Flickr / CC BY-SA
Cine este un inginer DevOps
Inginerul DevOps se ocupă de implementarea metodologiei DevOps. El sincronizează toate etapele de creare a produsului software: de la scrierea codului până la testarea și lansarea aplicației. Acest specialist coordonează departamentele de dezvoltare și administrare și automatizează îndeplinirea sarcinilor lor, implementând diverse instrumente software.
Trucul inginerului DevOps este că el combină numeroase profesii: administrator, dezvoltator, tester și manager.
Joe Sanchez, evanghelist DevOps de la VMware, compania care dezvoltă software pentru virtualizare, o serie de abilități de care trebuie să dispună inginerul DevOps. Pe lângă cunoașterea evidentă a metodologiei DevOps, această persoană ar trebui să aibă experiență în administrarea sistemelor de operare Windows și Linux și experiență cu instrumente de automatizare precum , , . De asemenea, el ar trebui să știe să scrie scripturi și cod în câteva limbaje și să înțeleagă tehnologiile de rețea.
Inginerul DevOps este responsabil pentru orice automatizare a sarcinilor legate de configurarea și desfășurarea aplicațiilor. De asemenea, el este responsabil pentru monitorizarea software-ului. Pentru a îndeplini aceste sarcini, el utilizează diverse sisteme de gestionare a configurațiilor, soluții de virtualizare și instrumente cloud pentru echilibrarea resurselor.
Cine angajează
Inginerii DevOps pot aduce valoare oricărei organizații al cărei activitate este legată de dezvoltarea aplicațiilor sau de gestionarea unui număr mare de servere. Inginerii DevOps de giganți IT precum Amazon, Adobe și Facebook. De asemenea, ei lucrează pentru Netflix, Walmart și Etsy.
Inginerii DevOps lucrează în principal în startup-uri. Sarcina lor este de a lansa un produs minim viabil pentru a testa o idee nouă. În majoritatea cazurilor, startup-urile se pot desfășura fără DevOps.
Cât câștigă
inginerii DevOps cei mai mulți din industrie. Venitul mediu al acestor specialiști la nivel mondial variază între 100 și 125 de mii de dolari pe an.
În Statele Unite, aceștia 90 de mii de dolari pe an (500 de mii de ruble pe lună). În Canada, ei 122 de mii de dolari pe an (670 de mii de ruble pe lună), iar în Marea Britanie — 67,5 mii de lire sterline pe an (490 de mii de ruble pe lună).
Cât despre Rusia, companiile din Moscova să plătească specialiștilor DevOps între 100 și 200 de mii de ruble pe lună. În Sankt-Petersburg, angajatorii sunt ceva mai generoși — oferă între 160–360 de mii de ruble pe lună. În regiuni, salariile menționate sunt de 100–120 de mii de ruble pe lună.
Cum să devii specialist în DevOps
DevOps este un domeniu relativ nou în IT, astfel încât nu există o listă bine definită de cerințe pentru inginerii DevOps. În anunțurile de angajare, printre cerințele pentru acest post se pot întâlni atât abilități de administrare a Debian și CentOS, cât și capacitatea de a lucra cu .
Pe baza acestui lucru, se poate concluziona că, înainte de toate, un inginer DevOps trebuie să aibă un orizont tehnic solid. Este important ca o astfel de persoană să studieze constant noi instrumente și tehnologii.
Cea mai ușoară cale de a deveni inginer DevOps este pentru un sysadmin sau un dezvoltator. Aceștia au deja un set de abilități care trebuie doar dezvoltate. Sarcina principală este de a aprofunda cunoștințele minime despre DevOps, de a înțelege cum să lucreze cu instrumentele de automatizare și de a completa lacunele în abilitățile de administrare, programare și virtualizare.
Pentru a înțelege unde lipsește cunoștințe, poți folosi sau . Rezidenții Hacker News pot de asemenea citi cărți precum „” și „„ (pe care le-am menționat anterior) și „„ sub egida O'Reilly Media.
De asemenea, poți să te abonezi la , să citești articole de pe portalul tematic și să începi să comunici cu inginerii DevOps în . De asemenea, merită să studiezi cursuri gratuite pe sau .
Postările din blogul nostru:
Sursa: habr.com
