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.
Foto / 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 fem gange.
Hvem har brug for metodologien, og hvem har ikke?
Mange , 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 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. 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 «" og "» 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 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 testning eller implementeringsprocessen af applikationer. Eksperter 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 organisationer med hurtigere at træffe beslutninger vedrørende softwareudvikling, antallet af fejl i software og opmuntrer medarbejdere til at lære nyt, har den også sine kritikere.
Der er , 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 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, .

Foto / 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, 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 , , . 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 IT-giganter som Amazon, Adobe og Facebook. De arbejder også hos Netflix, Walmart og Etsy.
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 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 90.000 dollars om året (500.000 rubler om måneden). I Canada får de 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 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 .
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 eller . Behandlende medlemmer på Hacker News kan også læse bøgerne «" og "» (som vi har nævnt tidligere) og «» fra O’Reilly Media.
Man kan også abonnere på , læse artikler fra det tematiske portal og begynde at kommunikere med DevOps-ingeniører i . Det er også værd at studere gratis kurser om eller .
Indlæg fra vores blog:
Kilde: habr.com
