Azure DevOps: cos’è, servizi e API

Sviluppa applicazioni e software in modo agile. Coordina la tua squadra IT. Coinvolgi gli utenti finali.

Cosa troverai in questo articolo

Cosa trovi in questo articolo

  • Cos’è Azure DevOps di Microsoft
  • Quali vantaggi offre Azure DevOps alle aziende (e ai loro team IT)
  • I 5 servizi principali di Azure DevOps
  1. Azure Boards
  2. Azure Repos
  3. Azure Pipelines
  4. Azure Test Plans
  5. Azure Artifacts
  • Quali sono e a cosa servono le API di Azure DevOps

Azure DevOps: cos’è, servizi e API

Cos’è Azure DevOps di Microsoft

Azure DevOps è la piattaforma di Microsoft Azure per costruire, testare, rilasciare e monitorare le applicazioni.

È un ambiente di lavoro unificato, che permette alle organizzazioni di semplificare il ciclo di sviluppo del software con un approccio agile.

Vediamo nel dettaglio come funziona.

Azure DevOps è un servizio di integrazione e distribuzione continua (CI/CD), che fornisce le funzionalità necessarie per pianificare il lavoro delle squadre IT, coordinare le loro attività, aiutarle a collaborare su codice e ottimizzare la consegna dei loro prodotti all’utente finale.

Combina lo sviluppo (DEVelopment) e le operazioni IT (OPerations) per riunire in un unico ambiente le persone, i processi e la tecnologia dedicati alla creazione di nuove applicazioni.

Abbatte i muri che separavano le attività di sviluppo, quality engineering e sicurezza, per mettere a disposizione strumenti di collaborazione integrati.

Il risultato è un cambiamento radicale nel ciclo di vita del software, slegando le fasi di pianificazione, sviluppo, consegna e avvio da ruoli specifici e basandole sempre più sulla costante interazione tra developer, azienda e utenti finali.

DevOps promuove quindi una nuova cultura operativa, che pone al centro delle attività di sviluppo l’approccio “Agile”.

Il ciclo di vita del software secondo l’approccio Agile di Azure DevOps
Il ciclo di vita del software secondo l’approccio Agile di Azure DevOps

Quali vantaggi offre Azure DevOpsalle aziende (e ai loro team IT)

Azure DevOps offre un nuovo paradigma per lo sviluppo di software e applicazioni. L’approccio Agile si fonda sullo stretto rapporto tra le diverse squadre IT di un’organizzazione, così come tra i singoli developer e i destinatari delle loro applicazioni. Questa profonda collaborazione porta non solo al coordinamento di attività in precedenza ben separate e distinte, ma anche a un’estrema flessibilità operativa. DevOps prevede infatti cicli di rilascio molto brevi, per raccogliere feedback costanti dagli utenti finali e permettere agli sviluppatori di fare modifiche rapide e precise. Sia la collaborazione che la flessibilità vengono ulteriormente rafforzare da altri due aspetti chiave: la scalabilità e l’integrazione.

L’ambiente di DevOps è progettato per accogliere un insieme eterogeneo e vasto di operazioni. I membri di un team possono tracciare le loro attività usando bacheche e task, condivisibili e strutturabili su più livelli in base a tipologia e priorità. Non vi è un limite al numero di elementi che possono essere assegnati, semplificando così la gestione di progetti di qualunque dimensione.

Bacheche con task assegnati in Azure DevOps
Bacheche con task assegnati in Azure DevOps

Per quanto riguarda le possibili integrazioni, DevOps può combinarsi con gli altri servizi di Microsoft Azure per creare un flusso di lavoro end-to-end.

Un esempio è l’integrazione tra Azure Pipelines (di cui parleremo nel prossimo capitolo) con Azure Container Registry, con cui è possibile ottimizzare il processo di test e distribuzione delle app basate su container.

Oppure, Azure Pipelines può connettersi a Azure Functions per compilare e distribuire automaticamente le funzioni a seguito di determinati eventi trigger.

È importante però sottolineare che DevOps può integrarsi anche con strumenti e linguaggi di terze parti.

Tra questi, non possiamo non menzionare:

  • Java
  • JavaScript
  • Python
  • Ruby
  • C#
  • .NET
  • Jenkins.
  • Chef.
  • Ansible.
  • Docker.

Sai che aiutiamo i nostri clienti nella gestione dei loro tenant Azure?

Abbiamo creato il team interno Infra& Security, verticale sul cloud Azure per rispondere meglio alle esigenze dei nostri clienti che ci coinvolgono nelle decisioni tecniche e strategiche.

Oltre a configurare e gestire il tenant, ci occupiamo anche di:

  • ottimizzazione dei costi delle risorse
  • implementazione procedure di scaling e high availability
  • creazione dei deployment applicativi tramite le pipelines di DevOps
  • monitoring
  • e soprattutto security!

Con Dev4Side Software, puoi avere un partner affidabile in grado di supportarti sull'intero ecosistema applicativo di Microsoft.

I 5 servizi principali di Azure DevOps

Azure DevOps è una piattaforma completa CI/CD costituita da 5 servizi principali.

Ognuno di loro contribuisce e collabora con gli altri per ottimizzare la creazione di un’applicazione, dalla progettazione all’avvio.

Ve li presentiamo qui di seguito.

I servizi di Azure DevOps nel ciclo di vita del software
I servizi di Azure DevOps nel ciclo di vita del software

1) Azure Boards

Azure Boards serve per gestire i progetti di sviluppo.

Aiuta i membri del team IT a tracciare le proprie attività, i bug e le richieste in entrata.

Supporta le più importanti e diffuse metodologie di organizzazione agile, tra cui spiccano Scrum e Kanban.

2) Azure Repos

Azure Repos è un sistema di controllo della versione privato e illimitato.

Il suo scopo è tracciare le modifiche al codice nel corso del tempo, basandosi su richieste pull, branch policy, GIT e Team Foundation Version Control (TFVC).

3) Azure Pipelines

Azure Pipelines è uno strumento CI/CD che permette di costruire, testare e distribuire il codice in modo rapido e sicuro, su qualsiasi piattaforma cloud e on-prem.

Un’altra caratteristica peculiare è la possibilità di implementare architetture fondate su micro-servizi, grazie all’integrazione con Docker o Azure Kubernetes.

4) Azure Test Plans

Test Plans si specializza nel testing manuale e nell’esplorazione del codice.

Serve per creare e gestire i piani di test, così come eseguirli e ottenere la tracciabilità completa dei risultati.

5) Azure Artifacts

Azure Artifacts crea, ospita e consente di condividere pacchetti tra i membri di un team.

Può inoltre integrare questi pacchetti nel processo di build e di pipeline.

Quali sono e a cosa servono le API di Azure DevOps

Concludiamo la nostra panoramica su Azure DevOps con le sue API.

Le API costituiscono una parte fondamentale della piattaforma, dato che rendono possibili le diverse funzionalità di automazione e di integrazione.

Si dividono in 6 categorie, 5 per ciascun servizio di DevOps e una per le notifiche personalizzate.

Vediamo qui di seguito le API che DevOps presenta per i suoi servizi:

  1. API Azure Boards.
    Permettono di creare, leggere, aggiornare e cancellare i work item.

  2. API Azure Repos.
    Consentono di gestire repository GIT, richieste pull, commit, branch, tag e branch policy.

  3. API Azure Pipelines.
    Servono per creare, leggere e aggiornare le pipeline di build e di rilascio.
    Rendono inoltre possibile la gestione delle approvazioni, dei gateway, degli agenti e delle queue.

  4. API Azure Test Plans.
    Permettono di creare, leggere, aggiornare e cancellare i piani, le suite, i casi, i risultati e le configurazioni relativi ai test.

  5. API Azure Artifacts.
    Supportano la gestione di feed, pacchetti e versioni di pacchetti.

Scopri perché scegliere il team

Infra & Sec

Il team Infra & Security è verticale sulla gestione ed evoluzione dei tenant Microsoft Azure dei nostri clienti. Oltre a configurare e gestire il tenant, si occupa della creazione dei deployment applicativi tramite le pipelines di DevOps, monitora e gestisce tutti gli aspetti di sicurezza del tenant, supportando i Security Operations Centers (SOC).