Hva er DevOps-metodikk og hvem trenger det

La oss finne ut hva essensen av metodikken er og hvem den kan ha nytte av.

Vi vil også snakke om DevOps-spesialister: deres oppgaver, lønn og ferdigheter.

Hva er DevOps-metodikk og hvem trenger det
Bilde Matt Moore /Flickr/CC BY-SA

Hva er DevOps

DevOps er en programvareutviklingsmetodikk som har som oppgave å etablere interaksjon mellom programmerere og systemadministratorer i en bedrift. Hvis IT-spesialister fra ulike avdelinger ikke forstår hverandres oppgaver, blir utgivelsen av nye applikasjoner og oppdateringer for dem forsinket.

DevOps skaper en "sømløs" utviklingssyklus, og bidrar dermed til å fremskynde utgivelsen av et programvareprodukt. Akselerasjon oppnås gjennom innføring av automasjonssystemer. I tillegg begynner programmerere å delta i å sette opp servere og finne feil, for eksempel kan de skrive automatiserte tester.

Dette forbedrer samhandlingen mellom avdelingene. Ansatte begynner å bedre forstå hvilke stadier et programvareprodukt går gjennom før det kommer i hendene på brukeren.

Når en utvikler forstår hva en administrator møter når han setter opp en server, vil han prøve å jevne ut mulige "skarpe hjørner" i koden. Dette reduserer antall feil når du distribuerer en applikasjon - ifølge statistikk, det avtar omtrent fem ganger.

Hvem trenger og ikke trenger metodikken

Mange mener IT-eksperterat DevOps vil være til nytte for enhver organisasjon som utvikler programvare. Dette gjelder selv om bedriften er en enkel forbruker av IT-tjenester og ikke utvikler egne applikasjoner. I dette tilfellet vil implementering av en DevOps-kultur hjelpe deg med å fokusere på innovasjon.

Unntaket redegjøre for startups, men her avhenger alt av prosjektets omfang. Hvis målet ditt er å lansere et minimum levedyktig produkt (MVP) for å teste en ny idé, kan du klare deg uten DevOps. For eksempel begynte grunnleggeren av Groupon å jobbe med tjenesten manuelt lagt ut alle tilbud på nettsiden og innsamlede bestillinger. Han brukte ingen automatiseringsverktøy.

Det er bare fornuftig å implementere automatiseringsmetodikk og -verktøy når applikasjonen begynner å bli populær. Dette vil bidra til å strømlinjeforme forretningsprosesser og fremskynde utgivelsen av oppdateringer.

Hvordan implementere DevOps

Nedenfor er noen anbefalinger for å bytte til en ny metodikk.

Identifisere problemer i forretningsprosesser. Før du implementerer metodikken, fremhev organisasjonens mål og problemer. Strategien for overgang til DevOps vil avhenge av dem. For å gjøre dette, lag en liste med spørsmål, for eksempel:

  • Hva tar mest tid når du oppdaterer programvare?
  • Er det mulig å automatisere denne prosessen?
  • Påvirker strukturen i organisasjonen dette?

Lær mer om å identifisere problemer i en organisasjon kan leses i bøker «Prosjekt "Phoenix""Og"DevOps-veiledning» fra forfatterne av metodikken.

Endre kulturen i bedriften. Det er viktig å overbevise alle ansatte om å endre sine vanlige arbeidsmåter og utvide sitt kompetansespekter. For eksempel på Facebook alle programmerere møte for hele applikasjonens livssyklus: fra koding til implementering. Facebook har heller ikke en egen testavdeling – testene er skrevet av utviklerne selv.

Begynn i det små. Velg prosessen som tar mest tid og krefter når du slipper oppdateringer og automatiser den. Dette kanskje testing eller applikasjonsdistribusjonsprosess. Eksperter rådgi Det første trinnet er å implementere distribuerte versjonskontrollverktøy. De gjør det lettere å administrere kilder. Blant slike løsninger er de mest kjente Git, Mercurial, Subversion (SVN) og CVS.

Det er også verdt å ta hensyn til kontinuerlige integrasjonssystemer som er ansvarlige for montering og testing av sluttproduktet. Eksempler på slike verktøy: Jenkins, TeamCity og Bamboo.

Vurder forbedringer. Utvikle ytelsesmålinger for implementerte løsninger og lag en sjekkliste. Beregninger kan inkludere utgivelsesfrekvens, tid brukt på å jobbe med programvarefunksjoner og antall feil i koden. Diskuter resultatene ikke bare med ledere, men også med resten av teamet som er involvert i prosjektet. Spør hvilke verktøy som mangler. Ta disse forespørslene i betraktning når du optimaliserer prosessene dine videre.

Kritikk av DevOps

Selv om metodikken det hjelper organisasjoner kan ta raskere beslutninger angående applikasjonsutvikling, kutt antall feil i programvaren og oppmuntrer ansatte til å lære nye ting, har den også kritikere.

Det er utsiktat programmerere ikke skal forstå detaljene i arbeidet til systemadministratorer. Angivelig fører DevOps til at i stedet for utviklings- eller administrasjonsspesialister har selskapet folk som forstår alt, men overfladisk.

Det antas også at DevOps ikke fungerer med dårlig ledelse. Dersom utviklings- og adminteamene ikke har felles mål, er det lederne som har skylden for ikke å organisere kommunikasjonen mellom teamene. For å løse dette problemet er det ikke nødvendig med en ny metodikk, men et system for å evaluere ledere basert på tilbakemeldinger fra underordnede. Du kan lese den her, hvilke spørsmål som bør inkluderes i medarbeiderundersøkelsesskjemaer.

Hva er DevOps-metodikk og hvem trenger det
Bilde Ed Ivanushkin /Flickr/CC BY-SA

Hvem er DevOps-ingeniør

En DevOps-ingeniør implementerer DevOps-metodikken. Den synkroniserer alle stadier av å lage et programvareprodukt: fra å skrive kode til å teste og frigi applikasjonen. En slik spesialist kontrollerer utviklings- og administrasjonsavdelingene, pluss automatiserer utførelsen av oppgavene deres ved å implementere ulike programvareverktøy.

Trikset til en DevOps-ingeniør er at han kombinerer mange yrker: administrator, utvikler, tester og leder.

Joe Sanchez, DevOps-evangelist hos VMware, et virtualiseringsprogramvareselskap, utpekt en rekke ferdigheter som en DevOps-ingeniør må ha. I tillegg til den åpenbare kunnskapen om DevOps-metodikk, bør denne personen ha erfaring med å administrere Windows- og Linux-operativsystemer og erfaring med å jobbe med automatiseringsverktøy som f.eks. ChefPuppetAnsible. Han bør også kunne skrive skript og kode på et par språk og forstå nettverksteknologier.

En DevOps-ingeniør er ansvarlig for all automatisering av oppgaver knyttet til konfigurering og distribusjon av applikasjoner. Programvareovervåking faller også på hans skuldre. For å løse disse problemene bruker han ulike konfigurasjonsstyringssystemer, virtualiseringsløsninger og skyverktøy for å balansere ressurser.

Hvem ansetter

DevOps-ingeniører kan være til nytte for enhver organisasjon som utvikler applikasjoner eller administrerer et stort antall servere. DevOps-ingeniører ansetter IT-giganter som Amazon, Adobe og Facebook. De jobber også på Netflix, Walmart og Etsy.

Ikke ansette DevOps-ingeniører er bare startups. Jobben deres er å gi ut et minimum levedyktig produkt for å teste en ny idé. I de fleste tilfeller kan startups klare seg uten DevOps.

Hvor mye lønn

DevOps-ingeniører tjene mer enn noen i bransjen. Gjennomsnittlig inntekt for slike spesialister rundt om i verden varierer fra 100 til 125 tusen dollar per år.

I USA de  90 tusen dollar per år (500 tusen rubler per måned). I Canada de betale 122 tusen dollar per år (670 tusen rubler per måned), og i Storbritannia - 67,5 tusen pund sterling per år (490 tusen rubler per måned).

Som for Russland, Moskva selskaper klar betale DevOps-spesialister fra 100 til 200 tusen rubler per måned. I St. Petersburg er arbeidsgiverne litt mer sjenerøse - de tilbyr 160-360 tusen rubler per måned. I regionene er lønn oppgitt til 100–120 tusen rubler per måned.

Hvordan bli en DevOps-spesialist

DevOps er en relativt ny retning innen IT, så det er ingen etablert liste over krav til DevOps-ingeniører. I de ledige stillingene, blant kravene til denne stillingen, kan du finne både Debian- og CentOS-administrasjonskunnskaper og evnen til å jobbe med diskstasjoner. RAID-arrayer.

Basert på dette kan vi konkludere med at for det første må en DevOps-ingeniør ha et godt teknisk syn. Det er viktig for en slik person å stadig lære nye verktøy og teknologier.

Den enkleste måten å bli DevOps-ingeniør på er en systemadministrator eller utvikler. De har allerede en rekke ferdigheter som bare må utvikles. Hovedoppgaven er å forbedre minimumssettet med kunnskap i DevOps, forstå hvordan man jobber med automatiseringsverktøy og fylle hull i administrasjon, programmering og virtualiseringsferdigheter.

For å forstå hvor kunnskap fortsatt mangler, kan du bruke mini-Wikipedia på GitHub eller mentalt kart. Innbyggere i Hacker News også anbefale lese bøker "Prosjekt "Phoenix""Og"DevOps-veiledning" (som vi nevnte ovenfor) og "DevOps filosofi. Kunsten å IT-ledelse» under stempelet til O'Reilly Media.

Du kan også abonnere på Devops Ukentlig nyhetsbrev, les aktuelle artikler portal DZone og begynne å kommunisere med DevOps-ingeniører i Slapp prat. Det er også verdt å sjekke ut gratiskursene på Udacity eller EDX.

Innlegg fra bloggen vår:



Kilde: www.habr.com

Legg til en kommentar