Vad är DevOps metodik och vem behöver den

Låt oss ta reda på vad essensen av metodiken är och vem den kan gynna.

Vi kommer också att prata om DevOps-specialister: deras uppgifter, löner och färdigheter.

Vad är DevOps metodik och vem behöver den
Photo Shoot Matt Moore /Flickr/CC BY-SA

Vad är DevOps

DevOps är en mjukvaruutvecklingsmetodik vars uppgift är att etablera interaktion mellan programmerare och systemadministratörer i ett företag. Om IT-specialister från olika avdelningar inte förstår varandras uppgifter försenas lanseringen av nya applikationer och uppdateringar för dem.

DevOps skapar en "sömlös" utvecklingscykel, vilket hjälper till att påskynda lanseringen av en mjukvaruprodukt. Acceleration uppnås genom införandet av automationssystem. Dessutom börjar programmerare delta i att sätta upp servrar och hitta buggar, till exempel kan de skriva automatiserade tester.

Detta förbättrar interaktionen mellan avdelningarna. Anställda börjar bättre förstå vilka stadier en mjukvaruprodukt går igenom innan den hamnar i användarens händer.

När en utvecklare förstår vad en administratör står inför när han ställer upp en server, kommer han att försöka jämna ut möjliga "skarpa hörn" i koden. Detta minskar antalet buggar när en applikation distribueras - enligt statistiken, det minskar cirka fem gånger.

Vem behöver och inte behöver metodiken

många IT-experter troratt DevOps kommer att gynna alla organisationer som utvecklar mjukvara. Detta gäller även om företaget är en enkel konsument av IT-tjänster och inte utvecklar sina egna applikationer. I det här fallet hjälper implementeringen av en DevOps-kultur dig att fokusera på innovation.

Undantaget utgöra startups, men här beror allt på projektets omfattning. Om ditt mål är att lansera en minimum viable product (MVP) för att testa en ny idé, då kan du klara dig utan DevOps. Till exempel började grundaren av Groupon arbeta med tjänsten manuellt Postad alla erbjudanden på hemsidan och insamlade beställningar. Han använde inga automationsverktyg.

Det är bara vettigt att implementera automatiseringsmetodik och verktyg när applikationen börjar bli populär. Detta kommer att hjälpa till att effektivisera affärsprocesser och påskynda utgivningen av uppdateringar.

Hur man implementerar DevOps

Nedan följer några rekommendationer för att byta till en ny metod.

Identifiera problem i affärsprocesser. Innan du implementerar metodiken, lyft fram organisationens mål och problem. Strategin för övergången till DevOps kommer att bero på dem. För att göra detta, gör en lista med frågor, till exempel:

  • Vad tar mest tid vid uppdatering av programvara?
  • Är det möjligt att automatisera denna process?
  • Påverkar organisationens struktur detta?

Läs mer om att identifiera problem i en organisation kan läsas i böcker «Projekt "Phoenix""Och"DevOps-guide» från författarna till metodiken.

Förändra kulturen i företaget. Det är viktigt att övertyga alla anställda att ändra sina vanliga arbetssätt och utöka sitt kompetensutbud. Till exempel på Facebook alla programmerare träffa för hela applikationens livscykel: från kodning till implementering. Facebook har inte heller en separat testavdelning – testerna är skrivna av utvecklarna själva.

Börja litet. Välj den process som tar mest tid och ansträngning när du släpper uppdateringar och automatisera den. Detta kan vara testning eller applikationsdistributionsprocessen. Experter ge råd Det första steget är att implementera distribuerade versionskontrollverktyg. De gör det lättare att hantera källor. Bland sådana lösningar är de mest kända Git, Mercurial, Subversion (SVN) och CVS.

Det är också värt att uppmärksamma kontinuerliga integrationssystem som ansvarar för montering och testning av slutprodukten. Exempel på sådana verktyg: Jenkins, TeamCity och Bamboo.

Utvärdera förbättringar. Utveckla prestationsmått för implementerade lösningar och skapa en checklista. Mätvärden kan inkludera utgivningsfrekvens, tid som ägnas åt att arbeta med mjukvarufunktioner och antalet buggar i koden. Diskutera resultaten inte bara med chefer utan även med resten av teamet som är involverat i projektet. Fråga vilka verktyg som saknas. Ta hänsyn till dessa önskemål när du optimerar dina processer ytterligare.

Kritik mot DevOps

Även om metodiken det hjälper organisationer kan fatta snabbare beslut angående applikationsutveckling, skärsår antalet fel i programvaran och uppmuntrar anställda att lära sig nya saker, det har också kritiker.

Det finns visaatt programmerare inte ska förstå detaljerna i systemadministratörernas arbete. Enligt uppgift leder DevOps till att företaget istället för utvecklings- eller administrationsspecialister har människor som förstår allt, men ytligt.

Man tror också att DevOps fungerar inte med dålig ledning. Om utvecklings- och adminteamen inte har gemensamma mål är det cheferna som bär skulden för att inte organisera kommunikationen mellan teamen. För att lösa detta problem behövs inte en ny metodik, utan ett system för att utvärdera chefer baserat på feedback från underordnade. Du kan läsa den här, vilka frågor som bör ingå i medarbetarundersökningsformulär.

Vad är DevOps metodik och vem behöver den
Photo Shoot Ed Ivanushkin /Flickr/CC BY-SA

Vem är en DevOps-ingenjör

En DevOps-ingenjör implementerar DevOps-metoden. Den synkroniserar alla stadier av att skapa en mjukvaruprodukt: från att skriva kod till att testa och släppa applikationen. En sådan specialist kontrollerar utvecklings- och administrationsavdelningarna, plus automatiserar utförandet av sina uppgifter genom att introducera olika mjukvaruverktyg.

Tricket med en DevOps-ingenjör är att han kombinerar många yrken: administratör, utvecklare, testare och chef.

Joe Sanchez, DevOps-evangelist på VMware, ett virtualiseringsprogramvaruföretag, pekas ut ett antal färdigheter som en DevOps-ingenjör måste ha. Utöver den uppenbara kunskapen om DevOps-metodik bör denna person ha erfarenhet av att administrera Windows och Linux operativsystem och erfarenhet av att arbeta med automationsverktyg som t.ex. ChefMarionettAnsible. Han bör också kunna skriva skript och kod på ett par språk och förstå nätverksteknik.

En DevOps-ingenjör är ansvarig för all automatisering av uppgifter relaterade till konfigurering och driftsättning av applikationer. Programvaruövervakning faller också på hans axlar. För att lösa dessa problem använder han olika konfigurationshanteringssystem, virtualiseringslösningar och molnverktyg för att balansera resurser.

Vem anställer

DevOps-ingenjörer kan gynna alla organisationer som utvecklar applikationer eller hanterar ett stort antal servrar. DevOps-ingenjörer anställer IT-jättar som Amazon, Adobe och Facebook. De fungerar även på Netflix, Walmart och Etsy.

Inte anställa DevOps-ingenjörer är bara startups. Deras jobb är att släppa en lägsta livskraftig produkt för att testa en ny idé. I de flesta fall kan startups klara sig utan DevOps.

Hur mycket lön

DevOps-ingenjörer tjäna mer än någon annan i branschen. Den genomsnittliga inkomsten för sådana specialister runt om i världen varierar från 100 till 125 tusen dollar per år.

I USA de get 90 tusen dollar per år (500 tusen rubel per månad). I Kanada de betala 122 tusen dollar per år (670 tusen rubel per månad) och i Storbritannien - 67,5 tusen pund per år (490 tusen rubel per månad).

När det gäller Ryssland, Moskva företag redo betala DevOps-specialister från 100 till 200 tusen rubel per månad. I St Petersburg är arbetsgivarna lite mer generösa - de erbjuder 160-360 tusen rubel per månad. I regionerna är lönerna citerade till 100–120 tusen rubel per månad.

Hur man blir en DevOps-specialist

DevOps är en relativt ny riktning inom IT, så det finns ingen fastställd lista över krav för DevOps-ingenjörer. I de lediga tjänsterna, bland kraven för denna position, kan du hitta både Debian- och CentOS-administrationskunskaper och förmågan att arbeta med diskenheter. RAID-arrayer.

Baserat på detta kan vi dra slutsatsen att först och främst måste en DevOps-ingenjör ha en bra teknisk syn. Det är viktigt för en sådan person att ständigt lära sig nya verktyg och tekniker.

Det enklaste sättet att bli en DevOps-ingenjör är en systemadministratör eller utvecklare. De har redan ett antal färdigheter som bara behöver utvecklas. Huvuduppgiften är att förbättra minsta möjliga kunskap i DevOps, förstå hur man arbetar med automationsverktyg och fylla luckor i administration, programmering och virtualiseringsförmåga.

För att förstå var kunskap fortfarande saknas kan du använda mini-Wikipedia på GitHub eller mental karta. Invånare i Hacker News också Rekommendera läsa böcker "Projekt "Phoenix""Och"DevOps-guide" (som vi nämnde ovan) och "DevOps filosofi. Konsten att IT-ledning» under O'Reilly Medias stämpel.

Du kan också prenumerera på Devops Weekly nyhetsbrev, läs aktuella artiklar portal DZone och börja kommunicera med DevOps-ingenjörer i Svag chatt. Det är också värt att kolla in gratiskurserna på Udacity eller EDX.

Inlägg från vår blogg:



Källa: will.com

Lägg en kommentar