Scopri DevOps

Completato

DevOps è l'unione di persone, processi e prodotti per offrire recapito continuo di valore agli utenti finali.

In genere, l'obiettivo dello sviluppo è offrire più funzionalità in modo più rapido e l'obiettivo delle operazioni è ottenere una migliore stabilità del sistema. DevOps combina queste discipline usando un framework di procedure consigliate che hanno dimostrato di aumentare la velocità di immissione sul mercato, migliorando al contempo la stabilità del sistema.

Per Microsoft, DevOps comprende l'intero ciclo di vita di distribuzione del software, da idea a applicazioni attive nella produzione.

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

Una visione completa di DevOps per i servizi Microsoft

In seguito a dibattiti, collaborazione e perfezionamento rilevanti, è stata concordata la seguente visione di DevOps per i servizi Microsoft:

  • In primo luogo, sono stati individuati quattro fondamenti che supportano DevOps, derivati da persone/processi/prodotti: cultura, produzione snella, architettura e tecnologia.
  • Sono state quindi identificate otto funzioni o funzionalità, che includono varie procedure all'interno di ogni funzione o tra funzioni:
    • Pianificazione continua
    • Integrazione continua
    • Recapito continuo
    • Operazioni continue
    • Qualità continua
    • Sicurezza continua
    • Collaborazione continua
    • Miglioramento continuo

Novità Continuità ovunque. Il processo è un percorso e richiede una mentalità di crescita per evolversi e migliorare continuamente.

Nota

Si noti che ogni funzionalità elenca procedure di esempio; non si tratta di un elenco esaustivo.

Funzionalità e procedure di DevOps

Di seguito è illustrata la tassonomia DevOps delle funzionalità e delle procedure che rientrano in una procedura DevOps di livello mondiale.

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.

Nota

Si noti che ogni funzionalità elenca procedure di esempio; non si tratta di un elenco esaustivo.

Vantaggi di DevOps

Lo State of DevOps Report del 2019 si basa su ricerche che presentano una visione più completa del settore DevOps in crescita.

In base a questo report, i team con prestazioni straordinarie:

  • Distribuiscono codice 208 volte più frequentemente rispetto alle organizzazioni con prestazioni basse
  • Registrano lead time 106 volte più veloci dal commit alla distribuzione rispetto alle organizzazioni con prestazioni basse
  • Hanno percentuali di errori di modifica sette volte migliori rispetto alle organizzazioni con prestazioni basse
  • Ripristinano il servizio 2.604 volte più velocemente rispetto alle organizzazioni con prestazioni basse

Diagram shows how elite performers compare to low performers.

Questi risultati mostrano che concentrandosi sui valori DevOps i team non stanno mettendo a rischio la stabilità a favore della velocità di mercato in quanto possono ottenere entrambe allo stesso tempo.