Hvad er DevOps-metoden, og hvem har brug for det

Lad os finde ud af, hvad essensen af ​​metoden er, og hvem den kan gavne.

Vi vil også tale om DevOps-specialister: deres opgaver, lønninger og færdigheder.

Hvad er DevOps-metoden, og hvem har brug for det
Foto Matt Moore /Flickr/CC BY-SA

Hvad er DevOps

DevOps er en softwareudviklingsmetodologi, hvis opgave er at etablere interaktion mellem programmører og systemadministratorer i en virksomhed. Hvis it-specialister fra forskellige afdelinger ikke forstår hinandens opgaver, forsinkes udgivelsen af ​​nye applikationer og opdateringer til dem.

DevOps skaber en "sømløs" udviklingscyklus og hjælper derved med at fremskynde udgivelsen af ​​et softwareprodukt. Acceleration opnås gennem indførelse af automationssystemer. Plus, programmører begynder at deltage i opsætning af servere og finde fejl, for eksempel kan de skrive automatiserede tests.

Dette forbedrer samspillet mellem afdelingerne. Medarbejdere begynder bedre at forstå, hvilke stadier et softwareprodukt gennemgår, før det kommer i hænderne på brugeren.

Når en udvikler forstår, hvad en administrator står over for, når han sætter en server op, vil han forsøge at udjævne mulige "skarpe hjørner" i koden. Dette reducerer antallet af fejl ved implementering af en applikation - ifølge statistikker, det falder omkring fem gange.

Hvem har brug for og ikke har brug for metoden

mange mener it-eksperterat DevOps vil gavne enhver organisation, der udvikler software. Dette gælder, selvom virksomheden er en simpel forbruger af it-tjenester og ikke udvikler sine egne applikationer. I dette tilfælde vil implementering af en DevOps-kultur hjælpe dig med at fokusere på innovation.

Undtagelsen fyldes op startups, men her afhænger alt af projektets omfang. Hvis dit mål er at lancere et minimum levedygtigt produkt (MVP) for at teste en ny idé, så kan du undvære DevOps. For eksempel begyndte stifteren af ​​Groupon at arbejde på tjenesten manuelt indsendt alle tilbud på hjemmesiden og indsamlede ordrer. Han brugte ingen automatiseringsværktøjer.

Det giver først mening at implementere automatiseringsmetodologi og -værktøjer, når applikationen begynder at vinde popularitet. Dette vil hjælpe med at strømline forretningsprocesser og fremskynde udgivelsen af ​​opdateringer.

Sådan implementeres DevOps

Nedenfor er nogle anbefalinger til at skifte til en ny metode.

Identificere problemer i forretningsprocesser. Inden metoden implementeres, skal du fremhæve organisationens mål og problemer. Strategien for overgangen til DevOps vil afhænge af dem. For at gøre dette skal du lave en liste med spørgsmål, for eksempel:

  • Hvad tager mest tid ved opdatering af software?
  • Er det muligt at automatisere denne proces?
  • Påvirker organisationens struktur dette?

Lær mere om at identificere problemer i en organisation kan læses i bøger «Projekt "Phoenix""Og"DevOps-vejledning» fra forfatterne til metoden.

Ændre kulturen i virksomheden. Det er vigtigt at overbevise alle medarbejdere om at ændre deres sædvanlige måde at arbejde på og udvide deres kompetenceområde. For eksempel på Facebook alle programmører svar for hele applikationens livscyklus: fra kodning til implementering. Facebook har heller ikke en separat testafdeling – testene er skrevet af udviklerne selv.

Begynd i det små. Vælg den proces, der tager mest tid og kræfter, når du frigiver opdateringer, og automatiser den. Det her kan være test- eller applikationsimplementeringsproces. Eksperter rådgive Det første trin er at implementere distribuerede versionskontrolværktøjer. De gør det nemmere at administrere kilder. Blandt sådanne løsninger er de mest berømte Git, Mercurial, Subversion (SVN) og CVS.

Det er også værd at være opmærksom på kontinuerlige integrationssystemer, der er ansvarlige for at samle og teste det endelige produkt. Eksempler på sådanne værktøjer: Jenkins, TeamCity og Bamboo.

Evaluer forbedringer. Udvikl præstationsmålinger for implementerede løsninger og lav en tjekliste. Målinger kan omfatte udgivelsesfrekvens, tid brugt på at arbejde på softwarefunktioner og antallet af fejl i koden. Diskuter resultaterne ikke kun med ledere, men også med resten af ​​teamet involveret i projektet. Spørg hvilke værktøjer der mangler. Tag disse anmodninger i betragtning, når du optimerer dine processer yderligere.

Kritik af DevOps

Selvom metoden Det hjælper organisationer kan træffe hurtigere beslutninger vedrørende applikationsudvikling, nedskæringer antallet af fejl i softwaren og tilskynder medarbejderne til at lære nye ting, det har også kritikere.

Der er udsigtat programmører ikke skal forstå detaljerne i systemadministratorernes arbejde. Angiveligt fører DevOps til, at virksomheden i stedet for udviklings- eller administrationsspecialister har folk, der forstår alt, men overfladisk.

Det menes også, at DevOps fungerer ikke med dårlig ledelse. Hvis udviklings- og admin-teamene ikke har fælles mål, er det lederne, der er skyld i ikke at organisere kommunikationen mellem teamene. For at løse dette problem er der ikke brug for en ny metode, men et system til evaluering af ledere baseret på feedback fra underordnede. Du kan læse den her, hvilke spørgsmål der skal indgå i medarbejderundersøgelsesskemaer.

Hvad er DevOps-metoden, og hvem har brug for det
Foto Ed Ivanushkin /Flickr/CC BY-SA

Hvem er DevOps-ingeniør

En DevOps-ingeniør implementerer DevOps-metoden. Den synkroniserer alle stadier af oprettelse af et softwareprodukt: fra at skrive kode til at teste og frigive applikationen. En sådan specialist kontrollerer udviklings- og administrationsafdelingerne og automatiserer udførelsen af ​​deres opgaver ved at introducere forskellige softwareværktøjer.

Tricket ved en DevOps-ingeniør er, at han kombinerer mange professioner: administrator, udvikler, tester og manager.

Joe Sanchez, DevOps-evangelist hos VMware, en virtualiseringssoftwarevirksomhed, fremhævet en række færdigheder, som en DevOps-ingeniør skal have. Ud over det indlysende kendskab til DevOps metodologi, skal denne person have erfaring med at administrere Windows og Linux operativsystemer og erfaring med at arbejde med automatiseringsværktøjer som f.eks. KokMarionetAnsible. Han skal også være i stand til at skrive scripts og kode på et par sprog og forstå netværksteknologier.

En DevOps-ingeniør er ansvarlig for enhver automatisering af opgaver relateret til konfiguration og implementering af applikationer. Softwareovervågning falder også på hans skuldre. For at løse disse problemer bruger han forskellige konfigurationsstyringssystemer, virtualiseringsløsninger og cloud-værktøjer til at balancere ressourcer.

Hvem ansætter

DevOps-ingeniører kan gavne enhver organisation, der udvikler applikationer eller administrerer et stort antal servere. DevOps ingeniører ansætter IT-giganter som Amazon, Adobe og Facebook. De arbejder også på Netflix, Walmart og Etsy.

Ikke ansættelse DevOps-ingeniører er kun startups. Deres job er at frigive et minimum levedygtigt produkt for at teste en ny idé. I de fleste tilfælde kan startups undvære DevOps.

Hvor meget løn

DevOps ingeniører tjene mere end nogen anden i branchen. Den gennemsnitlige indtjening for sådanne specialister rundt om i verden varierer fra 100 til 125 tusind dollars om året.

I USA de  90 tusind dollars om året (500 tusind rubler om måneden). I Canada de betale 122 tusind dollars om året (670 tusind rubler om måneden) og i Storbritannien - 67,5 tusinde pund sterling om året (490 tusind rubler om måneden).

Med hensyn til Rusland, Moskva virksomheder parat betale DevOps-specialister fra 100 til 200 tusind rubler om måneden. I St. Petersborg er arbejdsgiverne lidt mere generøse - de tilbyder 160-360 tusind rubler om måneden. I regionerne er lønninger citeret til 100-120 tusind rubler om måneden.

Sådan bliver du DevOps-specialist

DevOps er en relativt ny retning inden for IT, så der er ingen etableret liste over krav til DevOps-ingeniører. I de ledige stillinger kan du blandt kravene til denne stilling finde både Debian- og CentOS-administrationsevner og evnen til at arbejde med diskdrev. RAID-arrays.

Baseret på dette kan vi konkludere, at først og fremmest skal en DevOps-ingeniør have et godt teknisk overblik. Det er vigtigt for sådan en konstant at lære nye værktøjer og teknologier.

Den nemmeste måde at blive DevOps-ingeniør på er en systemadministrator eller -udvikler. De har allerede en række kompetencer, som blot skal udvikles. Hovedopgaven er at forbedre minimumsmængden af ​​viden i DevOps, forstå, hvordan man arbejder med automatiseringsværktøjer og udfylde huller i administration, programmering og virtualiseringsfærdigheder.

For at forstå, hvor viden stadig mangler, kan du bruge mini-Wikipedia på GitHub eller mentalt kort. Beboere i Hacker News også anbefale læse bøger "Projekt "Phoenix""Og"DevOps-vejledning" (som vi nævnte ovenfor) og "DevOps filosofi. Kunsten at IT-ledelse» under O'Reilly Medias stempel.

Du kan også abonnere på Devops ugentlige nyhedsbrev, læs aktuelle artikler portal DZone og begynde at kommunikere med DevOps-ingeniører i Slap chat. Det er også værd at tjekke de gratis kurser på Udacity eller EDX.

Indlæg fra vores blog:



Kilde: www.habr.com

Tilføj en kommentar