Hvad er DevOps-metodologi, og hvem har brug for den?

Lad os finde ud af, hvad metodologien går ud på, og hvem der kan have gavn af den.

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

Hvad er DevOps-metodologi, og hvem har brug for den?
Foto Matt Moor / Flickr / CC BY-SA

Hvad er DevOps

DevOps er en softwareudviklingsmetodologi, der har til formål at sikre samarbejdet mellem programmører og systemadministratorer i virksomheden. Hvis it-specialister fra forskellige afdelinger ikke forstår hinandens opgavernes kerne, vil lanceringen af nye applikationer og opdateringer tage længere tid.

DevOps skaber en "sømløs" udviklingscyklus, hvilket hjælper med at fremskynde udgivelsen af softwareprodukter. Fremskyndelsen opnås ved at implementere automatiseringssystemer. Derudover begynder programmører at deltage i serveropsætning og fejlfinding; de kan for eksempel skrive automatiserede tests.

På denne måde forbedres interaktionen mellem afdelingerne. Medarbejderne begynder at forstå bedre, hvilke trin det softwareprodukt gennemgår, før det når brugerens hænder.

Når udvikleren forstår, hvad administratoren står overfor ved opsætning af serveren, vil han forsøge at udjævne mulige "skarpe kanter" i koden. Dette reducerer antallet af fejl ved deployment af applikationen — ifølge statistikker reduceres det med cirka fem gange.

Hvem har brug for metodologien, og hvem har ikke?

Mange it-eksperter mener, at DevOps vil gavne enhver organisation, der arbejder med softwareudvikling. Dette gælder selv hvis virksomheden blot er en forbruger af it-services og ikke udvikler egne applikationer. I dette tilfælde vil implementeringen af DevOps-kulturen hjælpe med at fokusere på innovation.

Undtagelsen udgør er startups, men her afhænger det også af projektets omfang. Hvis dit mål er at lancere et minimum viable product (MVP) for at teste en ny idé, kan det lade sig gøre uden DevOps. For eksempel publiserede grundlæggeren af Groupon i starten hvert tilbud på hjemmesiden manuelt og indsamlede ordrer. Han brugte ikke nogen automatiseringsværktøjer. promoverede alle tilbud.

Det giver mening at implementere metoden og automatiseringsværktøjer først, når applikationen begynder at vinde popularitet. Dette vil hjælpe med at forbedre forretningsprocesserne og fremskynde udgivelsen af opdateringer.

Hvordan man implementerer DevOps

Efterfølgende er her nogle anbefalinger til overgangen til den nye metodologi.

Identificer problemer i forretningsprocesserne. Før implementeringen af metodologien skal du identificere organisationens mål og problemer. Disse vil påvirke strategien for overgangen til DevOps. Lav en liste med spørgsmål, for eksempel:

  • Hvad tager mest tid, når der opdateres software?
  • Kan denne proces automatiseres?
  • Påvirker organisationens struktur dette?

Læs mere om identifikation af problemer i organisationen i bøgerne «Projekt "Fénix"" og "Guide til DevOps» fra forfatterne af metodologien.

Skift kulturen i virksomheden. Det er vigtigt at overbevise alle medarbejdere om at ændre deres sædvanlige arbejdsmetoder og udvide deres kompetencer. For eksempel i Facebook er ansvarlige for hele livscyklussen af applikationen: fra kodning til implementering. Derudover har Facebook ikke en separat afdeling for test — testene skrives af udviklerne selv.

Start i det små. Vælg en proces, der kræver mest tid og kræfter ved udgivelser af opdateringer, og automatiser den. Det er kan være testning eller implementeringsprocessen af applikationer. Eksperter anbefaler begynd med at implementere værktøjer til distribueret versionskontrol. Det gør det lettere at administrere kildekoden. Blandt sådanne løsninger er de mest kendte Git, Mercurial, Subversion (SVN) og CVS.

Det er også vigtigt at se på systemer til kontinuerlig integration, der er ansvarlige for bygning og test af det endelige produkt. Eksempler på sådanne værktøjer er Jenkins, TeamCity og Bamboo.

Vurder forbedringerne. Udvikle målinger for effektiviteten af de implementerede løsninger og lav en tjekliste. Målene kan være frekvensen af udgivelser, tiden brugt på softwarefunktioner, antallet af fejl i koden. Diskuter resultaterne ikke kun med lederne, men også med resten af teamet, der arbejder på projektet. Spørg, hvilke værktøjer der mangler. Tag disse anmodninger i betragtning ved den fremtidige optimering af processer.

Kritik af DevOps

Selvom metodologien hjælper organisationer med hurtigere at træffe beslutninger vedrørende softwareudvikling, reducerer antallet af fejl i software og opmuntrer medarbejdere til at lære nyt, har den også sine kritikere.

Der er mening, som mener, at programmører ikke skal forstå detaljerne i systemadministratorernes arbejde. Angiveligt fører DevOps til, at der i virksomheden i stedet for specialister i udvikling eller administration kommer personer, der har overfladisk viden om alt.

Det menes også, at DevOps virker ikke ved dårlig ledelse. Hvis udviklingsteamene og administratorerne ikke har fælles mål, er det ledelsens skyld, at de ikke organiserer samarbejdet mellem teams. For at løse dette problem kræves ikke en ny metode, men et evalueringssystem for ledere baseret på feedback fra underordnede. Her kan man læse, hvilke spørgsmål der bør inkluderes i medarbejderundersøgelserne..

Hvad er DevOps-metodologi, og hvem har brug for den?
Foto Ed Ivanushkin / Flickr / CC BY-SA

Hvad er en DevOps-ingeniør?

DevOps-ingeniøren arbejder med at implementere DevOps-metoden. Han synkroniserer alle faser i udviklingen af softwareprodukter: fra kodeudvikling til test og udrulning af applikationer. En sådan specialist overvåger udviklings- og driftsafdelingerne samt automatiserer udførelsen af deres opgaver ved at implementere forskellige softwareværktøjer.

DevOps-ingenørens styrke er, at han kombinerer mange fagområder: administrator, udvikler, tester og leder.

Joe Sanchez, DevOps-evangelist hos VMware, en softwareudviklingsvirksomhed inden for virtualisering, har fremhævet et sæt færdigheder, som en DevOps-ingeniør skal have. Udover den indlysende viden om DevOps-metoden, skal denne person have erfaring med administration af Windows- og Linux-operativsystemer samt erfaring med automatiseringsværktøjer som Chef, Puppet, Ansible. Han skal også være i stand til at skrive scripts og kode i et par programmeringssprog samt have forståelse for netværksteknologier.

DevOps-ingeniøren er ansvarlig for enhver automatisering af opgaver relateret til opsætning og udrulning af applikationer. Det er også hans ansvar at overvåge software. Til disse opgaver bruger han forskellige konfigurationsstyringssystemer, virtualiseringsløsninger og cloud-værktøjer til balancering af ressourcer.

Hvem hyrer

DevOps-ingeniører kan tilføre værdi til enhver organisation, der beskæftiger sig med softwareudvikling eller administration af mange servere. DevOps-ingeniører ansættes af IT-giganter som Amazon, Adobe og Facebook. De arbejder også hos Netflix, Walmart og Etsy.

De hyrer ikke kun startups til DevOps-ingeniører. Deres opgave er at lancere en minimum levedygtig produkt for at teste en ny idé. I de fleste tilfælde kan startups klare sig uden DevOps.

Hvor meget tjener

DevOps-ingeniører tjenere mest i branchen. Den gennemsnitlige årsløn for sådanne specialister i verden ligger mellem 100.000 og 125.000 dollars.

I USA tjener de modtager 90.000 dollars om året (500.000 rubler om måneden). I Canada får de betaler 122.000 dollars om året (670.000 rubler om måneden), mens de i UK tjener 67.500 pund om året (490.000 rubler om måneden).

Hvad angår Rusland, er moskva-virksomheder villige til at betale DevOps-specialister fra 100 til 200.000 rubler om måneden. I Sankt Petersborg er arbejdsgiverne lidt mere generøse – de tilbyder 160–360.000 rubler om måneden. I regionerne angiver de lønninger på 100–120.000 rubler om måneden.

Hvordan man bliver DevOps-specialist

DevOps er et relativt nyt område inden for IT, så der er ikke nogen fast liste over krav til DevOps-ingeniører. I jobopslag kan man finde krav til færdigheder inden for administration af Debian og CentOS samt evnen til at arbejde med disk RAID-systemer.

På denne baggrund kan man konkludere, at DevOps-ingeniøren først og fremmest skal have et godt teknisk overblik. Det er vigtigt for en sådan person konstant at lære nye værktøjer og teknologier.

Det vil være nemmest for en systemadministrator eller udvikler at blive DevOps-ingeniør. De har allerede en række færdigheder, som blot skal udvikles. Den vigtigste opgave er at styrke det minimale videnssæt inden for DevOps, forstå, hvordan man arbejder med automatiseringsværktøjer, og fylde hullerne i færdigheder inden for administration, programmering og virtualisering.

For at forstå, hvor ens viden stadig er mangelfuld, kan man benytte sig af mini-wikipediaen på GitHub eller et tankekort. Behandlende medlemmer på Hacker News kan også anbefales det læse bøgerne «Projekt "Fénix"" og "Guide til DevOps» (som vi har nævnt tidligere) og «DevOps-filosofien. Kunst at styre IT» fra O’Reilly Media.

Man kan også abonnere på Devops Weekly, læse artikler fra det tematiske DZone portal og begynde at kommunikere med DevOps-ingeniører i Slack-chatten. Det er også værd at studere gratis kurser om Udacity eller edX.

Indlæg fra vores blog:



Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster