Självstudie om DevOps – en introduktion

Det finns många olika faser, koncept och komponenter i DevOps. I den här självstudien lär du dig vad DevOps är och hur metoden hjälper dig att effektivisera din programvaruprocess.

Förstå DevOps

Vi inleder den här självstudien om DevOps med några grundläggande definitioner som hjälper dig att förstå vad DevOps är och hur metoden förbättrar hela din programutvecklingsprocess.

  • DevOps är en programvaruutvecklingsteknik som förbättrar samarbetet mellan utvecklings- och verksamhetsteam, vilket leder till snabbare och mer tillförlitlig programvaruleverans. DevOps kallas ofta för en kultur och för samman personer, processer och teknik för att leverera kontinuerligt värde.

    Läs mer om DevOps

  • Programutvecklingsprocessen är ofta en i hög grad manuell process, och kan resultera i ett flertal kodfel. Utvecklings- och verksamhetsteamen är inte alltid synkroniserade, vilket kan sakta ned programvaruleveransen och göra affärsintressenter missnöjda. DevOps effektiviserar alla aktiviteter inom utvecklingen, distributionen och underhållet av programvara.

    När utvecklings- och verksamhetsteamen samarbetar leder det till ökad insyn, tydligare krav, bättre kommunikation och kortare tid till marknad.

  • DevOps överbrygger gapet mellan utvecklings- och verksamhetsteamen och effektiviserar avsevärt utvecklingen och distributionen av programvara. DevOps har starkt fokus på automatisering och kan på så sätt minska antalet fel.

  • Filosofin bakom DevOps är att metoden ska ta hand om alla aspekter av projektet från början till slut. Till skillnad från mer traditionella programvaruutvecklingsmetoder överbrygger DevOps gapet mellan utvecklings- och verksamhetsteamen – något som ofta saknas och som avsevärt kan försvåra programleveransprocessen.

    DevOps ger tillgång till ett omfattande ramverk för utveckling och distribution av programvara och för samman utvecklings- och verksamhetsteam – ett gap som kan försvåra och göra programvaruleveransen ineffektiv.

  • Även om både DevOps och agil utveckling är metoder för programvaruutveckling har de lite olika fokus. DevOps är en kultur som fokuserar på att öka effektiviteten för alla som är involverade i utvecklingen, distributionen och underhållet av programvara. Agil utveckling är en smidig tillverkningsprocess som lägger grunden för ett produktionsramverk för programvaruutveckling. Agil utveckling är ofta specifik för utvecklingsteamet, där DevOps-omfånget utökas till att omfatta alla som är involverade i produktionen och underhållet av programvara. DevOps och agil utveckling kan användas tillsammans för att skapa en effektiv programvaruutvecklingsmiljö.

    Läs mer om DevOps kontra agil utveckling

Fördjupa din DevOps-utbildning med dessa aktiviteter

Varje avsnitt i den här självstudien om DevOps innehåller några aktiviteter som hjälper dig att utveckla en DevOps-strategi. Ägna några minuter åt att besvara följande frågor:

  • Vilka slags problem eller utmaningar har du stött på under utvecklingen och distributionen av programvara?
  • Inom vilka områden vill du se bättre effektivitet när du utvecklar och distribuerar programvara?

DevOps-metodens grunder

Nästa del av den här DevOps-handboken handlar om de grundläggande DevOps-koncepten. I det här avsnittet förklarar vi och förtydligar huvudkomponenterna.

  • Programvaruteam använder ofta agil utveckling, en leveransstrategi som är förknippad med smidig tillverkning. Utvecklingen sker i korta, inkrementella sprint. Även om metoden skiljer sig från DevOps utesluter inte den ena strategin den andra – agil utveckling och agila verktyg kan effektivisera utvecklingsteamet och bidra i den övergripande DevOps-kulturen.

    Kom igång med agil planering med hjälp av Azure Boards

  • Med ett team som arbetar tillsammans blir versionskontroll en viktig del av en adekvat och effektiv programvaruutveckling. Ett versionskontrollsystem, t.ex. Git, tar en ögonblicksbild av dina filer, så att du när du vill kan gå tillbaka till valfri tidigare version. Med ett versionskontrollsystem kan du vara säker på att det inte uppstår några konflikter med de ändringar du arbetar med.

    Börja använda versionskontroll med Azure-lagringsplatser

  • Kontinuerlig integrering är processen som automatiserar byggen och testning som utförs när koden utvecklas och checkas in i systemet. När koden checkas in går den igenom en automatiserad valideringsprocess, där endast testad och validerad kod checkas in i huvudkällkoden, eller huvudgrenen som den också kallas. Kontinuerlig integrering automatiserar den här processen, vilket leder till avsevärt högre effektivitet. Buggar identifieras i ett tidigt skede, innan koden integreras med huvudgrenen.

    Börja implementera kontinuerlig integrering med Azure Pipelines

  • Kontinuerlig leverans är den fundamentala metoden i DevOps för leverans av snabb och tillförlitlig programvara. Även om processen påminner om själva det övergripande DevOps-konceptet, är kontinuerlig leverans ramverket där varje kodkomponent testas, valideras och checkas in allt eftersom de slutförs, vilket gör det möjligt att leverera programvara när som helst. Kontinuerlig integrering är en process som är en komponent i kontinuerlig leverans.

    Börja implementera kontinuerlig leverans med Azure Pipelines

  • Oavsett om etableringen och konfigurationen av resurser sker lokalt eller i molnet så är det en viktig del av miljöåtgärderna. Automatiseringsprocessen och verktyg som ger en deklarativ infrastrukturdefinition, t.ex. textbaserade definitionsfiler, gör det möjligt för ditt team att distribuera och konfigurera resurser på ett tillförlitligt och repeterbart sätt. Textbaserade definitionsfiler kan hanteras som kod med versionskontroll, vilket gör det enkelt att återställa, återskapa och montera ned komplexa miljöer. Tekniker som Terraform och Ansible är vanliga lösningar för implementeringen av infrastruktur som kod.

    Skapa infrastruktur i Azure med Terraform

    Läs mer om hur du använder Ansible med Azure

  • Förutom att underlätta utvecklingen tar DevOps ansvar för programvaran under leveransprocessen, inklusive programvaruprestanda. Hela DevOps-processen skapar en feedbackloop, som till sist resulterar i datapunkter som både kan förbättra ett framtida projekt och understödja beslutet att distribuera programvaran. Övervakning och loggning är viktiga komponenter i beslutsprocessen och bidrar till det kontinuerliga arbetet med att effektivisera programvaruutvecklingen och leveransprocessen.

    Lär dig hur du samlar in och analyserar telemetridata med Azure Monitor

  • Genom hela livscykeln samlas feedback och telemetridata in som underlättar besluten inför nästa cykel. Den här informationen kallas för ”validated learning” eller validerat beslutsstöd. ”Validated learning” ger insikter på ett nytt sätt så att varje cykel går snabbare. De data som samlats in används sedan för att hitta sätt att öka automatiseringen, förbättra processer och förbereda distributionen snabbare och på ett effektivt sätt.

Fördjupa din DevOps-utbildning med dessa aktiviteter

Nu när du har lärt dig vissa nyckelbegrepp i DevOps rekommenderar vi att du ägnar några minuter åt att besvara följande frågor:

  • Vilka delar i utvecklingsprocessen är manuella och skulle kunna automatiseras?
  • Finns det möjlighet att introducera kontinuerlig integrering i teamets utvecklingsprocess?
  • Hur hanteras din infrastruktur i dag? Är processen repeterbar och tillförlitlig eller kan den förbättras med hjälp av infrastruktur som kod?
  • Vilka telemetridata skulle hjälpa dig i ditt arbete?
  • Vilka andra datapunkter skulle underlätta ”validated learning”-processen och ge bättre beslutsunderlag?

Skapa din DevOps-kultur

Nästa del av den här DevOps-självstudien förklarar hur du skapar en DevOps-kultur. När du förbereder dig för att implementera DevOps i din verksamhet kommer du antagligen att upptäcka skillnader från din befintliga programleveransmetod.

Att skapa en ny kultur är inte något som sker över en natt, och innebär mer än att bara köpa en ny uppsättning verktyg. För att underlätta för ditt team så att de kan lära sig och öva på DevOps kan du behöva göra ändringar i dina befintliga teamstrukturer, arbetsflöden och rutiner.

Se hur Microsoft skapar en DevOps-kultur

Fördjupa din DevOps-utbildning med dessa aktiviteter

När du planerar att skapa en DevOps-kultur i din verksamhet rekommenderar vi att du ägnar en stund åt att besvara följande frågor:

  • DevOps samordnar alla team som är involverade i utvecklingen, leveransen och underhållet av programvara: Vilka är dessa team i din organisation? Skapa en lista över alla medarbetare som ska arbeta tillsammans.
  • Hur kan du förbättra kommunikationen mellan utvecklings- och verksamhetsteamen? Fundera igenom hur samarbetet kan förbättras mellan olika team.

DevOps-videor

Titta på dessa videor och lär dig ännu mer om DevOps. Lär dig hur du integrerar DevOps i din programutvecklingsprocess.

Introduktion till Azure DevOps

Ta en rundtur om funktionerna i Azure DevOps med Donovan Brown.

Utveckla och distribuera din kod med Azure Pipelines

Lär dig varför Azure Pipelines är det perfekta verktyget för att hantera kontinuerlig integrering och kontinuerlig distribution (CI/CD) av din kod.

Introduktion till HashiCorp Terraform med Azure

Gå den här korta självstudien om DevOps och lär dig hur du konfigurerar Terraform att hantera Azure-infrastruktur som kod.

Kom igång med Azure DevOps

Leverera programvara snabbare och mer tillförlitligt med en modern uppsättning utvecklingstjänster. Planera smartare, samarbeta bättre och leverera snabbare – använd alla DevOps-funktioner eller välj de som passar dig.