Ce este metodologia DevOps și cine are nevoie de ea

Să ne dăm seama care este esența metodologiei și cui poate beneficia.

Vom vorbi și despre specialiștii DevOps: sarcinile, salariile și abilitățile lor.

Ce este metodologia DevOps și cine are nevoie de ea
fotografie Matt Moore /Flickr/CC BY-SA

Ce este DevOps

DevOps este o metodologie de dezvoltare software a cărei sarcină este să stabilească interacțiunea între programatori și administratorii de sistem dintr-o companie. Dacă specialiștii IT din diferite departamente nu își înțeleg sarcinile reciproc, lansarea de noi aplicații și actualizări pentru ei este întârziată.

DevOps creează un ciclu de dezvoltare „fără întreruperi”, ajutând astfel la accelerarea lansării unui produs software. Accelerarea se realizează prin introducerea sistemelor de automatizare. În plus, programatorii încep să participe la configurarea serverelor și la găsirea erorilor, de exemplu, pot scrie teste automate.

Acest lucru îmbunătățește interacțiunea dintre departamente. Angajații încep să înțeleagă mai bine prin ce etape trece un produs software înainte de a ajunge în mâinile utilizatorului.

Când un dezvoltator înțelege cu ce se confruntă un administrator atunci când configurează un server, el va încerca să netezească posibilele „colțuri ascuțite” din cod. Acest lucru reduce numărul de erori la implementarea unei aplicații - conform statisticilor, aceasta scade de vreo cinci ori.

Cine are nevoie și nu are nevoie de metodologie

Multe Expertii IT credcă DevOps va aduce beneficii oricărei organizații care dezvoltă software. Acest lucru este adevărat chiar dacă compania este un simplu consumator de servicii IT și nu își dezvoltă propriile aplicații. În acest caz, implementarea unei culturi DevOps vă va ajuta să vă concentrați pe inovație.

Excepția alcătuiesc startup-uri, dar aici totul depinde de amploarea proiectului. Dacă scopul tău este să lansezi un produs minim viabil (MVP) pentru a testa o idee nouă, atunci poți să faci fără DevOps. De exemplu, fondatorul Groupon a început să lucreze manual la serviciu postat toate ofertele de pe site și comenzile colectate. Nu a folosit niciun instrument de automatizare.

Are sens doar implementarea metodologiei și instrumentelor de automatizare atunci când aplicația începe să câștige popularitate. Acest lucru va ajuta la eficientizarea proceselor de afaceri și la accelerarea lansării actualizărilor.

Cum se implementează DevOps

Mai jos sunt câteva recomandări pentru trecerea la o nouă metodologie.

Identificarea problemelor din procesele de afaceri. Înainte de a implementa metodologia, evidențiați obiectivele și problemele organizației. Strategia de tranziție la DevOps va depinde de ei. Pentru a face acest lucru, faceți o listă de întrebări, de exemplu:

  • Ce durează cel mai mult la actualizarea software-ului?
  • Este posibil să automatizăm acest proces?
  • Structura organizației afectează acest lucru?

Aflați mai multe despre identificarea problemelor într-o organizație poti citi in carti «Proiectul "Phoenix""Și"Ghid DevOps» de la autorii metodologiei.

Schimbați cultura în companie. Este important să convingem toți angajații să-și schimbe modurile obișnuite de lucru și să-și extindă gama de competențe. De exemplu, la Facebook toți programatorii Răspuns pentru întregul ciclu de viață al aplicației: de la codificare până la implementare. De asemenea, Facebook nu are un departament de testare separat - testele sunt scrise chiar de dezvoltatori.

Începeți mic. Alegeți procesul care necesită cel mai mult timp și efort la lansarea actualizărilor și automatizați-l. Acest poate procesul de testare sau de implementare a aplicației. Experți recomanda Primul pas este implementarea instrumentelor distribuite de control al versiunilor. Ele facilitează gestionarea surselor. Dintre astfel de 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 cu asamblarea și testarea produsului final. Exemple de astfel de instrumente: Jenkins, TeamCity și Bamboo.

Evaluați îmbunătățirile. Dezvoltați indicatori de performanță pentru soluțiile implementate și creați o listă de verificare. Valorile pot include frecvența lansării, timpul petrecut lucrând la funcțiile software și numărul de erori din cod. Discutați rezultatele nu numai cu managerii, ci și cu restul echipei implicate în proiect. Întrebați ce instrumente lipsesc. Luați în considerare aceste solicitări atunci când vă optimizați în continuare procesele.

Critica la adresa DevOps

Deși metodologia Aceasta ajută organizațiile pot lua decizii mai rapide în ceea ce privește dezvoltarea aplicațiilor, tăieturi numărul de erori în software și încurajează angajații să învețe lucruri noi, are, de asemenea, critici.

Există vederecă programatorii nu ar trebui să înțeleagă detaliile muncii administratorilor de sistem. Se presupune că DevOps duce la faptul că în loc de specialiști în dezvoltare sau administrare, compania are oameni care înțeleg totul, dar superficial.

De asemenea, se crede că DevOps nu funcționează cu management defectuos. Dacă echipele de dezvoltare și de administrare nu au obiective comune, managerii sunt cei vinovați că nu organizează comunicarea între 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 subordonaților. O poți citi aici, ce întrebări ar trebui incluse în formularele de sondaj ale angajaților.

Ce este metodologia DevOps și cine are nevoie de ea
fotografie Ed Ivanușkin /Flickr/CC BY-SA

Cine este inginer DevOps

Un inginer DevOps implementează metodologia DevOps. Sincronizează toate etapele creării unui produs software: de la scrierea codului până la testarea și lansarea aplicației. Un astfel de specialist controlează departamentele de dezvoltare și administrare, plus automatizează executarea sarcinilor acestora prin implementarea diverselor instrumente software.

Trucul unui inginer DevOps este că combină multe profesii: administrator, dezvoltator, tester și manager.

Joe Sanchez, evanghelist DevOps la VMware, o companie de software de virtualizare, izolat o serie de abilități pe care trebuie să le aibă un inginer DevOps. Pe lângă cunoștințele evidente despre metodologia DevOps, această persoană ar trebui să aibă experiență în administrarea sistemelor de operare Windows și Linux și experiență de lucru cu instrumente de automatizare precum bucătar-șefMarionetăansiblu. De asemenea, ar trebui să fie capabil să scrie scripturi și coduri în câteva limbi și să înțeleagă tehnologiile de rețea.

Un inginer DevOps este responsabil pentru orice automatizare a sarcinilor legate de configurarea și implementarea aplicațiilor. Monitorizarea software-ului îi cade și pe umerii lui. Pentru a rezolva aceste probleme, el folosește diverse sisteme de management al configurației, soluții de virtualizare și instrumente cloud pentru echilibrarea resurselor.

Cine angajează

Inginerii DevOps pot beneficia de orice organizație care dezvoltă aplicații sau gestionează un număr mare de servere. Ingineri DevOps se angajează Giganți IT precum Amazon, Adobe și Facebook. De asemenea, lucrează pe Netflix, Walmart și Etsy.

Nu se angajează Inginerii DevOps sunt doar startup-uri. Sarcina lor este să lanseze un produs minim viabil pentru a testa o idee nouă. În cele mai multe cazuri, startup-urile se pot descurca fără DevOps.

Cât de mult plătiți

Ingineri DevOps câştiga mai mult decât oricine din industrie. Câștigurile medii ale unor astfel de specialiști din întreaga lume variază între 100 și 125 de mii de dolari pe an.

În SUA ei obține 90 de mii de dolari pe an (500 de mii de ruble pe lună). În Canada ei a plati 122 mii de dolari pe an (670 mii ruble pe lună), iar în Marea Britanie - 67,5 mii lire sterline pe an (490 mii ruble pe lună).

În ceea ce privește Rusia, companiile din Moscova gata plătiți specialiștilor DevOps de la 100 la 200 de mii de ruble pe lună. În Sankt Petersburg, angajatorii sunt puțin mai generoși - oferă 160-360 de mii de ruble pe lună. În regiuni, salariile sunt cotate la 100-120 de mii de ruble pe lună.

Cum să devii un specialist DevOps

DevOps este o direcție relativ nouă în IT, așa că nu există o listă stabilită de cerințe pentru inginerii DevOps. În posturile vacante, printre cerințele pentru acest post puteți găsi atât abilități de administrare Debian și CentOS, cât și capacitatea de a lucra cu unități de disc. Matrice RAID.

Pe baza acestui lucru, putem concluziona că, în primul rând, un inginer DevOps trebuie să aibă o perspectivă tehnică bună. Este important ca o astfel de persoană să învețe constant noi instrumente și tehnologii.

Cel mai simplu mod de a deveni inginer DevOps ar fi un administrator de sistem sau un dezvoltator. Ei au deja o serie de abilități care trebuie doar dezvoltate. Sarcina principală este de a îmbunătăți setul minim de cunoștințe în DevOps, de a înțelege cum să lucrați cu instrumente de automatizare și de a umple golurile în abilitățile de administrare, programare și virtualizare.

Pentru a înțelege unde încă lipsesc cunoștințele, puteți folosi mini-Wikipedia pe GitHub sau harta mentală. De asemenea, rezidenții Hacker News recomanda Citește cărți "Proiectul "Phoenix""Și"Ghid DevOps" (pe care le-am menționat mai sus) și "Filosofia DevOps. Arta managementului IT» sub ștampila O'Reilly Media.

De asemenea, vă puteți abona la Buletinul informativ săptămânal Devops, citește articole de actualitate portalul DZone și începeți să comunicați cu inginerii DevOps în Chat lent. De asemenea, merită să verificați cursurile gratuite Udacity sau EDX.

Postări de pe blogul nostru:



Sursa: www.habr.com

Adauga un comentariu