Të shqyrtojmë thelbin e metodologjisë dhe kujt mund t'i sjellë dobi.
Do të flasim gjithashtu për specialistët e DevOps: detyrat, pagat dhe aftësitë e tyre.
Foto / Flickr / CC BY-SA
Çfarë është DevOps
DevOps është një metodologji zhvillimi software, me qëllim të forcojë bashkëpunimin mes programuesve dhe administratorëve të sistemit në kompani. Nëse specialistët IT nga departamente të ndryshme nuk kuptojnë thelbin e detyrave të njëri-tjetrit, lëshimi i aplikacioneve të reja dhe përditësimeve për to zgjat.
DevOps formon një cikël zhvillimi "pa shpërqendrime", duke ndihmuar kështu në përshpejtimin e lëshimit të produktit software. Përshpejtimi arrihet përmes implementimit të sistemeve të automatizimit. Përveç kësaj, programuesit fillojnë të marrin pjesë në konfigurimin e serverëve dhe gjetjen e defekteve, për shembull, ata mund të shkruajnë teste automatizimi.
Kështu, krijohet një bashkëpunim më i mirë mes departamenteve. Punonjësit fillojnë të kuptojnë më mirë cilat faza kalon produkti software para se të arrijë në duar të përdoruesit.
Kur zhvilluesi kupton se çfarë përballen administratorët gjatë konfigurimit të serverit, ai do të përpiqet të zbusë mundësitë e "këndvijave" në kod. Kjo ul numrin e defekteve gjatë shpërndarjes së aplikacionit — sipas statistikave, ajo afërsisht pesë herë.
Kush e ka dhe kush nuk e ka metodologjinë
Shumë , se DevOps do t'i sjellë dobi çdo organizate që merret me zhvillimin e softuerit. Kjo është e vërtetë edhe kur kompania është një konsumator i thjeshtë i shërbimeve IT dhe nuk zhvillon aplikacione të veta. Në këtë rast, implementimi i kulturës DevOps do të ndihmojë në fokusimin në inovacione.
Përjashtimi startupet, por edhe këtu gjithçka varet nga shkalla e projektit. Nëse qëllimi juaj është të lançoni një produkt minimalisht funksional (minimum viable product, MVP) për të testuar një ide të re, atëherë mund të kaloni edhe pa DevOps. Për shembull, themeluesi i Groupon në fillim të punës së tij me shërbimin vetë të gjitha ofertat në faqe dhe mbledhte porositë. Ai nuk përdori asnjë mjet automatizimi.
Implementing methodology and automation tools is meaningful only when the application starts gaining popularity. This will help streamline business processes and speed up the release of updates.
How to implement DevOps
Next — several recommendations for transitioning to the new methodology.
Identify problems in business processes. Before implementing the methodology, outline the goals and problems of the organization. These will determine the strategy for transitioning to DevOps. For this, create a list of questions, such as:
- What takes the most time during software updates?
- Can this process be automated?
- Does the organizational structure influence this?
Details about identifying problems in the organization «» dhe «by the authors of the methodology.
Change the culture in the company. It is important to persuade all employees to change their usual ways of working and expand their range of competencies. For example, in Facebook, all programmers for the entire application lifecycle: from coding to deployment. Also, in Facebook, there is no separate testing department — developers write the tests themselves.
Start small. Zgjidhni procesin që kërkon më shumë kohë dhe përpjekje gjatë lëshimit të përmirësimeve, dhe automatizoni atë. Kjo testimi ose procesi i shpërndarjes së aplikacioneve. Ekspertët që hapat e parë të jenë implementimi i mjeteve të kontrollit version të shpërndarë. Me to, është më e lehtë të menaxhosh burimet. Disa nga këto zgjidhje më të njohura janë Git, Mercurial, Subversion (SVN) dhe CVS.
Gjithashtu ka rëndësi të kushtoni vëmendje sistemeve të integrimit të vazhdueshëm, të cilat janë përgjegjëse për ndërtimin dhe testimin e produktit përfundimtar. Disa shembuj të tillë janë: Jenkins, TeamCity dhe Bamboo.
Vlerësoni përmirësimet. Zhvilloni metrika efektiviteti për zgjidhjet e implementuara dhe përgatitni një listë kontrolli. Metrikat mund të përfshijnë frekuencën e lëshimeve, kohën e kaluar në funksionet e softuerit, numrin e gabimeve në kod. Diskutoni rezultatet jo vetëm me menaxherët, por edhe me pjesën tjetër të ekipit të angazhuar në projekt. Pyesni se cilat mjete mungojnë. Merrni parasysh këto kërkesa gjatë optimizimit të mëtejshëm të proceseve.
Kritika ndaj DevOps
Megjithëse metodologjia organizatat të marrin vendime më shpejt në lidhje me zhvillimin e aplikacioneve, numri i gabimeve në software dhe inkurajon punonjësit të mësojnë diçka të re, ka edhe kritika.
Ka , që programuesit nuk duhet të merret me detajet e punës së administratorëve të sistemeve. Sipas të dhënave, DevOps çon në këtë mënyrë që në kompani të keni njerëz që kuptojnë gjithçka, por sipërfaqësisht, në vend të specialistëve në zhvillim ose administrim.
Gjithashtu besohet se DevOps në menaxhim të keq. Nëse ekipet e zhvilluesve dhe administratorëve nuk kanë qëllime të përbashkëta, kjo është faji i menaxherëve që nuk organizojnë bashkëpunimin midis ekipeve. Për të zgjidhur këtë problem, nuk nevojitet një metodologji e re, por një sistem vlerësimi për menaxherët bazuar në komente nga nënshkruesit. Këtu mund të lexoni .

Foto / Flickr / CC BY-SA
Kush është inxhinieri DevOps
Inxhinieri DevOps merret me zbatimin e metodologjisë DevOps. Ai sinkronizon të gjitha fazat e krijimit të produktit programor: nga shkruajtja e kodit deri te testimi dhe lëshimi i aplikacionit. Ky specialist kontrollon departamentet e zhvillimit dhe administratës dhe automatizon kryerjen e detyrave të tyre duke implementuar mjete të ndryshme softuerike.
Tipari i inxhinierit DevOps është se ai kombinon shumë profesione: administrator, zhvillues, testues dhe menaxher.
Joe Sanchez, evangelist DevOps nga VMware, një kompani zhvillimi softuerësh për virtualizim, një sërë aftësish që duhet të ketë inxhinieri DevOps. Përveç njohurive të dukshme në metodologjinë DevOps, ky person duhet të ketë përvojë në administrimin e sistemeve operative Windows dhe Linux dhe përvojë në përdorimin e mjeteve të automatizimit si , , . Ai gjithashtu duhet të dijë të shkruajë skripta dhe kod në disa gjuhë dhe të kuptojë teknologjitë e rrjetit.
Inxhinieri DevOps është përgjegjës për automatizimin e çdo detyre që lidhet me konfigurimin dhe implementimin e aplikacioneve. Ai gjithashtu merret me monitorimin e softuerit. Për të zgjidhur këto detyra, ai përdor sisteme të ndryshme menaxhimi të konfiguratave, zgjidhje virtualizimi dhe mjete të reja cloud për balancimin e resurseve.
Kush punëson
Inxhinierët DevOps mund të sjellin përfitime për çdo organizatë që është e lidhur me zhvillimin e aplikacioneve ose menaxhimin e një numri të madh serverësh. Inxhinierët DevOps nga gjigantët IT si Amazon, Adobe dhe Facebook. Ata gjithashtu punojnë për Netflix, Walmart dhe Etsy.
Inxhinierët DevOps vetëm nga startup-et. Detyra e tyre është të lëshojnë një produkt minimalisht jetësor për të provuar një ide të re. Në shumicën e rasteve, startup-et mund të kalojnë pa DevOps.
Sa paguajnë
Inxhinierët DevOps më shumë se të gjithë të tjerët në industrinë. Pagesa mesatare për këta profesionistë në botë është nga 100 deri në 125 mijë dollarë në vit.
Në SHBA, ata 90 mijë dollarë në vit (500 mijë rubla në muaj). Në Kanada, ata 122 mijë dollarë në vit (670 mijë rubla në muaj), ndërsa në Mbretërinë e Bashkuar - 67.5 mijë paund sterling në vit (490 mijë rubla në muaj).
Sa për këtë, kompanitë në Moskë të paguajnë specialistët DevOps nga 100 deri në 200 mijë rubla në muaj. Në Sankt Petersburg, punëdhënësit janë pak më bujare - ofrojnë 160-360 mijë rubla në muaj. Në rajone, pagat janë 100-120 mijë rubla në muaj.
Si të bëheni specialist DevOps
DevOps është një fushë relativisht e re në IT, prandaj nuk ka një listë të konsoliduar kërkesash për inxhinierët DevOps. Në shpalljet e punës, midis kërkesave për këtë pozita mund të takoni si aftësi në administrimin e Debian dhe CentOS, ashtu edhe aftësinë për të punuar me .
Nga kjo mund të nxirret përfundimi se, para së gjithash, inxhinieri DevOps duhet të ketë një horizont të mirë teknik. Një person i tillë është e rëndësishme të studiojë vazhdimisht mjete dhe teknologji të reja.
Më e lehtë do të jetë të bëhesh inxhinier DevOps për një administrator sistemesh ose zhvillues. Ata tashmë kanë një sërë aftësish që duhet thjesht të zhvillohen. Detyra kryesore është të forcojnë grupin minimal të njohurive në DevOps, të kuptojnë se si të punojnë me mjetet e automatizimit dhe të plotësojnë boshllëqet në aftësitë e administratës, programimit dhe virtualizimit.
Për të kuptuar se ku mungojnë njohuri, mund të përdorni ose . Rezidentët e Hacker News gjithashtu mund të lexojnë librat “» dhe «“ (të cilat i përmendëm më sipër) dhe ““ nën imprint-in e O’Reilly Media.
Kështu mund të abonoheni në , të lexoni artikujt e portalit tematik dhe të filloni të komunikoni me inxhinierët DevOps në . Gjithashtu ia vlen të studioni kurset falas në ose .
Postimet nga blogu ynë:
Burimi: habr.com
