Hva er DevOps?
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
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.
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)
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.
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.