Ce este metodologia DevOps și cui îi este necesară

Analizăm esența metodologiei și cui poate aduce beneficii.

De asemenea, vom discuta despre specialiștii DevOps: sarcinile, salariile și abilitățile lor.

Ce este metodologia DevOps și cui îi este necesară
Fotografie Matt Moor / 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 se reduc de aproximativ cinci ori.

Cui îi este necesară și cui nu îi este necesară metodologia

Mulți experți IT consideră, 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 reprezintă 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 toate ofertele pe site și a strâns comenzi. Nu a folosit niciun instrument de automatizare. 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 pot fi citite în cărți «Proiectul „Phoenix”” și „Ghid pentru DevOps» 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 sunt responsabili 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 ar putea fi testarea sau procesul de desfășurare a aplicațiilor. Experții recomandă 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 ajută organizațiile să ia decizii mai rapide în ceea ce privește dezvoltarea aplicațiilor, reduce numărul de erori din software și încurajează angajații să învețe lucruri noi, aceasta are și criticii.

Există o părere, 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 nu funcționează î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 ce întrebări ar trebui incluse în formularele de sondaj pentru angajați.

Ce este metodologia DevOps și cui îi este necesară
Fotografie Ed Ivanushkin / 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, a subliniat 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 Chef, Puppet, Ansible. 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 sunt angajați de giganți IT precum Amazon, Adobe și Facebook. De asemenea, ei lucrează pentru Netflix, Walmart și Etsy.

Nu angajează 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 câștigă 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 obțin 90 de mii de dolari pe an (500 de mii de ruble pe lună). În Canada, ei sunt plătiți 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 sunt dispuse 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 arrays RAID.

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 mini-wikipedia pe GitHub sau o hartă mintală. Rezidenții Hacker News pot de asemenea se recomandă citi cărți precum „Proiectul „Phoenix”” și „Ghid pentru DevOps„ (pe care le-am menționat anterior) și „Filozofia DevOps. Arta gestionării IT„ sub egida O'Reilly Media.

De asemenea, poți să te abonezi la newsletter-ul Devops Weekly, să citești articole de pe portalul tematic DZone și să începi să comunici cu inginerii DevOps în chat-ul Slack. De asemenea, merită să studiezi cursuri gratuite pe Udacity sau edX.

Postările din blogul nostru:



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