Ambienti
Usare il processo di recapito continuo per offrire in modo rapido e sicuro nuovi valori all'ambiente di produzione. È possibile apportare piccole modifiche di frequente, riducendo così il rischio di problemi.
Altri fattori influiscono sul "dolore alla distribuzione nell'ambiente di produzione", inclusa l'adozione di più ambienti di distribuzione/distribuzione. Un approccio multienvironment consente di compilare, testare e rilasciare codice con maggiore velocità e frequenza per rendere la distribuzione il più semplice possibile. È possibile rimuovere il sovraccarico manuale e il rischio di una versione manuale e automatizzare lo sviluppo con un processo a più fasi destinato a ambienti diversi.
Un'architettura multienvironment comune include quattro livelli:
- Sviluppo
- Test
- Gestione temporanea
- Produzione
In questa architettura il prodotto passa in ordine dallo sviluppo (l'ambiente in cui si sviluppano modifiche al software) tramite produzione (l'ambiente con cui gli utenti interagiscono direttamente). È anche possibile introdurre un ambiente UAT (User Acceptance Test) per convalidare il flusso aziendale end-to-end.
Environment | Descrizione |
---|---|
Sviluppo | L'ambiente di sviluppo (sviluppo) è la posizione in cui vengono sviluppate le modifiche apportate al software. |
Test | L'ambiente di test consente ai tester umani o ai test automatizzati di provare il codice nuovo e aggiornato. Gli sviluppatori devono accettare nuovi codici e configurazioni tramite unit test nell'ambiente di sviluppo prima di consentire a tali elementi di accedere a uno o più ambienti di test. |
Gestione temporanea | La gestione temporanea è la posizione in cui si eseguono test finali immediatamente prima della distribuzione nell'ambiente di produzione. Ogni ambiente di staging deve eseguire il mirroring di un ambiente di produzione effettivo il più accuratamente possibile. |
UAT | Test di accettazione utente (UAT) consente agli utenti finali o ai client di eseguire test per verificare/accettare il sistema software prima che un'applicazione software possa passare all'ambiente di produzione. |
Produzione | L'ambiente di produzione (produzione), detto anche live, è l'ambiente con cui gli utenti interagiscono direttamente. |
Considerazioni relative alla progettazione
Applicare le considerazioni seguenti sia alle zone di destinazione di Azure che allo sviluppo di carichi di lavoro di Azure:
- Gli ambienti di test sono importanti perché consentono agli sviluppatori della piattaforma di testare le modifiche prima della distribuzione nell'ambiente di produzione, riducendo così il rischio correlato alla distribuzione nell'ambiente di produzione.
- Mantenere gli ambienti il più simile possibile consente di trovare facilmente gli errori correlati all'ambiente nelle prime fasi di test, aumentando così la velocità e l'affidabilità di sviluppo e test.
- In caso di discrepanze nella configurazione degli ambienti, si verifica una "deviazione della configurazione", che può causare perdita di dati, distribuzioni più lente e errori.
- È possibile velocizzare le distribuzioni, migliorare la coerenza dell'ambiente e ridurre la "deviazione della configurazione" tra gli ambienti adottando Infrastructure as Code (IaC).
- Prendere in considerazione l'adozione di metodi come Canary o Blue-Green Deployments che rendono disponibili nuove funzionalità solo per un set limitato di utenti di test nell'ambiente di produzione e ridurre il tempo necessario per il rilascio nell'ambiente di produzione.
- Usare i controlli sui risultati dei test per controllare la transizione del codice dallo sviluppo all'ambiente di produzione. È possibile automatizzare questi controlli in modo che i test non superati impediscano la distribuzione automatica delle modifiche nell'ambiente successivo.
- Gli utenti designati esaminano le richieste pull prima che il codice venga distribuito nell'ambiente di produzione. Prendere in considerazione l'uso di repository con strategia di ramo per gestire il processo di revisione.
- Evitare silo consentendo a tutti gli sviluppatori di accedere a tutti gli ambienti.
Carichi di lavoro
Per informazioni su come gestire gli ambienti per i carichi di lavoro, vedere Domande frequenti su scala aziendale.
Zone di destinazione di Azure
L'adozione di più ambienti per una distribuzione della zona di destinazione di Azure è comune quando un cliente vuole testare gli effetti e i risultati delle nuove assegnazioni di Criteri di Azure, assegnazioni di ruolo di Controllo degli accessi in base al ruolo di Azure, appartenenze ai gruppi di Microsoft Entra, creazione delle risorse di Azure e altro ancora.
L'approccio di test per la scalabilità aziendale descrive due diversi approcci di adozione:
- Replica della gerarchia dei gruppi di gestione nell'ambiente Canary e Production
- Sottoscrizioni sandbox
Indipendentemente dall'approccio seguito, è sempre necessario:
- Adottare almeno un ambiente per il test.
- Usare entità servizio separate per scopi di test e produzione per proteggere gli ambienti.
- Implementare controlli e approvazioni automatizzati per convalidare e approvare le modifiche prima di distribuire qualsiasi modifica in un determinato ambiente