Udostępnij przez


Zagadnienia dotyczące metodyki DevOps

Ten artykuł zawiera zagadnienia i zalecenia dotyczące metodyki DevOps w strefach docelowych platformy Azure.

Co to jest DevOps

DevOps to związek ludzi, procesów i technologii, które zapewniają ciągłą wartość rozwoju (dev) i operacji (ops). Podejście DevOps zachęca do współpracy zespołowej, która tworzy powtarzalne procesy, aby pomóc organizacjom działać wydajnie i na dużą skalę.

W kontekście stref docelowych platformy Azure usługa DevOps staje się strukturą, która kieruje zespołem (lub zespołami) odpowiedzialnymi za całe zarządzanie cyklem życia stref docelowych platformy Azure w takich obszarach jak:

  • Jak samodzielnie organizować i definiować granice z innymi zespołami, aby osiągnąć odpowiednią równowagę między autonomią a zarządzaniem
  • Jak stale rozwijać projekt architektury strefy docelowej platformy Azure (prawo conwaya)
  • Jak planować, ustalać priorytety i iterować implementację zaprojektowanej architektury
  • Jak zaimplementować kontrolę wersji, ciągłą integrację i ciągłe wdrażanie kodu strefy docelowej platformy Azure
  • Jak obsługiwać zdarzenia i reagować na nie w systemach i platformach, których jesteś właścicielem
  • Poziom automatyzacji stosowany do obsługi strefy docelowej Azure i samodzielnego naprawiania
  • Jak współpracować z innymi zespołami w organizacji w sposób elastyczny, zorientowany na wyniki
  • Jak utworzyć kulturę generowania zabezpieczeń, jakości, skoncentrowaności na użytkownikach i ciągłego uczenia

Decyzje podejmowane podczas przeglądania modeli operacyjnych w chmurze mogą mieć wpływ na sposób korzystania z platformy DevOps.

Zagadnienia dotyczące projektowania metodyki DevOps

  • Zdefiniuj strukturę DevOps lub dostosuj ją do strategii devOps i wdrażania chmury w organizacji. Uwzględnij definicję metodyki DevOps oraz zasady i praktyki, które musi przestrzegać twój zespół. Upewnij się, że łączysz strategię DevOps ze strategią biznesową.

  • Ustanów metryki , które umożliwiają zespołowi zwiększenie wydajności metodyki DevOps. Zespoły o wysokiej wydajności używają hipotezy do testowania swoich pomysłów, mierzenia jej w celu sprawdzenia, jak działa hipoteza, a następnie wprowadzania zmian w razie potrzeby. Ostatecznym celem metodyki DevOps jest ulepszenie aspektów, takich jak częstotliwość wdrażania, średni czas stosowania zmiany lub czas przywrócenia obniżonej wydajności usługi. Wszystkie te metryki należy zaprojektować, aby ostatecznie wpłynąć na ogólną wydajność biznesową.

  • Określ praktyki DevOps , które zespół powinien wdrożyć najpierw na podstawie ich bieżących umiejętności, i zaprojektuj plan przyrostowego stosowania nowych rozwiązań, które pomagają zespołowi ulepszyć metryki metodyki DevOps. Inwestowanie w możliwości inżynieryjne i zasoby ma kluczowe znaczenie.

  • Określ łańcuch narzędzi DevOps , który twój zespół powinien użyć do zaimplementowania praktyk DevOps. Upewnij się, że narzędzia są zgodne z ogólną strategią DevOps, aby uniknąć scenariuszy heterogenicznych ekosystemów DevOps zwiększających złożoność wdrożeń strefy docelowej lub obciążeń platformy Azure.

  • Oceń wpływ wdrożonych rozwiązań DevOps i narzędzi DevOps na projektowanie stref docelowych platformy Azure.

  • Utwórz plan gotowości, aby stale rozwijać umiejętności zespołu. Ogólne zastosowanie modelu DevOps nie powoduje natychmiastowego ustanowienia zdolnych zespołów DevOps.

  • Określ topologię zespołu , która najlepiej pasuje do strategii DevOps organizacji i modelu operacyjnego w chmurze, a także ustanów jasne granice, obowiązki i zależności między zespołami.

  • Określ, w jaki sposób zespół odpowiedzialny za strefy docelowe platformy Azure powinien współpracować z innymi zespołami w organizacji w celu przechwytywania nowych wymagań strefy docelowej platformy Azure w celu zaktualizowania projektu i implementacji, rozwiązywania zdarzeń, minimalizowania zależności i dopasowywania ich do priorytetów biznesowych.

Zalecenia dotyczące metodyki DevOps

Poniższe sekcje zawierają zalecenia ułatwiające wdrożenie struktury DevOps w organizacji.

Definiowanie struktury DevOps

Aby ustanowić strukturę DevOps, rozważ użycie struktur, które są już dostępne, aby rozpocząć od zestawu wstępnie zdefiniowanych sprawdzonych rozwiązań:

Definiowanie rozwiązań DevOps dotyczących zarządzania strefami docelowymi platformy Azure

Rozważ następujące rozwiązania devOps dotyczące stref docelowych platformy Azure:

Planowanie podróży implementacji metodyki DevOps

Zdefiniuj i dostosuj swoją podróż implementacji metodyki DevOps do planu wdrożenia chmury w organizacji.

  • Określ, gdzie twój zespół znajduje się dzisiaj w następujących obszarach:
  • Użyj planu wdrożenia chmury w organizacji, aby zdefiniować żądany model dla twojego zespołu.
  • Ustanów iteracyjny plan wdrożenia żądanego modelu w trybie iteracyjnym i przyrostowym, który jest zgodny z osią czasu transformacji organizacji.

Implementowanie żądanych metryk metodyki DevOps

Zidentyfikuj, które metryki będą używane do mierzenia wydajności metodyki DevOps zespołu. Metryki służą do kierowania pożądanymi nawykami w zespole, które łączą się z wynikami biznesowymi. Ustanów metryki, aby umożliwić zespołowi mierzenie wpływu na działania. Uwidocznij kluczowe metryki, ponieważ przejrzystość promuje zaufanie i zwiększa spójność z celami organizacji.

Przykłady metryk, które mierzą wydajność metodyki DevOps w celu zwiększenia wpływu na działalność biznesową, obejmują:

  • Wyniki biznesowe:

    • Użyj celów i kluczowych wyników jako narzędzia, aby przenieść zespoły z dala od "wyjściowego" sposobu myślenia i do "wyniku". Możesz na przykład użyć liczby obciążeń, które poprawiły ocenę zgodności w porównaniu z liczbą zasad wdrożonych na platformie Azure.
    • Zadowolenie klientów lub użytkowników końcowych. Przykłady to Net Promoter Score (NPS), ankiety, wywiady.
    • Rozwój firmy. Przykłady obejmują zwiększenie rentowności, zwiększenie przychodów i nowe pozyskiwanie źródła przychodów.
    • Metryki osób. Przykłady obejmują wskaźnik promotora netto pracowników (eNPS), użycie, retencję i zadowolenie.
    • Koszty. Na przykład możesz użyć redukcji kosztów.
  • Wydajność dostarczania oprogramowania:

    • Czas realizacji zmiany, czas potrzebny na poprawkę usterek, nową funkcję lub inną zmianę, aby przejść od pomysłu do wdrożenia do środowiska produkcyjnego.
    • Częstotliwość wdrażania, liczba wdrożeń dziennie zmian kodu do środowiska produkcyjnego.
    • Średni czas przywracania— czas potrzebny na przywrócenie usługi w środowisku produkcyjnym po wystąpieniu zdarzenia.
    • Zmień wartość procentową niepowodzenia, procent zmian w środowisku produkcyjnym (na przykład zmiany konfiguracji), które prowadzą do awarii.
  • Jakość:

    • Współczynnik ucieczki wad, liczba wad zidentyfikowanych przez użytkowników końcowych.
    • Nieplanowana praca lub przeróbka, procent czasu spędzonego na nieplanowanej pracy lub przeróbce.
    • Aktywne usterki— liczba usterek, które nie zostały jeszcze naprawione.
    • Kondycja kodu — procent kodu, który nie został przetestowany jednostkowo.

Definiowanie ekosystemu technologii DevOps

Łańcuch narzędzi DevOps, który wybierzesz do zarządzania cyklem życia stref docelowych Azure, wpływa na:

  • Strategie implementowania zasad i praktyk metodyki DevOps
  • Zagadnienia dotyczące zabezpieczeń cyklu życia metodyki DevOps
  • Ogólny projekt architektury zarządzania cyklem życia stref docelowych platformy Azure

Użyj wcześniej zdefiniowanej struktury DevOps , aby zidentyfikować narzędzia do użycia dla każdego z procesów DevOps. Wybierz technologie DevOps, które są najbardziej odpowiednie dla potrzeb zespołów, ale znajdź równowagę, która umożliwia osiągnięcie standaryzacji w całej organizacji, ale unikaj zbyt dużej złożoności lub heterogeniczności w ekosystemach DevOps.

Przykłady technologii DevOps na różnych etapach metodyki DevOps obejmują:

  • Planowanie: Atlassian Jira, Atlassian Trello, Azure Boards, GitHub
  • Ciągła integracja i testowanie: Atlassian Bitbucket, Azure Repos, GitHub Repos, npm, NuGet, Selenium, SmartBear Cucumber, SonarSource SonarQube, Zed Attack Proxy
  • Ciągłe dostarczanie (CD): Atlassian Bamboo, Azure Pipelines, GitHub Actions, Jenkins, Octopus Deploy, Perforce Puppet, RedHat Ansible
    • Infrastruktura jako kod: Bicep, Pulumi, Terraform
    • Bootstrapowanie: ArgoCD GitOps, Flux GitOps, Progress Chef, PowerShell Desired State Configuration (DSC)
  • Operacji: Azure Automation, Azure Monitor, CISCO Splunk, Grafana, Microsoft Power BI
  • Współpraca i opinie: Atlassian Confluence, witryny typu wiki usługi Azure DevOps, dyskusje w serwisie GitHub, witryny typu wiki usługi GitHub, Microsoft Teams, Slack, Stack Overflow

Na poniższym diagramie przedstawiono przykładową strukturę DevOps z wyborem łańcucha narzędzi usługi Azure DevOps:

Diagram struktury DevOps z wyborem łańcucha narzędzi usługi Azure DevOps.

Na poniższym diagramie przedstawiono przykładowe ramy DevOps z wyborem narzędzi Azure DevOps i GitHub:

Diagram struktury DevOps z wyborem łańcucha narzędzi Azure DevOps i GitHub.

Następny krok