Vad är DevOps?
DevOps är en union av människor, processer och produkter för att möjliggöra kontinuerlig leverans av värde till våra kunder. Men vad exakt betyder det? Häng med teamet när Mara förklarar vad DevOps är, vad det inte är och vad som de bästa medarbetarna framgångsrika.
Mara har kallat till ett kort möte med medlemmarna i teamet. Alla har dykt upp, men ingen vill vara där. Hon ställer ut en kartong med munkar på bordet.
Mara: Hej, tack för att du kom. Jag skulle vilja prata lite mer om vår värdeflödeskarta och hur vi kan göra våra processer effektivare.
Maras värdeströmskarta finns fortfarande på whiteboard-tavlan från deras tidigare möte:
Mara: Vår värdeströmskarta visar var vi förlorar effektivitet när det gäller att leverera värde till våra slutanvändare. Precis som alla andra kan vi bli bättre, och vi kan bestämma vilka områden vi ska ta itu med först.
Andy: Detta visar oss var vi har problem, men inte vad vi ska göra åt dem.
Mara: Just det, det är en övning som hjälper oss i rätt riktning. När det gäller vad vi ska göra med våra problem tror jag att DevOps kan hjälpa oss. På mitt förra företag ökade distributionstakten, ledtiderna var snabbare och driften hade mycket färre incidenter. Det tog oss ett tag att komma dit, men det var värt det. DevOps är ingen mirakellösning.
Tim: Jag känner någon som just fick ett jobb som DevOps-ingenjör. Jag tror att det är mer för utvecklare. Det låter som du Andy.
Mara: DevOps är inte en jobbtitel.
Amita: Finns det något program vi kan få som kan hjälpa oss med, eller en mall? Det kanske finns ett DevOps-kalkylblad.
Mara: DevOps är inte en programvara.
Andy: Det är mer som en metodik.
Mara: Inte riktigt.
Andy, Amita, Tim: Så vad är det?!
Mara: Här är definitionen jag vill använda:
DevOps är en union av människor, processer och produkter för kontinuerlig leverans av värde till våra slutanvändare.
Faktum är att Abel Wang, molnrådgivare på Microsoft, har en stor uppsättning videor med snabba svar på några av våra frågor. Nu ska vi se hur Abel definierar DevOps:
Fråga Abel
Vårt mål är att ge våra kunder spel som de älskar. Det gör vi genom att arbeta tillsammans med en gemensam uppsättning metoder och verktyg.
Amita: Vad betyder det? Vilka gemensamma metoder? Vilka gemensamma verktyg?
Mara: Här är vad jag menar med metoder:
- Flexibel planering: Tillsammans skapar vi en kvarvarande arbetslogg som alla i teamet och ledningen kan se. Vi prioriterar posterna så att vi vet vad vi ska ta itu med först. Listan kan innehålla användarberättelser, buggar och annan information som kan vara till hjälp.
- Kontinuerlig integrering (CI): Vi automatiserar hur vi skapar och testar vår kod. Vi kör processen varje gång en medlem i teamet checkar in en ändring i versionskontrollen.
- Kontinuerlig leverans (CD): CD är hur vi testar, konfigurerar och distribuerar från en version till en QA- eller produktionsmiljö.
- Övervakning: Vi använder telemetri för att hämta information om ett programs prestanda- och användningsmönster. Vi använder den här informationen till att göra förbättringar mellan olika versioner.
Amita: Jag vet inte om automatiserad testning. Mina tester är manuella och jag gör dem efter att Andy lämnar koden till mig. Jag har inte tid att ändra hur jag sköter allt det här.
Tim: Det finns inte en chans att jag låter någon av er distribuera till produktion.
Andy: Detta kommer att skrämma ledningen. De tänker aldrig längre än nästa version och de vill alltid ha den igår.
Mara: Jag vet vad du menar med hantering. Jag har satt ihop det här informationsmaterialet om vad som får ett team att prestera på topp.
Vad får ett team att prestera på topp?
Här är informationsmaterialet som Mara förberedde. Informationen baseras på forskningsrapporter om DevOps och enkäter som IT-tekniker världen över har lämnat in.
DevOps hjälper företag att experimentera med sätt att öka kundernas implementering och tillfredsställelse. Det kan leda till bättre organisationsprestanda och ofta till högre lönsamhet och marknadsandel.
Den använder mått för att skapa fyra kategorier för att jämföra elitartister med låg prestanda.
Elitartister:
Distribuerar oftare
Faktum är att vissa team distribuerar dussintals gånger om dagen.
Metoder som övervakning, kontinuerlig testning, hantering av databasändringar och integrering av säkerhet tidigare i programutvecklingsprocessen hjälper elitartister att distribueras oftare och med större förutsägbarhet och säkerhet.
Har kortare ledtid mellan incheckning och distribution
Ledtiden är den tid det tar för en funktion att nå kunden. Genom att arbeta i mindre batcher, automatisera manuella processer och distribuera oftare kan högpresterande team utföra processer som tidigare tog veckor eller månader på bara några timmar eller dagar.
Drabbas av färre ändringsfel
En ny funktion som misslyckas i produktion eller som gör att andra funktioner bryts kan skapa en förlorad möjlighet mellan dig och dina användare. När högpresterande team mognar minskar de sin ändringsfelfrekvens över tid.
Återställer snabbare efter incidenter
När incidenter inträffar kan högpresterande team åtgärda dem snabbare. Att agera på mått hjälper elitartister att återhämta sig snabbare samtidigt som de distribueras oftare.
Det spelar också roll hur molninfrastrukturen är implementerad. Molnet förbättrar prestanda för programvaruleverans, och team som använder viktiga molnegenskaper är mer benägna att bli elitartister.
Outsourcing kan spara pengar och ge en flexibel arbetspool, men du måste använda den i rätt områden. Lågpresterande team är mer benägna att outsourca hela funktioner (till exempel testning och åtgärder) än deras högpresterande motsvarigheter.
Slutsatsen
DevOps är en viktig orsak till att många elitartister kan leverera värde till kunder i form av nya funktioner och förbättringar, snabbare än sina konkurrenter. I den här korta videon förklarar Abel varför du bör lära dig mer om DevOps:
Fråga Abel
Vad DevOps inte är
När du överväger vad DevOps är är det också viktigt att se till att vi lär oss vad det inte är. DevOps är inte:
- En metodik.
- En specifik programvara.
- En snabbkorrigering för en organisations utmaningar.
- Bara ett team eller en befattning (även om dessa titlar är ganska vanliga i branschen).