DevOps-selvstudium – en introduktion

DevOps omfatter mange forskellige stadier, begreber og komponenter, og dette DevOps-selvstudium er en god måde at få indblik i, hvad DevOps er, og hvordan det kan hjælpe dig med at forbedre din softwareleveringsproces.

Om DevOps

Vi begynder dette DevOps-selvstudium med at introducere nogle grundlæggende definitioner, der kan hjælpe dig med at forstå, hvad DevOps, og hvordan det er relateret til din overordnede softwareudviklingsproces.

  • DevOps er en praksis til softwareudvikling, der fremmer samarbejdet mellem udvikling og drift, hvilket resulterer i en hurtigere og mere pålidelig levering af software. DevOps, der ofte kaldes en kultur, forbinder mennesker, processer og teknologi med henblik på at levere en kontinuerlig værdi.

    Få mere at vide om DevOps

  • Softwareudvikling kan være en proces, der i høj grad er manuel, hvilket kan resultere i et stort antal kodefejl. Udviklings- og driftsteams er ofte ikke synkroniseret, hvilket kan forsinke softwareleveringen og skuffe virksomhedens interessenter. DevOps skaber effektivitet på tværs af alle opgaver, der er involveret i udviklingen, udrulningen og vedligeholdelsen af software.

    Når der skabes forbindelse mellem udviklingen og driften, fører det til en øget synlighed, mere nøjagtige krav, en forbedret kommunikation og en hurtigere time to market.

  • DevOps slår bro over kløften mellem udvikling og drift og skaber dermed en meget større effektivitet på tværs af udvikling og udrulning af software. DevOps lægger stor vægt på automatisering, hvilket hjælper med at reducere det samlede antal fejl.

  • DevOps-filosofien er at tage det samlede ansvar på tværs af alle projektets aspekter. I modsætning til mere traditionelle metoder til udvikling af software, slår DevOps bro over kløften mellem udviklings- og driftsteamet, hvilket er noget, der ofte mangler og kan vanskeliggøre softwareleveringsprocessen.

    DevOps leverer en omfattende struktur til udvikling og udgivelse af software og forbinder dermed udviklings- og driftsteamet, hvor der normalt er en kløft, som kan skabe udfordringer og ineffektivitet i leveringen af software.

  • Selvom både DevOps og Agile er praksisser til softwareudvikling, adskiller deres fokus sig lidt fra hinanden. DevOps er en kultur, der fokuserer på at skabe effektivitet for alle de interessenter, der er involveret i udviklingen, udrulningen og vedligeholdelsen af. Agile er en trimmet produktionsproces, der hjælper med at skabe en produktionsstruktur til softwareudvikling. Agile er ofte specifik for udviklingsteamet, hvor DevOps omfatter alle interessenter, der er involveret i produktionen og vedligeholdelsen af software. DevOps og Agile kan bruges sammen til at skabe et meget effektivt miljø til softwareudvikling.

    Få mere at vide om DevOps versus Agile

Uddyb din DevOps-læring med disse opgaver

Hvert afsnit i dette DevOps-selvstudium omfatter nogle få opgaver, der kan hjælpe dig med gradvist at opbygge en DevOps-praksis. Sæt et øjeblik af til at besvare følgende spørgsmål:

  • Nævn nogle af de udfordringer, du har mødt under udviklingen og udrulningen af software?
  • På hvilke områder vil du gerne se en forbedret effektivitet under udviklingen og udrulningen af software?

Grundlæggende oplysninger om en DevOps-praksis

Det næste i denne DevOps-håndbog er at få en forståelse af de vigtigste begreber i en DevOps-praksis. I dette afsnit forklares hovedkomponenterne.

  • Dynamisk udvikling, der ofte bruges i software teams, er en leveringstilgang, der er relateret til trimmet produktion. Udviklingen foregår i korte trinvise sprints. Selvom tilgangen er anderledes end DevOps, udelukker de to tilgange ikke hinanden – dynamiske praksisser og værktøjer kan hjælpe med at øge effektiviteten i udviklingsteamet og dermed bidrage til den overordnede DevOps-kultur.

    Kom godt i gang med dynamisk planlægning ved hjælp af Azure Boards

  • Når et team arbejder sammen, er versionsstyring en afgørende del af nøjagtig og effektiv softwareudvikling. Et versionsstyringssystem – f.eks. Git – tager et snapshot af dine filer og gør det muligt for dig når som helst permanent at gå tilbage til en hvilken som helst version. Med et versionsstyringssystem kan du være sikker på, at du ikke løber ind i konflikter mellem de ændringer, du arbejder på.

    Begynd at bruge versionsstyring med Azure Repos

  • Kontinuerlig integration er den automatisering af builds og testing, der finder sted, efterhånden som koden færdiggøres og bekræftes i systemet. Når koden er bekræftet, følger den en automatiseret proces, der omfatter validering – og derefter bekræftes kun testet og valideret kode i hovedkildekoden, der ofte kaldes hovedgren, main eller trunk. Kontinuerlig integration automatiserer denne proces, hvilket fører til en betydelig højere effektivitet. Eventuelle fejl identificeres tidligt, og før koden flettes sammen med hovedgrenen.

    Begynd implementering af kontinuerlig integration med Azure Pipelines

  • Kontinuerlig levering er den grundlæggende praksis, der finder sted i DevOps og muliggør leveringen af hurtig og pålidelig software. Mens processen ligner det overordnede DevOps-begreb, er kontinuerlig levering den struktur, hvor alle kodekomponenter testes, valideres og bekræftes, når de er færdige, hvilket resulterer i muligheden for at levere software til enhver tid. Processen kontinuerlig integration er en komponent i kontinuerlig levering.

    Begynd implementering af kontinuerlig levering med Azure Pipelines

  • Uanset om der er tale om det lokale miljø eller cloud'en, er klargøringen og konfigurationen af ressourcerne en vigtig del af aktiviteterne i miljøet. Gennem procesautomatisering og brugen af værktøjer, der giver en forklarende definition af infrastruktur – f.eks. tekstbaserede definitionsfiler – kan teams udrulle og konfigurere ressourcer på en pålidelig måde, der kan gentages. De tekstbaserede definitionsfiler kan administreres som kode med versionsstyring, hvilket muliggør nem annullering af opdatering, genoprettelse og nedtagning af komplekse miljøer. Teknologier, som Terraform og Ansible, er almindelige løsninger til implementering af infrastruktur som kode.

    Opret infrastruktur på Azure med Terraform

    Få mere at vide om brug af Ansible sammen med Azure

  • DevOps omfatter mere end udvikling, men indebærer også ansvar for softwaren i leveringsprocessen, herunder softwarens ydeevne. Hele DevOps-processen opretter et feedback-loop, der til sidst angiver datapunkter, som både kan hjælpe med at forbedre et fremtidigt projekt og validere beslutningen om at udrulle softwaren. Overvågning og logføring er nøglekomponenter, der understøtter valideret læring, som derefter støtter det overordnede initiativ til kontinuerligt at stræbe mod en større effektivitet i softwareudviklings- og leveringsprocessen.

    Få mere at vide om indsamling og analyse af telemetridata med Azure Monitor

  • I hele livscyklussen indsamles der feedback og telemetridata, der giver et grundlag for informeret beslutningstagning i den næste cyklus. Disse oplysninger kaldes valideret læring. Valideret læring hjælper med at give indsigt i nye måder at reducere tidsforbruget pr. cyklus. De indsamlede data bruges derefter til at finde måder at øge automatiseringen og forbedre processerne på samt forberede udrulningen hurtigere og mere effektivt.

Uddyb din DevOps-læring med disse opgaver

Nu, hvor du har lært nøglebegreberne i DevOps-praksis, kan du sætte et øjeblik af til at besvare følgende spørgsmål:

  • Hvilke dele af din udviklingsproces er manuelle og kunne drage fordel af automatisering?
  • Er der mulighed for at introducere kontinuerlig integration i dit teams opbygningsproces?
  • Hvordan administrerer dit team infrastrukturen i dag? Kan processen gentages, og er den pålidelig, eller kan processen forbedres ved at bruge infrastruktur som kode?
  • Hvilke telemetridata kunne støtte dit arbejde med informationer?
  • Hvilke andre datapunkter kunne støtte din validerede læring?

Opbygning af din DevOps-kultur

Næste del af dette DevOps-selvstudium handler om, hvordan du opbygger en DevOps-kultur. Når du forbereder implementeringen af DevOps i din virksomhed, støder du sandsynligvis på forskelle i forhold til din aktuelle tilgang til softwarelevering.

Opbygning af en ny kultur sker ikke i løbet af en nat og er ikke så enkel som at købe et nyt sæt værktøjer. Hvis du vil give dit team mulighed for at lære og bruge DevOps, skal du muligvis ændre dine aktuelle teamstrukturer, arbejdsprocesser og vaner.

Få mere at vide om, hvordan Microsoft opbygger en DevOps-kultur

Uddyb din DevOps-læring med disse opgaver

Sæt et øjeblik af til at besvare følgende spørgsmål, hår du overvejer at opbygge en DevOps-kultur i din virksomhed:

  • DevOps hjælper med at koordinere alle interessenter i udvikling, levering og vedligeholdelse af software: Hvem inkluderer dette i din organisation? Opret en liste over alle de personer, der kommer til at arbejde sammen.
  • På hvilke måder kan du øge kommunikationen mellem udvikling og drift? Udfør en brainstorming, og find frem til et par måder, du kan forbedre samarbejdet mellem interessenter på.

DevOps-videoer

Se disse videoer for at få en dybere forståelse af DevOps, der går ud over denne håndbog. Få mere at vide om, hvordan du integrerer DevOps fuldstændigt i din softwareudviklingsproces.

Introduktion til Azure DevOps

Tag med Donovan Brown på en rundvisning i Azure DevOps' funktioner og egenskaber.

Bygning og udrulning af kode med Azure Pipelines

Få mere at vide om, hvorfor Azure Pipelines er et fantastisk værktøj til administration af kontinuerlig integration og kontinuerlig udrulning (CI/CD) af din kode.

Introduktion til brug af HashiCorp Terraform sammen med Azure

Gennemfør dette hurtige DevOps-selvstudium for at få mere at vide om, hvordan du konfigurerer Terraform til at administrere Azure-infrastruktur som kode.

Kom i gang med Azure DevOps

Levér software hurtigere og mere pålideligt med en moderne samling af udviklingstjenester. Smartere planlægning, forbedret samarbejde og hurtigere levering – brug alle funktionerne i DevOps, eller vælg dem, der passer til dig.