Hva er DevOps?

Fullført

Sammentrekningen av «Dev» og «Ops» refererer til å erstatte silobaserte utviklings- og driftsteam. Tanken er å skape tverrfaglige team som jobber sammen med felles praksis, verktøy og ansvarlighet for resultater. Viktige DevOps-praksiser inkluderer smidig planlegging, kontinuerlig integrasjon, kontinuerlig levering og omfattende overvåking av applikasjoner. DevOps er en kontinuerlig forbedringsreise, ikke et mål.

Forretningsverdien av DevOps

Organisasjoner som implementerer DevOps-praksiser, ser vanligvis målbare forbedringer på tvers av viktige operasjonelle måledata:

  • Distribusjonsfrekvens: Økt fra sjeldne utgivelser til vanlige, forutsigbare distribusjoner
  • Ledetid: Redusert fra utvidede utviklingssykluser til kortere leveringstider
  • Gjennomsnittlig tid til gjenoppretting (MTTR): Raskere hendelsesløsning og systemgjenoppretting
  • Endringsfeilrate: Færre produksjonsproblemer på grunn av forbedret testing og automatisering

Forventede fordeler inkluderer:

  • Redusert time-to-market for nye funksjoner
  • Reduserte distribusjonsrelaterte hendelser
  • Forbedret produktivitet og tilfredshet for utviklere
  • Lavere driftskostnader gjennom automatisering

Diagram som viser DevOps-syklus med planleggings-, bygg-, integrerings-, distribusjons-, drifts- og tilbakemeldingsfaser i en kontinuerlig sløyfe.

Forstå og beregn syklustiden din

La oss starte med et grunnleggende konsept om programvareutvikling ved hjelp av OODA-løkken (Observe, Orient, Decide, Act). OODA-sløyfen ble opprinnelig designet for å forhindre at jagerpiloter blir skutt ut av himmelen, og er et utmerket rammeverk for å ligge i forkant av konkurrentene dine i næringslivet.

OODA-sløyfe i praksis:

  • Observer: Overvåk forretningsmålinger, markedstrender, brukeratferd og telemetridata
  • Orienter: Analyser alternativer for hva du kan levere, muligens gjennom eksperimenter
  • Bestem: Bestem hva du skal forfølge basert på data og forretningsprioriteringer
  • Act: Lever fungerende programvare til ekte brukere og samle inn tilbakemeldinger

Øvelse for beregning av syklustid: Tenk på din nåværende utviklingsprosess. Hvor lang tid tar det å gå fra:

  • Kodeforpliktelse → produksjonsdistribusjon?
  • Funksjonsforespørsel → tilbakemelding fra kunder?
  • Feilrapport → Fix i produksjon?

Eksempel: Hvis det tar 2 uker å distribuere en konfigurasjonsendring på én linje, er syklustiden 2 uker. Dette blir hastighetsbegrensningen din.

Diagram som viser OODA-sløyfesyklusen med observasjons-, orienterings-, beslutnings- og handlingsfaser koblet sammen i et sirkulært mønster, med vekt på kontinuerlig iterasjon.

Bli datainformert, ikke datadrevet

Vi anbefaler å bruke data til å informere beslutninger i neste syklus, men unngå å bli lammet av analyse. Erfaring fra mange organisasjoner tilsier at distribusjoner ofte har varierte resultater:

  • Noen distribusjoner vil ha negative forretningsresultater
  • Noen distribusjoner vil ha positive resultater
  • Noen distribusjoner vil ikke utgjøre noen målbar forskjell

Hovedprinsippet: Mislykkes raskt med initiativer som ikke fremmer virksomheten, og doble resultatene som støtter forretningsmålene. Denne tilnærmingen kalles ofte "pivot or holde".

Praktisk anvendelse:

  • Sett opp A/B-testing for nye funksjoner
  • Definer suksessmåledata før distribusjon
  • Opprette tilbakerullingsprosedyrer for mislykkede eksperimenter
  • Opprett tilbakemeldingssløyfer for å måle effekten raskt

Strebe etter validert læring

Hvor raskt du kan feile raskt eller doble avhenger av syklustiden din - hvor lang tid det tar å fullføre tilbakemeldingssløyfen. Tilbakemeldingene du samler inn med hver syklus bør være:

  • Fakta: Basert på reell brukeratferd og systemberegninger
  • Handlingsdyktig: Fører til klare neste trinn og beslutninger
  • Betimelig: Tilgjengelig raskt nok til å påvirke neste iterasjon

Denne evidensbaserte tilnærmingen kalles validert læring - å ta beslutninger basert på empiri i stedet for antagelser eller meninger.

Eksempler på beregninger for validert læring:

  • Brukerengasjement og innføring av funksjoner
  • Systemytelse og feilrater
  • Kundetilfredshetspoeng og supportbilletter
  • Forretnings-KPIer (inntekter, konverteringsfrekvenser, oppbevaring)

Diagram som illustrerer validert læringssyklus som viser gode, likegyldige og dårlige resultater med tilbakemeldingssløyfer for kontinuerlig forbedring.

Forkort syklustiden

Når du tar i bruk DevOps-fremgangsmåter:

  • Du forkorter syklustiden ved å arbeide i mindre grupper.
  • Bruke mer automatisering.
  • Herding av utgivelsessamlebåndet.
  • Forbedre telemetrien.
  • Distribuerer oftere.

diagram over validert læring kontra distribusjonsfrekvens. God, likegyldig og dårlig syklus.

Optimaliser validert læring

Jo oftere du distribuerer, jo mer kan du eksperimentere. Jo større mulighet du har til å pivotere eller holde ut og få validert læring hver syklus. Denne akselerasjonen i validert læring er verdien av forbedringen. Tenk på det som summen av fremgangen du oppnår og feilene du unngår.

diagram over validert læring kontra distribusjonsfrekvens. God, likegyldig og dårlig syklus. Verdi for metrikkverdi for forbedring.