Wat is DevOps-metodologie en wie het dit nodig

Kom ons vind uit wat die kern van die metodologie is en wie dit kan baat.

Ons sal ook praat oor DevOps-spesialiste: hul take, salarisse en vaardighede.

Wat is DevOps-metodologie en wie het dit nodig
Фото Matt Moore /Flickr/CC BY-SA

Wat is DevOps

DevOps is 'n sagteware-ontwikkelingsmetodologie wie se taak is om interaksie tussen programmeerders en stelseladministrateurs in 'n maatskappy te vestig. As IT-spesialiste van verskillende departemente nie mekaar se take verstaan ​​nie, word die vrystelling van nuwe toepassings en opdaterings daarvoor vertraag.

DevOps skep 'n "naatlose" ontwikkelingsiklus, wat help om die vrystelling van 'n sagtewareproduk te bespoedig. Versnelling word bereik deur die bekendstelling van outomatiseringstelsels. Boonop begin programmeerders deelneem aan die opstel van bedieners en foute vind, byvoorbeeld, hulle kan outomatiese toetse skryf.

Dit verbeter interaksie tussen departemente. Werknemers begin beter verstaan ​​deur watter stadiums 'n sagtewareproduk gaan voordat dit in die hande van die gebruiker kom.

Wanneer 'n ontwikkelaar verstaan ​​wat 'n administrateur in die gesig staar wanneer hy 'n bediener opstel, sal hy probeer om moontlike "skerp hoeke" in die kode uit te stryk. Dit verminder die aantal foute wanneer 'n toepassing ontplooi word - volgens statistieke is dit neem af sowat vyf keer.

Wie het die metodologie nodig en nie nodig nie

Baie IT-kenners glodat DevOps enige organisasie sal bevoordeel wat sagteware ontwikkel. Dit is waar selfs al is die maatskappy 'n eenvoudige verbruiker van IT-dienste en ontwikkel nie sy eie toepassings nie. In hierdie geval sal die implementering van 'n DevOps-kultuur jou help om op innovasie te fokus.

Die uitsondering opmaak opstart, maar hier hang alles af van die omvang van die projek. As jou doel is om 'n minimum lewensvatbare produk (MVP) bekend te stel om 'n nuwe idee te toets, dan kan jy sonder DevOps klaarkom. Byvoorbeeld, die stigter van Groupon het met die hand aan die diens begin werk geplaas alle aanbiedinge op die webwerf en versamelde bestellings. Hy het geen outomatiseringsinstrumente gebruik nie.

Dit maak net sin om outomatiseringsmetodologie en -instrumente te implementeer wanneer die toepassing gewild begin word. Dit sal help om besigheidsprosesse te stroomlyn en die vrystelling van opdaterings te bespoedig.

Hoe om DevOps te implementeer

Hieronder is 'n paar aanbevelings om na 'n nuwe metodologie oor te skakel.

Identifiseer probleme in besigheidsprosesse. Voor die implementering van die metodologie, lig die organisasie se doelwitte en probleme uit. Die strategie vir oorgang na DevOps sal daarvan afhang. Om dit te doen, maak 'n lys vrae, byvoorbeeld:

  • Wat neem die meeste tyd wanneer sagteware opgedateer word?
  • Is dit moontlik om hierdie proses te outomatiseer?
  • Beïnvloed die struktuur van die organisasie dit?

Kom meer te wete oor die identifisering van probleme in 'n organisasie kan in boeke gelees word «Projek "Phoenix""En"DevOps-gids» van die outeurs van die metodologie.

Verander die kultuur in die maatskappy. Dit is belangrik om alle werknemers te oortuig om hul gewone werkswyses te verander en hul reeks vaardighede uit te brei. Byvoorbeeld, by Facebook alle programmeerders antwoord vir die hele toepassing lewensiklus: van kodering tot implementering. Facebook het ook nie ’n aparte toetsafdeling nie – die toetse word deur die ontwikkelaars self geskryf.

Begin klein. Kies die proses wat die meeste tyd en moeite verg wanneer opdaterings vrygestel word en outomatiseer dit. Hierdie miskien toets- of toepassing-ontplooiingsproses. Kenners adviseer Die eerste stap is om verspreide weergawebeheernutsmiddels te implementeer. Hulle maak dit makliker om bronne te bestuur. Onder sulke oplossings is die bekendste Git, Mercurial, Subversion (SVN) en CVS.

Dit is ook die moeite werd om aandag te skenk aan deurlopende integrasiestelsels wat verantwoordelik is vir die samestelling en toets van die finale produk. Voorbeelde van sulke instrumente: Jenkins, TeamCity en Bamboo.

Evalueer verbeterings. Ontwikkel prestasiemaatstawwe vir geïmplementeerde oplossings en skep 'n kontrolelys. Metrieke kan vrystellingfrekwensie, tyd wat aan sagteware-kenmerke spandeer word, en die aantal foute in die kode insluit. Bespreek die resultate nie net met bestuurders nie, maar ook met die res van die span wat by die projek betrokke is. Vra watter gereedskap ontbreek. Neem hierdie versoeke in ag wanneer u u prosesse verder optimaliseer.

Kritiek op DevOps

Alhoewel die metodologie dit help organisasies kan vinniger besluite neem oor toepassingsontwikkeling, snye die aantal foute in die sagteware en moedig werknemers aan om nuwe dinge te leer, het dit ook kritici.

Daar is oogdat programmeerders nie die besonderhede van die werk van stelseladministrateurs moet verstaan ​​nie. Na bewering lei DevOps daartoe dat die maatskappy in plaas van ontwikkeling- of administrasiespesialiste mense het wat alles verstaan, maar oppervlakkig.

Daar word ook geglo dat DevOps werk nie met swak bestuur. As die ontwikkeling- en adminspanne nie gemeenskaplike doelwitte het nie, is dit die bestuurders wat die skuld kry dat hulle nie kommunikasie tussen die spanne organiseer nie. Om hierdie probleem op te los, is nie 'n nuwe metodologie nodig nie, maar 'n stelsel vir die evaluering van bestuurders gebaseer op terugvoer van ondergeskiktes. Jy kan dit hier lees, watter vrae ingesluit moet word in werknemeropnamevorms.

Wat is DevOps-metodologie en wie het dit nodig
Фото Ed Ivanushkin /Flickr/CC BY-SA

Wie is 'n DevOps-ingenieur

'n DevOps-ingenieur implementeer die DevOps-metodologie. Dit sinchroniseer alle stadiums van die skep van 'n sagtewareproduk: van die skryf van kode tot die toets en vrystelling van die toepassing. So 'n spesialis beheer die ontwikkeling en administrasie departemente, plus outomatiseer die uitvoering van hul take deur die bekendstelling van verskeie sagteware gereedskap.

Die truuk van 'n DevOps-ingenieur is dat hy baie beroepe kombineer: administrateur, ontwikkelaar, toetser en bestuurder.

Joe Sanchez, DevOps-evangelis by VMware, 'n virtualiseringsagtewaremaatskappy, uitgesonder 'n aantal vaardighede wat 'n DevOps-ingenieur moet hê. Benewens die ooglopende kennis van DevOps-metodologie, moet hierdie persoon ervaring hê met die administrasie van Windows- en Linux-bedryfstelsels en ervaring hê om met outomatiseringsnutsmiddels soos ChefPuppetAnsible. Hy moet ook in staat wees om skrifte en kode in 'n paar tale te skryf en netwerktegnologieë te verstaan.

'n DevOps-ingenieur is verantwoordelik vir enige outomatisering van take wat verband hou met die opstel en ontplooiing van toepassings. Sagtewaremonitering val ook op sy skouers. Om hierdie probleme op te los, gebruik hy verskeie konfigurasiebestuurstelsels, virtualiseringsoplossings en wolknutsmiddels om hulpbronne te balanseer.

Wie huur

DevOps-ingenieurs kan enige organisasie bevoordeel wat toepassings ontwikkel of groot getalle bedieners bestuur. DevOps-ingenieurs besig is om aan te stel IT-reuse soos Amazon, Adobe en Facebook. Hulle werk ook op Netflix, Walmart en Etsy.

Nie huur nie DevOps-ingenieurs is slegs beginners. Hulle werk is om 'n minimum lewensvatbare produk vry te stel om 'n nuwe idee te toets. In die meeste gevalle kan opstarters sonder DevOps klaarkom.

Hoeveel betaal

DevOps-ingenieurs verdien meer as enigiemand in die bedryf. Die gemiddelde verdienste van sulke spesialiste regoor die wêreld wissel van 100 tot 125 duisend dollar per jaar.

In die VSA het hulle get 90 duisend dollar per jaar (500 duisend roebels per maand). In Kanada het hulle betaal 122 duisend dollar per jaar (670 duisend roebels per maand), en in die Verenigde Koninkryk - 67,5 duisend pond sterling per jaar (490 duisend roebels per maand).

Soos vir Rusland, Moskou maatskappye gereed betaal DevOps-spesialiste van 100 tot 200 duisend roebels per maand. In St. Petersburg is werkgewers 'n bietjie meer vrygewig - hulle bied 160-360 duisend roebels per maand. In die streke word salarisse aangehaal teen 100-120 duisend roebels per maand.

Hoe om 'n DevOps-spesialis te word

DevOps is 'n relatief nuwe rigting in IT, so daar is geen gevestigde lys vereistes vir DevOps-ingenieurs nie. In die vakatures, onder die vereistes vir hierdie pos, kan jy beide Debian- en CentOS-administrasievaardighede vind en die vermoë om met skyfdryf te werk. RAID-skikkings.

Op grond hiervan kan ons aflei dat, eerstens, 'n DevOps-ingenieur 'n goeie tegniese uitkyk moet hê. Dit is belangrik vir so 'n persoon om voortdurend nuwe gereedskap en tegnologieë aan te leer.

Die maklikste manier om 'n DevOps-ingenieur te word, is 'n stelseladministrateur of ontwikkelaar. Hulle het reeds 'n aantal vaardighede wat net ontwikkel moet word. Die hooftaak is om die minimum stel kennis in DevOps te verbeter, te verstaan ​​hoe om met outomatiseringsnutsmiddels te werk en gapings in administrasie-, programmerings- en virtualisasievaardighede te vul.

Om te verstaan ​​waar kennis nog ontbreek, kan jy gebruik mini-Wikipedia op GitHub of geestelike kaart. Inwoners van Hacker News ook aanbeveel lees boeke "Projek "Phoenix""En"DevOps-gids" (wat ons hierbo genoem het) en "DevOps filosofie. Die kuns van IT-bestuur» onder die stempel van O'Reilly Media.

Jy kan ook inteken op Devops Weeklikse nuusbrief, lees aktuele artikels portaal DZone en begin kommunikeer met DevOps-ingenieurs in Slap gesels. Dit is ook die moeite werd om na die gratis kursusse te kyk Udacity of EDX.

Plasings vanaf ons blog:



Bron: will.com

Voeg 'n opmerking