M365Con 2027 – conferenza online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Perché i team Azure stanno finalmente abbandonando i template ARM

By ·

Per anni, gli ingegneri cloud e gli sviluppatori che lavorano con Microsoft Azure hanno vissuto una realtà agrodolce nell'adozione dell'Infrastructure as Code (IaC). Da un lato, i template di Azure Resource Manager (ARM) offrivano un modo nativo e potente per effettuare il provisioning e gestire l'infrastruttura cloud in modo affidabile. Dall'altro, scrivere e mantenere quei template significava l

Automatically translated with AI from the original post. Read the English original

Cover: Bicep - Simply Explained

Per anni, gli ingegneri cloud e gli sviluppatori che lavorano con Microsoft Azure hanno vissuto una realtà agrodolce nell'adozione dell'Infrastructure as Code (IaC). Da un lato, i template di Azure Resource Manager (ARM) offrivano un modo nativo e potente per effettuare il provisioning e gestire l'infrastruttura cloud in modo affidabile. Dall'altro, scrivere e mantenere quei template significava lottare con file JSON prolissi, annidamenti profondi, strutture di codice gonfie e fastidiosi conflitti di merge ogni volta che un membro del team modificava il repository. Se ti è mai capitato di passare ore a cercare una parentesi fuori posto o una virgola invisibile in un documento JSON di mille righe, conosci esattamente il tipo di frustrazione che accompagna i deployment tradizionali su Azure.

Per fortuna il panorama cloud si è evoluto. I team Azure stanno abbandonando gradualmente i template ARM "puri" a favore di Bicep: un linguaggio specifico di dominio più pulito e più leggibile, progettato per astrarre i punti critici del JSON senza sacrificare l'affidabilità di fondo di Azure Resource Manager. In questa guida completa vedremo perché sta avvenendo questo passaggio, come funziona Bicep sotto il cofano e perché la transizione può ridurre la base di codice dell'infrastruttura fino al 60%.

Introduzione alla stanchezza da template ARM

Per capire perché Bicep ha conquistato la community Azure, dobbiamo prima individuare la causa principale della stanchezza da template ARM. Quando Azure ha reso popolari i deployment basati su template, JSON era lo standard universale per lo scambio di dati. Tuttavia, JSON non è mai stato progettato come linguaggio di programmazione né come strumento per la definizione dell'infrastruttura. Man mano che gli ambienti cloud crescevano in dimensioni e complessità, i limiti del JSON sono diventati evidenti.

Con i template ARM tradizionali la complessità cresce in modo esponenziale. Un deployment aziendale standard che coinvolge reti virtuali, subnet, key vault e identità gestite diventa rapidamente un file gonfio di migliaia di righe. Poiché JSON non offre nativamente costrutti di ciclo né funzionalità avanzate di modularizzazione, gli ingegneri ricorrono spesso a funzioni copy complesse e a annidamenti confusi. Quando più membri del team cercano di collaborare sullo stesso file monolitico, i frequenti conflitti di merge diventano una certezza piuttosto che un'eccezione. Il debug di questi file somiglia spesso a cercare un ago in un pagliaio digitale, e questo porta molti team ad abbandonare del tutto l'IaC automatizzata a favore di clic manuali nel portale, soggetti a errori, che vanificano completamente lo scopo dell'automazione DevOps.

Panoramica di Bicep

Riconoscendo questi diffusi problemi degli sviluppatori, Microsoft ha introdotto Bicep come livello di astrazione trasparente sopra i template ARM. Bicep non sostituisce Azure Resource Manager; è piuttosto un modo più intelligente e conciso per interagire con esso. Tutto ciò che puoi fare in un template ARM puoi farlo in Bicep, con una frazione del carico cognitivo.

Nel suo nucleo, Bicep offre una sintassi semplificata che si legge quasi come un linguaggio naturale. Elimina il rumore sintattico del JSON (addio a virgolette, parentesi e virgole interminabili) e lo sostituisce con dichiarazioni pulite e dichiarative. Poiché Bicep è un linguaggio compilato, il tuo codice funge da fonte di verità, che viene poi transpilato in template ARM JSON standard durante la fase di deployment. Questa architettura intelligente garantisce una compatibilità al 100% con il motore di deployment sottostante di Azure, migliorando al tempo stesso in modo deciso l'esperienza di sviluppo quotidiana.

Come funziona Bicep

Capire il funzionamento di Bicep aiuta a chiarire come questo linguaggio colmi il divario tra leggibilità per l'uomo ed esecuzione da parte della macchina. Quando scrivi codice infrastrutturale con Bicep, crei file con estensione .bicep. Questi file utilizzano un linguaggio specifico di dominio ottimizzato in modo specifico per il provisioning delle risorse Azure.

Il flusso di lavoro è davvero semplice:

  1. Authoring: crei e modifichi i file .bicep in locale con ambienti di sviluppo integrati moderni come Visual Studio Code, sfruttando estensioni ricche che offrono IntelliSense, validazione della sintassi e linting in tempo reale.
  2. Compilazione: con il comando della CLI di Bicep bicep build main.bicep, il tuo codice pulito viene compilato in un template ARM JSON standard.
  3. Distribuzione: esegui il deployment del template risultante direttamente in Azure tramite Azure CLI o Azure PowerShell, come hai sempre fatto.

Questo passaggio di compilazione fa sì che il motore di distribuzione centrale di Azure resti invariato: criteri aziendali, controlli di accesso basati sui ruoli e verifiche di sicurezza della distribuzione continuano quindi a funzionare senza intoppi.

Vantaggi di Bicep

Il passaggio dai template ARM basati su JSON a Bicep porta benefici immediati e misurabili per le organizzazioni di ingegneria. Innanzitutto, si riduce drasticamente il volume del codice: i team riferiscono regolarmente riduzioni del codice dal 50% al 60%, il che significa meno righe da scrivere, revisionare e mantenere.

Inoltre, Bicep dà una spinta notevole alla collaborazione. Suddividendo le definizioni dell'infrastruttura in moduli più piccoli e riutilizzabili, i membri del team possono lavorare in parallelo su componenti diversi dell'architettura senza pestarsi i piedi a vicenda. Il controllo di versione diventa molto più pulito, le revisioni del codice richiedono minuti invece di ore e l'inserimento di nuovi ingegneri nei progetti cloud diventa un'esperienza fluida, anziché un duro battesimo del fuoco.

Primi passi con Bicep

Iniziare con Bicep richiede pochissimo impegno. Poiché la CLI di Bicep è leggera e si integra nativamente con Azure CLI, puoi essere operativo su Windows, macOS o Linux in pochi minuti.

Per iniziare, assicurati di avere installato Azure CLI insieme a Visual Studio Code. Installa l'estensione ufficiale Bicep per VS Code per sbloccare funzionalità avanzate come il completamento del codice, la convalida dei parametri e il rilevamento automatico dei tipi di risorsa. Una volta configurato, scrivere la prima risorsa, come un account di archiviazione di Azure o una rete virtuale, richiede solo poche righe di codice pulito, al posto delle decine di righe di JSON denso e ripetitivo che servivano in precedenza.

Casi d'uso di Bicep

Bicep brilla in modo particolare in due grandi scenari aziendali: le implementazioni di Infrastructure as Code di base e le distribuzioni multi-ambiente.

Nelle pipeline IaC standard, Bicep si integra senza sforzo con piattaforme CI/CD come GitHub Actions e Azure DevOps, consentendo distribuzioni completamente automatizzate e ripetibili che eliminano il drift di configurazione. Per le architetture multi-ambiente, come sviluppo, test, staging e produzione, il supporto di Bicep per parametri e template modulari ti permette di mantenere un'unica base di codice standardizzata, inserendo al volo le variabili e le configurazioni specifiche di ogni ambiente.

Domande frequenti

Che cos'è Bicep?

Bicep è un linguaggio open source trasparente e specifico per il dominio, creato da Microsoft per distribuire in modo dichiarativo le risorse di Azure con una sintassi più pulita rispetto ai tradizionali template ARM.

In cosa Bicep si differenzia dai template ARM?

Mentre i template ARM usano una sintassi JSON prolissa, difficile da leggere e da mantenere, Bicep offre una sintassi concisa e leggibile, con strumenti avanzati di supporto. I file Bicep vengono compilati in template ARM prima della distribuzione.

Posso convertire i template ARM esistenti in Bicep?

Sì! Puoi decompilare facilmente i template ARM JSON esistenti in file Bicep usando la CLI di Bicep, per sfruttare subito la sintassi semplificata.

Bicep è gratuito?

Sì, Bicep è completamente gratuito e open source, pienamente supportato da Microsoft come componente di primo piano per la gestione dell'infrastruttura di Azure.

Bicep supporta la modularità?

Assolutamente sì. Bicep è stato progettato fin dalle fondamenta per supportare la modularità del codice, permettendoti di suddividere le grandi distribuzioni di infrastruttura in componenti riutilizzabili e gestibili.


Abbandonare i template ARM legacy non è più una scelta sperimentale per i team più lungimiranti: sta diventando lo standard di base per una gestione di Azure efficiente e scalabile. Riducendo la complessità del codice, migliorando la collaborazione e semplificando le distribuzioni multi-ambiente, Bicep permette ai professionisti del cloud di concentrarsi sulla creazione di software di qualità, invece di lottare con i file di configurazione.

Per approfondire l'argomento e ascoltare consigli pratici su come i team moderni stanno modernizzando le proprie strategie cloud, non perdere il nostro podcast correlato: Bicep - Simply Explained.

Bicep Microsoft Azure Infrastructure as code Azure Functions Exchange Online

Related articles

RSS