Odnajdywanie metodyki DevOps

Ukończone

DevOps to związek ludzi, procesów i produktów umożliwiający ciągłe dostarczanie wartości użytkownikom końcowym.

Zazwyczaj celem programowania jest szybsze dostarczanie większej liczby funkcji, a celem operacji jest osiągnięcie lepszej stabilności systemu. Metodyka DevOps dostosowuje te dyscypliny przy użyciu struktury najlepszych rozwiązań, które okazały się przyspieszać wprowadzanie na rynek przy jednoczesnym poprawie stabilności systemu.

W przypadku firmy Microsoft metodyka DevOps obejmuje cały cykl życia dostarczania oprogramowania— od pomysłu do aplikacji działających w środowisku produkcyjnym.

Diagram shows the DevOps cycle of Plan - Build - Continuous Integration - Deploy - Operate - Continuous Feedback

Jeden całościowy widok metodyki DevOps dla usług firmy Microsoft

Po znacznej debacie, współpracy i uściśleniu uzgodniliśmy następujący widok DevOps dla usług firmy Microsoft:

  • Po pierwsze zidentyfikowaliśmy cztery filary, które obsługują metodyki DevOps, pochodzące z Osoby/procesu/produktu: Culture, Lean Product, Architecture i Technology.
  • Następnie zidentyfikowaliśmy osiem funkcji lub możliwości, które obejmują różne rozwiązania w ramach każdej funkcji lub między funkcjami:
    • Ciągłe planowanie
    • Ciągła integracja
    • Ciągłe dostarczanie
    • Operacje ciągłe
    • Ciągła jakość
    • Ciągłe zabezpieczenia
    • Ciągła współpraca
    • Ciągłe doskonalenie

Co nowego? Ciągłe wszystko. Proces jest podróżą i wymaga myślenia o wzroście, aby stale ewoluować i ulepszać.

Uwaga

Należy pamiętać, że każda możliwość zawiera przykładowe rozwiązania; nie jest to wyczerpująca lista.

Możliwości i praktyki metodyki DevOps

Oto nasza taksonomia DevOps możliwości i praktyk, które przechodzą do światowej klasy praktyki DevOps.

Diagram lists example practices for Continuous Planning: Strategy & portfolio planning, Lean product planning, Release planning, Sprint planning, Agile requirement management, Security requirement, Architecture design, Capacity planning, UX architecture design, Threat modeling, and Value stream mapping.

Diagram lists example practices for Continuous Integration: Behavior-driven development, Test-driven development, Shift-left testing, Microservices & container development, SAST, Secrets scanning, Unit test/code coverage, GIT pull request, Gated check-in, Build pipeline - parallel/serial.

Diagram lists example practices for Continuous Delivery: Release pipeline, Secure infra deployment, IaaS deployment, PaaS deployment, SaaS deployment, Shared services, Infrastructure-as-code, Change management, Configuration management, Release management, On-premises or cloud deployment, Security/quality end-to-end check with automation.

Diagram lists example practices for Continuous Operations: Site Reliability Engineering (SRE), Telemetry/monitoring, Application performance monitoring, Auto failover & scaling & DR, Modern Service Management, Secure access/app/data, High availability/security/cost and performance advisory, Secure Dev/Ops ChatOps, Shift-right testing, Secrets management, Governance.

Diagram lists example practices for Continuous Quality: Quality Requirements, Shift-lest testing, Governance and standards, Test automation, Compliance and Audits, and Shift-right testing.

Diagram lists example practices for Continuous Security: Security architecture, Identity and access management, Application security, Secure infrastructure, Secure data and Secure Operations, Governance and Compliance.

Diagram lists example practices for Continuous Collaboration: Culture collaboration, alignment and autonomy, Kanban collaboration, Wiki and Teams collaboration, ChatOps collaboration, and Feature team and SRE.

Diagram lists example practices for Continuous Improvement: Lead time and cycle time, Deployment frequency, Mean time to restore, Change fail percentage, Continuous feedback, Value stream mapping.

Uwaga

Należy pamiętać, że każda możliwość zawiera przykładowe rozwiązania; nie jest to wyczerpująca lista.

Korzyści z metodyki DevOps

Raport o stanie metodyki DevOps w 2019 r. opiera się na badaniach, które zapewniają najbardziej kompleksowy widok rosnącej branży DevOps.

Zgodnie z tym raportem elitarni wykonawcy:

  • Wdrażanie kodu 208 razy częściej niż w przypadku małych wykonawców
  • 106-krotny czas szybciej zmienia czas realizacji od zatwierdzenia do wdrożenia niż osoby o niskich wynikach
  • Współczynniki niepowodzeń zmian, które są siedem razy lepsze niż osoby o niskiej wydajności
  • Przywracanie usługi 2604 razy szybciej niż niska wydajność

Diagram shows how elite performers compare to low performers.

Wyniki te pokazują, że koncentrując się na wartościach metodyki DevOps, zespoły nie handlują szybkością obrotu w celu zapewnienia stabilności. Mogą one osiągnąć oba w tym samym czasie.