Förstå DevOps-processen

Vad är DevOps?

Om du följer vår blogg vet du redan vad DevOps är. Om inte kommer här en snabb sammanfattning och en artikel som du kan läsa om DevOps-kulturen:

DevOps-metodiken förbättrar kommunikationen mellan dina utvecklare och Ops i projekt. Målen med DevOps är följande:

  • Spara tid på incidentlösning
  • Lansera nya funktioner snabbare
  • Minska riskerna genom processautomatisering
  • Förbättra tillfredsställelsen hos dina kunder, och dina utvecklare på samma gång.

För att göra detta pratar vi om återkopplingsslingan. Det är ett DevOps-koncept som bygger på att mäta effekten av utvecklingen för att känna till dess effektivitet och fortsätta att lära sig. Denna återkopplingsslinga är nyckeln till att uppnå DevOps-målen och framgångsrikt förbättra din programvara och ditt teams process. Det kommer också att hjälpa dina team att leverera kvalitetskod.

feedback-loop-devops

I dag, enligt IDC, drar 20 % av applikationsutvecklingsprojekten nytta av en DevOps-strategi. År 2021 kommer denna siffra att öka till mellan 35 och 40 procent. Det är ingen slump att så många IT-team antar DevOps-metodiken för projektet.

DevOps-principerna

Användning av DevOps-metodiken inom ditt team för mjukvaruutveckling kommer att förändra din organisation radikalt. Det kommer att förändra hur ditt utvecklarteam kodar och distribuerar releaser. Den bygger på 6 nyckelprinciper:

  • Automation
  • Iteration
  • Självbetjäning
  • Kontinuerlig förbättring
  • Kontinuerlig testning
  • Samarbete

Automation gör det möjligt för utvecklare och Ops att förenkla processen och gör det möjligt för teamen att vara mer produktiva. Eftersom automatiseringen minskar antalet manuella åtgärder förbättras utvecklingskvaliteten och programvarans säkerhet. Medan iteration påskyndar utvecklingsprocessen tack vare snabbare återkoppling från slutanvändarna. Självbetjäningen påskyndar också lanseringarna genom att utvecklarna själva kan distribuera applikationer på begäran. Kontinuerliga förbättringar finns där för att göra processen smidigare. Efter varje incident är det faktiskt en del av DevOps-processen att göra en post mortem-analys. En post mortem är en registrering av varje incident, dess inverkan, de åtgärder som vidtagits för att åtgärda den, orsaken till problemet och de åtgärder som vidtagits för att förhindra att det händer igen. Kontinuerlig testning möjliggör snabbare lanseringar och högre kvalitet på samma gång. Slutligen, men inte minst, är samarbetet mellan utvecklare och operatörsavdelningen viktigt för att kombinera insatserna och nå framgång snabbare.

DevOps-processen

DevOps-processen består av en rad steg. Här är ett diagram som hjälper dig att visualisera:

devops-process

I ordningen är DevOps-processens steg följande:

  • Planera: Detta är den del av projektet där du organiserar uppgifter, tidsplaner och ställer in dina projektledningsverktyg. Tanken är att planera uppgifterna med hjälp av user story-processen från den agila metodiken. Att skriva biljetter i form av en user story gör det möjligt för utvecklare och Ops att förstå vilken utveckling som behöver göras och varför. En perfekt user story som en vad (vem, var, utlösare), ett varför och acceptanskriterier. (Exempel: Jag kan ändra mitt namn och förnamn i mitt kundkonto när jag klickar på ”option” och får en popup-fönsterruta.)
  • Kod: Här gör utvecklarna kodutveckling och kodgranskning. När koden är klar sammanfogar de den. I DevOps-praxis är det viktigt att dela ett kodverktyg mellan Ops- och utvecklarteamen, till exempel Github eller Gitlab.
  • Bygg: Det här steget är det första mot automatisering. Målet här är att bygga källkoden till ett önskat format, kompilera, testa och distribuera på en viss plats i infrastrukturen. När det här steget väl är inställt kan verktygen för kontinuerlig integration (CI) och leverans (CD) kontrollera och verifiera källkoden från källkodshanteringen och bygga den.
  • Test: Den kontinuerliga testprocessen minskar riskerna. Automatiska tester säkerställer att inga buggar implementeras i produktionen. Du måste implementera testverktyg i ditt arbetsflöde för att säkerställa bästa utvecklingskvalitet för din programvara.
  • Release: Koden har klarat testprocessen (kontinuerlig integration) och är redo att distribueras.
  • Distribuera: Det operativa teamet distribuerar den nya funktionen i produktionen. Men eftersom automatisering är en av DevOps-principerna är det möjligt att ställa in kontinuerlig driftsättning.
  • Drift/konfigurera infrastruktur: Ops bygger eller underhåller en skalbar infrastruktur, infrastruktur som kod och kontrollerar säkerhetsfrågor och logghantering.
  • Övervaka: Övervakning är ett viktigt steg eftersom det gör det möjligt att åtgärda incidenter snabbare och skapa en bättre upplevelse för slutanvändaren.

Som DevOps syftar till att avsevärt öka kundernas tillfredsställelse, börjar dina team naturligtvis om med en ny funktion för din programvara eller applikation. Det är därför vi alltid tecknar DevOps som en ändlös slinga.

Implementera DevOps i ditt team

Om ditt team ännu inte har implementerat en DevOps-process eller till och med en Agile-process kan det verka förvirrande, särskilt eftersom det innebär att man inte bara måste förändra organisationen utan även kulturen i ditt team.

För att införa DevOps i ditt team måste du ta dig tid, gå steg för steg, skynda dig inte. Här är hur du gradvis inför denna nya kultur och organisation:

  1. Start med att ändra tankesättet i dina team. Utan verktyg kan DevOps-processen inte existera, men det räcker inte, utvecklare och Ops måste förstå och vara intresserade av varandras arbete. Kort sagt måste utvecklare och Ops lära sig att samarbeta.
  2. Implementera en agil utvecklingsprocess. De flesta DevOps-projekt använder Scrum- eller Kanban-metodikerna från Agile.
  3. För att kunna genomföra det fjärde steget bör du införa molntjänster (privat, offentligt eller hybridmoln).
  4. Automatisera din mjukvaruutveckling tack vare kontinuerlig integration (CI) så att utvecklarna enkelt kan lägga ut en ny funktion.
  5. Använd kontinuerlig testning av programvara för att minska riskerna.
  6. Inför kontinuerlig distribution (CD), färre manuella åtgärder finns, snabbare kan du distribuera nya versioner i produktionen.

Håll i åtanke att om du lägger till dessa processer kommer din organisation att förändras och skapa nya behov. Till exempel kan ditt team behöva utbildning för de nya DevOps-verktygen som har implementerats.

Du kommer att nå den verkliga DevOps-miljön när din utvecklingsprocess är så automatiserad och smidig som möjligt. Om du har frågor om något av stegen i processen är du välkommen att kontakta oss. Nouveau call-to-action

Lämna ett svar

Din e-postadress kommer inte publiceras.