Opplæring om DevOps – en introduksjon

Det finnes mange forskjellige nivåer, konsepter og komponenter i DevOps, og denne opplæringen om DevOps er en god måte å lære om DevOps på og hvordan det kan forbedre hele prosessen med programvarelevering i din bedrift.

Forstå DevOps

Til å begynne denne DevOps-opplæringen vil vi presentere noen grunnleggende definisjoner for å gi deg en forståelse av hva DevOps er og hvordan det relaterer seg til hele programvareutviklingen din.

  • DevOps er en praksis for programvareutvikling som fremmer samarbeid mellom utvikling og drift, og som gir raskere og mer pålitelig programvarelevering. DevOps kobler sammen mennesker, prosesser og teknologi for å levere kontinuerlig verdi, noe som gjerne kalles en kultur.

    Finn ut mer om DevOps

  • Prosessen for programvareutvikling kan være veldig manuell, noe som gir en betydelig risiko for feilkoding. Utvikler- og driftsteamene er ikke alltid synkronisert, og dette kan bremse programvareleveringen og være til skuffelse for forretningsinteressenter. DevOps skaper effektivitet i alle oppgaver som gjelder utvikling, distribusjon og vedlikehold av programvare.

    Å knytte utvikling og drift sammen fører til økt synlighet, mer nøyaktige krav, økt kommunikasjon og raskere vei til markedet.

  • DevOps bygger bro over kløften mellom utvikling og drift, noe som gir betydelig større effektivitet både når det gjelder utvikling og distribusjon av programvare. DevOps legger mye vekt på automatisering og reduserer dermed forekomsten av feil.

  • Filosofien med DevOps er å ta ansvar fra ende til annen på tvers av alle aspekter i et prosjekt. DevOps er ulik mer tradisjonelle metoder i programvareutvikling i det at det bygger bro over kløften mellom utvikler- og driftsteamene, noe som ofte mangler og som kan hemme prosessen for programvarelevering betraktelig.

    DevOps tilbyr en omfattende struktur for utvikling og lansering av programvare og legger til rette for samarbeid mellom utvikler- og driftsteamene, der ulikt fokus kan skape utfordringer for og ineffektivitet i programvareleveringen.

  • Selv om både DevOps og smidig utvikling er metoder for programvareutvikling, har de litt forskjellig fokus. DevOps er en kultur som fokuserer på effektivitet for alle interessentene involvert i utvikling, distribusjon og vedlikehold av programvare. Smidig utvikling er en Lean Manufacturing-prosess som bidrar med en produksjonsstruktur for programvareutvikling. Smidig utvikling er ofte knyttet til utviklerteamet, mens DevOps omfatter alle interessentene involvert i produksjon og vedlikehold av programvaren. DevOps og smidig utvikling kan brukes sammen til å skape et svært effektivt miljø for programvareutvikling.

    Finn ut mer om DevOps versus Agile

Lær enda mer om DevOps gjennom disse oppgavene

Hver del i DevOps-opplæringen har oppgaver som hjelper deg enda noen skritt fremover når du skal ta i bruk DevOps i bedriften din. Tenk litt over følgende spørsmål:

  • Hvilke utfordringer har du når det gjelder utvikling og distribusjon av programvare?
  • På hvilke områder ville du gjerne hatt mer effektivitet i utviklingen og distribusjonen av programvare?

Det grunnleggende i en DevOps-praksis

Neste steg i denne DevOps-håndboken er å forstå hovedkonseptene som brukes i en DevOps-praksis. Denne delen forklarer hovedkomponentene.

  • Smidig utvikling er en leveringsmetode som er vanlig i programvareteam og som er relatert til begrepet Lean Manufacturing. Utviklingen skjer i korte, trinnvise sprint. Selv om det er forskjellig fra DevOps, utelukker ikke de to tilnærmingsmåtene hverandre. Smidige metoder og verktøy kan drive frem effektiviteten i et utviklingsteam, og dermed bidra til den overordnede DevOps-kulturen.

    Kom i gang med planlegging av smidig utvikling ved hjelp av Azure Boards

  • Versjonskontroll en svært viktig del av nøyaktig og effektiv programvareutvikling når et team arbeider sammen. Et versjonskontrollsystem, for eksempel Git, tar et øyeblikksbilde av filene og lar deg gå tilbake til alle versjoner når som helst. Med et versjonskontrollsystem kan du være sikker på at du ikke kommer i konflikt med endringene du arbeider på.

    Kom i gang med versjonskontroll med Azure Repos

  • Kontinuerlig integrering er en prosess der kompilering og testing skjer automatisk etter hvert som koder fullføres og settes inn i systemet. Når koden er i systemet følger den en automatisk valideringsprosess. Kun koder som har blitt testet og validert blir lagt til i hovedkildekoden, ofte kalt hovedgrenen, «main» eller «trunk». Kontinuerlig integrering automatiserer denne prosessen og effektiviserer den betydelig. Eventuelle feil oppdages tidlig, lenge før en kode flettes i hovedgrenen.

    Start implementering av kontinuerlig integrering med Azure Pipelines

  • Kontinuerlig levering er et grunnprinsipp i DevOps og sikrer levering av rask, pålitelig programvare. Prosessen er lik det overordnede konseptet i DevOps, men kontinuerlig levering er strukturen der hver kodekomponent testes, valideres og igangsettes etter hvert som de fullføres, noe som gir kontinuerlig levering av programvare til enhver tid. Kontinuerlig integrering (KI) er en prosess som er en del av kontinuerlig levering.

    Start implementering av kontinuerlig levering med Azure Pipelines

  • Om det så skjer lokalt eller i skyen, er klargjøring og konfigurasjon av ressurser en viktig del av driften i miljøet. Teamene kan distribuere og konfigurere ressurser på en pålitelig og repeterbar måte gjennom prosessautomatisering og bruk av verktøy som definerer infrastrukturen, for eksempel tekstbaserte definisjonsfiler. Tekstbaserte definisjonsfiler kan håndteres som kode med versjonskontroll, og med det tilrettelegge for enkel tilbakerulling, ny opprettelse og opprydding i komplekse miljøer. Teknologier som Terraform eller Ansible er vanlige løsninger for implementering av infrastruktur som kode.

    Opprett infrastruktur i Azure med Terraform

    Finn ut mer om hvordan du bruker Ansible i Azure

  • DevOps omfatter mer enn utvikling ettersom det tar ansvar for programvaren gjennom hele leveringen, inkludert ytelsen til programvaren. Hele DevOps-prosessen skaper en tilbakemeldingsløkke som i siste ende skaffer datapunkter som både kan forbedre fremtidige prosjekter og underbygge beslutningen om å distribuere programvaren. Overvåking og loggføring er viktige komponenter som støtter validert læring, som igjen støtter det overordnede prinsippet om kontinuerlig større effektivitet i prosessen med programvareutvikling og levering.

    Finn ut hvordan du kan samle inn og analysere telemetridata med Azure Monitor

  • Gjennom hele livssyklusen samles tilbakemeldinger og telemetridata inn for å kunne gi informert beslutningsgrunnlag til den neste syklusen. Denne informasjonen kalles validert læring. Validert læring gir innsikt i nye måter å redusere tidsbruken per syklus på. Innsamlede data brukes til å finne muligheter til å øke automatisering, forbedre prosesser og klargjøre for distribusjon raskere og mer effektivt.

Lær enda mer om DevOps gjennom disse oppgavene

Nå som du har fått innsikt i hovedkonseptene i hvordan man arbeider med DevOps, kan du tenke over følgende spørsmål:

  • Hvilke deler av utviklingsprosessen foregår manuelt i din bedrift, og kunne med fordel blitt automatisert?
  • Er det mulig å innføre kontinuerlig integrering (KI) i teamets kompileringsprosess?
  • Hvordan håndterer teamet infrastruktur på nåværende tidspunkt? Er prosessen repeterbar og pålitelig, eller kunne prosessen forbedres ved å bruke infrastruktur som kode?
  • Hvilke telemetridata kunne være nyttig i arbeidet?
  • Hvilke andre datapunkter kan støtte validert læring?

Slik bygger du opp din egen DevOps-kultur

Den neste opplæringsdelen i DevOps handler om hvordan du kan bygge opp en DevOps-kultur. Under arbeidet med å inkorporere DevOps i bedriften din vil du trolig møte på forskjeller fra det du er vant til ved levering av programvare.

Å bygge opp en ny kultur skjer ikke over natten, og er ikke like enkelt som å bare kjøpe nye verktøy. For å gjøre teamet ditt i stand til å lære om og bruke DevOps, kan det være du må gjøre endringer i hvordan teamet er bygget opp, i arbeidsflyter og i gamle vaner.

Les om hvordan Microsoft bygde opp en DevOps-kultur

Lær enda mer om DevOps gjennom disse oppgavene

Når du nå vurderer å bygge opp en DevOps-kultur i bedriften din, tenk litt over disse spørsmålene:

  • DevOps bidrar til å koordinere alle interessenter i utvikling, levering og vedlikehold av programvare: Hvem vil dette omfatte i din organisasjon? Lag en liste over alle personene som kommer til å arbeide sammen.
  • På hvilken måte kan du forbedre kommunikasjonen mellom utvikling og drift? Ta en idédugnad på hvordan dere kan forbedre samarbeidet mellom interessentene.

Videoer om DevOps

Se gjennom disse videoene for å få en større forståelse av DevOps enn hva håndboken kan gi deg. Finn ut hvordan du kan integrere DevOps fullstendig i programvareutviklingen din.

Innføring i Azure DevOps

Få en innføring om funksjoner og egenskaper i Azure DevOps av Donovan Brown.

Kompilering og distribusjon av koder med Azure Pipelines

Finn ut hvorfor Azure Pipelines er et veldig bra verktøy til å håndtere kontinuerlig integrering og kontinuerlig distribusjon (KI/KD) av koder.

Introduksjon til bruk av HashiCorp Terraform med Azure

Gå gjennom denne hurtige DevOps-opplæringen for å finne ut hvordan du skal konfigurere Terraform til å håndtere Azure-infrastruktur som kode.

Kom i gang med Azure DevOps

Lever programvare raskere og mer pålitelig med et moderne sett med utviklingstjenester. Planlegg smartere, samarbeid bedre og send raskere — bruk alle DevOps-funksjonene, eller velg de som passer best for deg.