Förklarat enkelt: Devops, Continuous integration och Continuous Delivery

Den agila utvecklingsprocessen börja ta mer plats i utvecklingsprojekt. Michael Silvin reder ut begreppen Devops, Continuous integration och Continuous delivery.

Vad är Devops?

Teorin är att utvecklares incitament är att producera så många funktioner som möjligt och att it-driftens incitament är att ha stabila system där den enklaste lösningen är att introducera så lite förändring som möjligt. Devops handlar om att försöka sammanföra dessa två mål och leverera förändringar snabbt och ofta men ändå på ett stabilt sätt.

Vad är Continuous integration och Continuous Delivery ?

Continous Delivery (CD) är snarare det som är jämförbart med Devops. CD utgår från hur man automatiserar leveransen av mjukvara på ett effektivt sätt.  Continous Delivery kan sägas vara en förlängning av Continuous integration

Vad är skillnaden mellan begreppen?

Skillnaden är utgångspunkten, devops utgår från samarbetet mellan utvecklare och it-drift medan CD har en mer akademisk utgångspunkt med fokuset  på hur man gör en automatiserad effektiv leverans av mjukvara. Slutsatserna och verktygen är ofta samma. DevOps har också mer fokus på produktens livscykel efter själva leveransen med övervakning av den levererade mjukvaran.

Det intressanta för mig är inte vad vi kallar det utan vad vi gör. När vi automatiserar testning och leverans så gör det att vi kan leverera effektivt, snabbt, ofta, konsekvent och med kvalitet. En leverans blir helt enkelt ingen stor sak, man trycker på en knapp och kan lita på att verktygen levererar mjukvaran precis på samma sätt som alltid. Detta minskar stressen på den som ska leverera. Leveranser som inte strular och att snabbt kunna leverera  förbättringar ökar också förtroendet hos de som ska använda mjukvaran.

Vilka misstag gör man när kastar sig in i dessa områden?

Ett misstag är att fokusera för mycket på verktygen och missa personerna som är inblandade. Införandet av verktygen måste ske parallellt med förändrade arbetssätt.

Vilken checklista ska man följa för att lyckas?

Jag tycker att det man bör börja med är att få igång kontinuerliga byggen med automatisk testkörning. Nästa steg är att se till att man har en vettig nivå på sina automatiserade tester och efter det sätta upp automatiserade leveranser till test och produktionsmiljöer. Har man gjort det så har man kommit en ganska bra bit.