Dela via


DevOps-överväganden

Den här artikeln innehåller överväganden och rekommendationer för DevOps i Azure-landningszoner.

Vad är DevOps?

DevOps är en union av personer, processer och teknik som ger kontinuerligt värde för utveckling (dev) och drift (ops). DevOps-metoden uppmuntrar teamsamarbete som skapar repeterbara processer som hjälper organisationer att arbeta effektivt och i stor skala.

När det gäller Azure-landningszoner blir DevOps det ramverk som vägleder ditt team (eller team) som ansvarar för hela livscykelhanteringen för Azure-landningszoner inom områden som:

  • Så här organiserar och definierar du gränser med andra team för att uppnå lämplig balans mellan autonomi och styrning
  • Utveckla arkitekturdesign för Azure-landningszoner kontinuerligt (Conways lag)
  • Planera, prioritera och iterera implementeringen av den designade arkitekturen
  • Så här implementerar du versionskontroll, kontinuerlig integrering och kontinuerlig distribution för Azure-landningszonkod
  • Så här hanterar och hanterar du incidenter för system och plattformar som du äger
  • Den automatiseringsnivå som du tillämpar på etablering av Azure-landningszoner och självåterställning
  • Så här samarbetar du med andra team i din organisation på ett agilt, resultatorienterat sätt
  • Skapa en generativ kultur av säkerhet, kvalitet, användarcentrerad och kontinuerlig inlärning

De beslut du fattar när du granskar molndriftsmodeller kan påverka hur du använder ditt DevOps-ramverk.

Designöverväganden för DevOps

  • Definiera ditt DevOps-ramverk eller anpassa det till organisationens DevOps- och molnimplementeringsstrategi. Inkludera definitionen av DevOps och de principer och metoder som ditt team måste följa. Se till att du ansluter din DevOps-strategi till din affärsstrategi.

  • Upprätta mått som gör att ditt team kan förbättra sina DevOps-prestanda. Högpresterande team använder en hypotes för att testa sina idéer, mäta den för att se hur hypotesen fungerar och sedan göra ändringar efter behov. DevOps sista avsikt är att förbättra aspekter som distributionsfrekvens, genomsnittlig tid för att tillämpa en ändring eller tid för att återställa en degraderad tjänst. Du måste utforma alla dessa mått för att så småningom påverka övergripande affärsprestanda.

  • Fastställ de DevOps-metoder som ditt team bör implementera först baserat på deras nuvarande kompetens och utforma en översikt för att stegvis tillämpa nya metoder som hjälper ditt team att förbättra sina DevOps-mått. Det är viktigt att investera i tekniska funktioner och resurser.

  • Fastställ den DevOps-verktygskedja som ditt team ska använda för att implementera DevOps-metoderna. Se till att verktygen är konsekventa med din övergripande DevOps-strategi för att undvika scenarier med heterogena DevOps-ekosystem som ökar komplexiteten i Azures landningszon eller arbetsbelastningsdistributioner.

  • Utvärdera vilken effekt dina implementerade DevOps-metoder och DevOps-verktyg har på utformningen av dina Azure-landningszoner.

  • Skapa en beredskapsplan för att kontinuerligt utöka teamets kunskaper. Generell tillämpning av en DevOps-modell etablerar inte omedelbart kompatibla DevOps-team.

  • Fastställ den teamtopologi som bäst överensstämmer med organisationens DevOps-strategi och molndriftsmodell och upprätta tydliga gränser, ansvarsområden och beroenden mellan teamen.

  • Bestäm hur teamet som ansvarar för Azure-landningszoner ska samarbeta med andra team i din organisation för att samla in nya krav i Azure-landningszonen för att uppdatera design och implementering, lösa incidenter, minimera beroenden och anpassa sig till affärsprioriteringar.

DevOps-rekommendationer

Följande avsnitt innehåller rekommendationer som hjälper dig att implementera DevOps-ramverket i din organisation.

Definiera ditt DevOps-ramverk

För att upprätta ditt DevOps-ramverk bör du överväga att använda de ramverk som redan är tillgängliga för att börja med en uppsättning fördefinierade beprövade metoder:

Definiera DevOps-metoder för hantering av Azure-landningszoner

Överväg följande DevOps-metoder för dina Azure-landningszoner:

Planera din DevOps-implementeringsresa

Definiera och anpassa din DevOps-implementeringsresa till organisationens molnimplementeringsplan.

  • Ta reda på var ditt team befinner sig i dag inom följande områden:
  • Använd organisationens molnimplementeringsplan för att definiera en önskad modell för ditt team.
  • Upprätta en iterativ översikt för att implementera den önskade modellen i ett iterativt och inkrementellt läge som överensstämmer med organisationens tidslinje för omvandling.

Implementera önskade DevOps-mått

Identifiera vilka mått du ska använda för att mäta ditt teams DevOps-prestanda. Använd mått för att skapa önskade vanor i ditt team som ansluter till affärsresultat. Upprätta mått så att ditt team kan mäta påverkan över aktiviteter. Gör viktiga mått synliga för alla, eftersom transparens främjar förtroende och driver anpassning till organisationens mål.

Exempel på mått som mäter DevOps-prestanda för att förbättra affärspåverkan är:

  • Affärsresultat:

    • Använd Mål och viktiga resultat som ett verktyg för att flytta dina team från ett "utdata"-tänkesätt och mot ett "resultat"-tänkesätt. Du kan till exempel använda antalet arbetsbelastningar som har förbättrat deras efterlevnadsklassificering jämfört med antalet principer som distribuerats till Azure.
    • Kund- eller slutanvändarnöjdhet. Exempel är NET Promoter Score (NPS), undersökningar, intervjuer.
    • Affärstillväxt. Exempel är ökad lönsamhet, ökade intäkter och nya förvärv av intäktskällor.
    • Personer mått. Exempel är eNPS (Employee Net Promoter Score), användning, kvarhållning och tillfredsställelse.
    • Kostnader. Du kan till exempel använda minskade kostnader.
  • Prestanda för programvaruleverans:

    • Ledtid för ändring, den tid det tar för en felkorrigering, ny funktion eller någon annan ändring att gå från idé till distribution till produktion.
    • Distributionsfrekvens, distributioner per dag med kodändringar i produktion.
    • Genomsnittlig tid för återställning, den tid det tar att återställa tjänsten i produktion efter att en incident inträffat.
    • Ändra redundansprocent, procentandelen ändringar i produktionen (till exempel konfigurationsändringar) som leder till ett fel.
  • Kvalitet:

    • Defekt utrymningshastighet, antalet defekter som identifieras av slutanvändarna.
    • Oplanerat arbete eller omarbete, procentandelen tid som ägnas åt oplanerat arbete eller omarbete.
    • Aktiva buggar, antalet buggar som ännu inte har åtgärdats.
    • Kodhälsa, procentandelen kod som inte har enhetstestats.

Definiera ditt DevOps-teknikekosystem

Den DevOps-verktygskedja som du väljer att hantera livscykeln för dina Azure-landningszoner påverkar:

  • Dina strategier för att implementera DevOps-principer och -metoder
  • Säkerhetsöverväganden för din DevOps-livscykel
  • Den övergripande arkitekturdesignen för livscykelhanteringen för azure-landningszoner

Använd DevOps-ramverket som du tidigare definierade för att identifiera vilka verktyg som ska användas för var och en av dina DevOps-processer. Välj de DevOps-tekniker som passar bäst för dina teams behov, men hitta en balans som gör att du kan uppnå standardisering i hela organisationen men undvika för mycket komplexitet eller heterogenitet i dina DevOps-ekosystem.

Exempel på DevOps-tekniker i olika DevOps-steg är:

  • Planering: Atlassian Jira, Atlassian Trello, Azure Boards, GitHub
  • Kontinuerlig integrering (CI) och testning: Atlassian Bitbucket, Azure Repos, GitHub Repos, npm, NuGet, Selenium, SmartBear Gurka, SonarSource SonarQube, Zed Attack Proxy
  • Kontinuerlig leverans (CD): Atlassian Bamboo, Azure Pipelines, GitHub Actions, Jenkins, Octopus Deploy, Perforce Puppet, RedHat Ansible
    • Infrastruktur som kod: Bicep, Pulumi, Terraform
    • Bootstrapping: ArgoCD GitOps, Flux GitOps, Progress Chef, PowerShell Desired State Configuration (DSC)
  • Åtgärder: Azure Automation, Azure Monitor, CISCO Splunk, Grafana, Microsoft Power BI
  • Samarbete och feedback: Atlassian Confluence, Azure DevOps Wikis, GitHub Discussions, GitHub Wikis, Microsoft Teams, Slack, Stack Overflow

Följande diagram visar ett exempel på DevOps-ramverk med azure DevOps-verktygskedja:

Diagram över DevOps-ramverk med val av Azure DevOps-verktygskedja.

Följande diagram visar ett exempel på DevOps-ramverk med Azure DevOps- och GitHub-verktygskedja:

Diagram över DevOps-ramverk med val av Azure DevOps- och GitHub-verktygskedja.

Gå vidare