Panoramica della tecnologia DevOps

Automatizza la distribuzione del software per offrire valore continuo agli utenti

La promessa della metodologia DevOps

La metodologia DevOps automatizza e accelera la distribuzione del software. Aumenta inoltre l'affidabilità dei processi e dei prodotti. Quando implementi procedure e tecnologie DevOps, offri ai tuoi clienti maggior valore in tempi più rapidi, sotto forma di prodotti nuovi e innovativi o di miglioramenti ai prodotti esistenti.

Qual è la definizione della metodologia DevOps?

La metodologia DevOps unifica persone, processi e tecnologie tra sviluppo e IT in cinque procedure di base: pianificazione e monitoraggio, sviluppo, compilazione e test, distribuzione, monitoraggio e operazioni. Quando si adotta la metodologia DevOps, i team di sviluppo, operazioni IT, progettazione qualità e sicurezza collaborano strettamente, suddividendo le procedure in precedenza compartimentalizzate. Il coordinamento e collaborazione migliorati tra queste discipline riducono i tempi tra il commit di una modifica in un sistema e l'introduzione della modifica in produzione. Garantisce inoltre che gli standard di sicurezza e affidabilità siano soddisfatti nell'ambito del processo. Risultato: prodotti migliori, distribuiti più rapidamente a clienti più soddisfatti.

In che modo posso adottare un modello DevOps?

I team di più discipline seguono le fasi della metodologia DevOps tramite la pipeline di distribuzione per accelerare il time-to-market.

Pianificazione e monitoraggio

Identifica e tieni traccia del lavoro tramite procedure e processi come lavagne Kanban e approcci Agile. Quando il lavoro viene monitorato a livello visivo, gli stakeholder ottengono informazioni dettagliate chiare sulla capacità del team di sviluppo al fine di ottimizzare la pianificazione, classificare le attività in ordine di priorità ed evitare procedure di emergenza.

Sviluppare

Puoi scrivere il codice avvalendoti di sistemi di controllo delle versioni moderni come Git per integrarlo in modo continuo e sicuro nel ramo master. Quando una funzionalità è completa, lo sviluppatore invia una richiesta pull e non appena questa viene approvata, le modifiche vengono unite nel ramo master e il ramo precedente viene eliminato.

Compilazione e test

L'archiviazione del codice in Git o in un altro sistema di controllo delle versioni attiva un processo di compilazione automatizzato. Il codice viene testato e convalidato al fine di garantire che i bug vengano individuati nelle prime fasi dello sviluppo, quando sono meno costosi da correggere. Il processo di automazione della compilazione e del test è denominato integrazione continua. Un artefatto che può essere distribuito in produzione è il risultato della fase di compilazione e integrazione riuscita, che consente quindi la distribuzione continua, ovvero la possibilità di eseguire la distribuzione nell'ambiente di produzione in qualsiasi momento.

Distribuzione

Dopo il test e la convalida, ogni modifica può essere distribuita nell'ambiente di produzione. Usando le procedure di distribuzione continua, la distribuzione finale nell'ambiente di produzione è una decisione aziendale controllata manualmente.

Grazie alla distribuzione continua, l'intero processo dal commit del codice alla produzione è automatizzato. Quando il codice viene distribuito automaticamente, i clienti possono accedere alle nuove funzionalità non appena sono pronte.

Monitoraggio e gestione

Una volta in produzione, il monitoraggio fornisce informazioni sulle prestazioni e sui criteri di utilizzo dell'applicazione. Puoi ottenere la disponibilità elevata grazie a dati di diagnostica avanzati e immediati che consentono ai team di reagire tempestivamente. Puoi attenuare i problemi per gli utenti e raccogliere dati che agevolano un processo decisionale aziendale informato per lo sviluppo futuro. Inoltre, i criteri di conformità automatizzati che usano l'infrastruttura distribuita come codice e i criteri distribuiti come codice, puoi garantire che le app che distribuisci nell'ambiente di produzione usino configurazioni DSC allineate in base alle procedure consigliate per la sicurezza.

Scopri di più

Inizia a usare la tecnologia DevOps con Azure

Azure offre una soluzione end-to-end automatizzata per la metodologia DevOps con sicurezza e monitoraggio inclusi. Scegli un percorso semplice per lo sviluppo e la gestione delle tue app nel cloud. L'esperienza di sviluppo di Azure DevOps si integra con gli strumenti che preferisci. Se sei uno sviluppatore Java, Azure ti offre integrazioni native con Eclipse. Se sviluppi con Jenkins, puoi distribuire direttamente in Azure, con la massima semplicità. Unisci i team di sviluppo, delle operazioni IT e di progettazione della qualità per compilare, testare, distribuire, monitorare e gestire le applicazioni nel cloud. Per le app e i carichi di lavoro con requisiti di latenza, normativi o personalizzati, Azure, in combinazione con Azure Stack, ti offre un'esperienza DevOps ibrida coerente. Usa le competenze, i processi e gli strumenti che preferisci nell'ambiente in cui deve essere eseguita la tua app.

Offri innovazione continua

Semplifica e accelera lo sviluppo per il cloud

Impiega meno tempo a sviluppare pipeline di distribuzione e dedicati allo sviluppo di software. Usa una soluzione DevOps end-to-end per sviluppare e gestire le app nel cloud, sia che tu stia ottimizzando una pipeline di distribuzione esistente o che inizi da zero. Usa Node.js o .NET, Azure DevOps o Jenkins. Azure è il modo più semplice per sviluppare e gestire applicazioni nel cloud.

Migliora affidabilità e ripetibilità

Impiega meno tempo a gestire l'infrastruttura e la sicurezza per dedicarti allo sviluppo di soluzioni innovative. Con Azure, puoi distribuire in modalità continua con funzionalità di sicurezza e monitoraggio di livello aziendale. Sfrutta gli strumenti di infrastruttura distribuita come codice, ad esempio Azure Resource Manager o Terraform, per creare distribuzioni ripetibili e affidabili che soddisfano gli standard di conformità.

Sviluppa e distribuisci a modo tuo

Usa gli strumenti che preferisci. Un processo DevOps end-to-end aperto permette di usare qualsiasi toolchain, inclusi gli strumenti open source, nell'intero flusso di lavoro. Usa Ansible, Docker, Kubernetes e qualsiasi altro strumento preferito con Azure.

I clienti stanno facendo grandi cose con DevOps e Azure

Esplora Azure per DevOps

Continua a usare gli strumenti open source e di terze parti che ami, all'interno della tua pipeline. In alternativa, sfrutta Azure DevOps per orchestrare e completare la tua toolchain DevOps end-to-end.

Sviluppare

Semplifica l'esperienza di sviluppo tramite integrazioni native di Azure con Visual Studio e Visual Studio Code. Se sei uno sviluppatore Java, puoi sfruttare la vasta esperienza di Azure negli ambienti di sviluppo integrato di terze parti, come Eclipse e IntelliJ usando Azure Toolkit.

Condividi il codice, compila e distribuisci il software con un numero illimitato di repository Git e usa l'approccio Agile alla gestione del lavoro con Azure DevOps. Esegui il provisioning degli ambienti di sviluppo in pochi minuti con DevTest Labs.

Compilazione e test

Configura pipeline di integrazione continua/distribuzione continua e gestisci pacchetti con Azure DevOps. Sposta le pipeline e le build Jenkins in Azure e usa i plug-in agente dinamico per ridurre i requisiti e i costi dell'infrastruttura.

Distribuisci puntualmente e con qualità elevata usando DevTest Labs per configurare e gestire gli ambienti di test. Compila, testa e distribuisci app per iOS, macOS, Android e Windows più rapidamente e con maggiore fiducia automatizzandone il ciclo di vita con Visual Studio App Center. Esegui test su migliaia di dispositivi concreti, distribuisci a beta tester e App Store e monitora l'utilizzo con dati relativi agli arresti anomali e alle analisi.

Distribuzione

L'infrastruttura distribuita come codice acquisisce le definizioni degli ambienti come codice dichiarativo, ad esempio JSON o Yaml, per il provisioning e la configurazione automatizzati. Usa Azure Resource Manager o Terraform per il provisioning affidabile di ambienti duplicati. Automazione di Azure e strumenti quali Ansible, Chef o Puppet offrono funzionalità di gestione della configurazione e automazione.

Automatizza il test e la distribuzione del software in più ambienti, fino a quello di produzione con controllo delle approvazioni, con Release Management per Azure DevOps. Puoi anche distribuire direttamente dalle pipeline Jenkins in macchine virtuali, app Web o nel servizio Azure Container.

Monitoraggio e gestione

Tieni sotto controllo l'integrità dell'infrastruttura e integra i dati in dashboard esistenti, come Grafana, Kibana o il portale di Azure con Monitoraggio di Azure. Connettiti, raccogli e trasforma velocemente i dati di log da più posizioni in informazioni dettagliate e azioni con Log Analytics. Diagnostica i problemi e ottimizza la tua applicazione con Application Insights.

Assicurati che le applicazioni e l'infrastruttura di cui hai effettuato il provisioning siano conformi a Criteri di Azure o Chef Automate. In combinazione con il Centro sicurezza, potrai limitare l'esposizione alle minacce e individuare e correggere rapidamente le vulnerabilità.

Usufruisci di servizi DevOps coerenti nel cloud ibrido

Azure Stack è un'estensione di Azure che porta le funzionalità del cloud negli ambienti locali. Offri servizi di Azure dal tuo data center, mantenendo al tempo stesso un equilibrio tra flessibilità e controllo, per distribuzioni cloud ibride effettivamente coerenti.

Usa Team Foundation Server per ottenere la stessa suite completa di funzionalità e servizi DevOps offerta da Team Services, con la possibilità di eseguirli in locale.

Video

Approccio Agile in Microsoft

Visualizza video

Video

Introduzione a Visual Studio App Center

Visualizza video

Documentazione

Azure DevOps Projects per GitHub

Esplora la documentazione

Inizia a usare la tecnologia DevOps alle tue condizioni

Iniziare a implementare la tua soluzione DevOps in Azure è facile. Integra automaticamente la tua pipeline, distribuisci in qualsiasi piattaforma e avvia il monitoraggio con Azure DevOps Projects.

Se usi strumenti open source e di terze parti, prova le soluzioni DevOps di Azure. Esplora le procedure collaudate e l'architettura della soluzione per implementare le tue soluzioni DevOps in Azure.