Nativo del cloud
Le soluzioni native del cloud creano un nuovo valore aziendale creando applicazioni o aggiungendo funzionalità che usano funzionalità cloud per scalabilità, resilienza e agilità. Queste linee guida forniscono un approccio strutturato per pianificare progetti di sviluppo nativi del cloud in linea con gli obiettivi aziendali e ridurre al minimo i rischi di recapito.
Pianificazione di soluzioni native del cloud in Azure
Per pianificare soluzioni native del cloud in Azure:
Definire gli obiettivi aziendali per le soluzioni native del cloud. Iniziare con obiettivi aziendali chiari e misurabili, identificare i vincoli e i criteri di successo e convalidare l'allineamento degli stakeholder per garantire a tutti di condividere le stesse aspettative dall'inizio del progetto.
Definire i requisiti per le soluzioni native del cloud. Documentare i requisiti funzionali che si legano agli obiettivi aziendali, stabilire requisiti non funzionali, incluse le metriche di affidabilità e le baseline di sicurezza, e controllare l'ambito definendo chiaramente ciò che è nell'ambito rispetto all'esterno dell'ambito per la versione iniziale.
Pianificare le architetture native del cloud. Esplorare le architetture di riferimento convalidate dal Centro architetture di Azure, selezionare gli stili di architettura appropriati in base alle caratteristiche del carico di lavoro, applicare procedure consigliate di progettazione e modelli cloud, integrare i cinque pilastri di Well-Architected Framework nelle decisioni di progettazione, pianificare integrazioni con sistemi esistenti, selezionare i servizi e i livelli di servizio di Azure appropriati in base ai requisiti, determinare la strategia di distribuzione a livello di area in base agli obiettivi di affidabilità e documentare le architetture con diagrammi dettagliati e decisioni di progettazione.
Pianificare la strategia di distribuzione nativa del cloud. Stabilire procedure DevOps per l'automazione della distribuzione, pianificare l'idoneità operativa con procedure di monitoraggio e risposta agli eventi imprevisti, definire procedure di sviluppo che supportano distribuzioni affidabili, usare l'esposizione progressiva per i nuovi carichi di lavoro a partire dai gruppi pilota, pianificare l'integrazione delle funzionalità usando i processi di gestione delle modifiche appropriati (aggiornamenti sul posto per modifiche minori, blu-verde per modifiche importanti) e definire responsabilità di proprietà e supporto per la post-distribuzione Operazioni.
Definire il piano di rollback per le soluzioni native del cloud. Creare procedure di rollback complete per ripristinare rapidamente i problemi di distribuzione e garantire la continuità aziendale durante le attività di rilascio.
Creare soluzioni native del cloud
Per creare soluzioni native del cloud:
Sviluppare nuove soluzioni native del cloud. Applicare i principi del Well-Architected Framework durante lo sviluppo, costruire ambienti di sviluppo che rispecchiano la produzione, implementare il controllo del codice sorgente con pipeline CI/CD, integrare strumenti di monitoraggio come Monitoraggio di Azure e Application Insights dall'inizio e convalidare la soluzione tramite test completi, tra cui test funzionali, prestazioni, sicurezza e test di accettazione dell'utente.
Creare un'infrastruttura riutilizzabile. Stabilire modelli di infrastruttura standardizzati e ripetibili che possono essere distribuiti in modo coerente tra ambienti e progetti per ridurre i tempi di distribuzione e garantire la coerenza della configurazione.
Creare la documentazione sulla distribuzione. Documentare i processi di distribuzione, le configurazioni e le procedure operative per abilitare distribuzioni affidabili e un trasferimento efficace delle conoscenze ai team operativi.
Distribuire soluzioni native del cloud
Per distribuire soluzioni native del cloud:
Preparare gli stakeholder per le distribuzioni native del cloud. Annunciare le pianificazioni di distribuzione e gli impatti previsti per tutti gli stakeholder pertinenti prima di iniziare le distribuzioni di produzione. Inviare una notifica ai team di supporto e ai gruppi interessati su ciò che viene rilasciato in modo da poter gestire i problemi degli utenti. Impostare aspettative chiare sulle funzionalità durante le finestre di distribuzione e condurre verifiche di idoneità alla distribuzione per confermare che tutti i team comprendano i ruoli e abbiano accesso necessario.
Eseguire le distribuzioni native del cloud. Creare ambienti di produzione usando pipeline CI/CD convalidate, con gli stessi artefatti di compilazione e modelli IaC testati in staging. Eseguire smoke test per verificare la funzionalità di base e la disponibilità del servizio. Implementare implementazioni progressive esponendo prima i nuovi sistemi a gruppi di utenti di piccole dimensioni, quindi espandersi gradualmente in base ai risultati del monitoraggio e al feedback degli utenti.
Verificare il successo della distribuzione. Verificare che i percorsi utente critici funzionino correttamente nell'ambiente live, oltre ai test di fumo di primo livello. Verificare che i processi in background, le integrazioni e i processi pianificati funzionino correttamente. Esaminare i dashboard di monitoraggio per individuare le anomalie dell'integrità del sistema ed esaminare i sistemi di avviso per individuare trigger imprevisti. Effettuare controlli con gli stakeholder e proclamare il completamento della distribuzione solo dopo la completa convalida secondo i criteri di accettazione.
Supportare i carichi di lavoro durante la stabilizzazione. Stabilire un comportamento di monitoraggio e supporto più alto con i team di sviluppo su chiamata insieme ai team operativi. Tenere traccia delle metriche di sistema e dei commenti degli utenti continuamente durante la prima settimana o due come periodo di stabilizzazione. Modificare le configurazioni in base al comportamento osservato e registrare tutti i problemi individuati. Definire criteri di uscita chiari per la transizione dalla stabilizzazione alle operazioni standard.
Ottimizzare le soluzioni native del cloud dopo la distribuzione
Per ottimizzare le soluzioni native del cloud dopo la distribuzione:
Ottimizzare le configurazioni del servizio. Applicare le raccomandazioni di Azure Advisor ogni settimana per implementare miglioramenti critici per i costi, le prestazioni, l'affidabilità e la sicurezza. Usare le guide ai servizi di Azure di Well-Architected Framework per allineare le configurazioni alle procedure consigliate e risolvere immediatamente i risultati della sicurezza usando Microsoft Defender per il cloud per mantenere la conformità e proteggere i carichi di lavoro.
Convalidare l'idoneità operativa. Abilitare la registrazione completa e le metriche per tutti i componenti critici tramite Monitoraggio di Azure, testare la funzionalità di avviso simulando gli scenari di errore ed esaminare i dashboard per assicurarsi che forniscano informazioni dettagliate interattive. Copertura del monitoraggio dei documenti per supportare i controlli futuri e l'onboarding dei team.
Stabilire il monitoraggio dei costi e ottimizzare i costi. Configurare avvisi e budget automatizzati sui costi in Azure per monitorare la spesa rispetto alle soglie e applicare sistematicamente le strategie di ottimizzazione dei costi del Well-Architected Framework in ambito di monitoraggio, governance, tariffe, utilizzo e componenti. Esaminare regolarmente i modelli di utilizzo delle risorse per identificare e rimuovere le risorse sottoutilizzate, programmando lo spegnimento degli ambienti di non produzione fuori orario.
Testare le procedure di backup e ripristino. Verificare la copertura dei backup per tutti i dati critici usando una soluzione di backup supportata da ogni archivio dati, ad esempio backup nativi del servizio o Backup di Azure, eseguire ripristini di valutazione in ambienti non di produzione per verificare l'integrità dei dati e gli obiettivi del tempo di ripristino. Documentare le procedure di infrastruttura e ripristino dei dati con istruzioni dettagliate ed eseguire esercitazioni regolari sul ripristino di emergenza per convalidare l'idoneità del team.
Raccogliere commenti e suggerimenti degli utenti e misurare i risultati. Stabilire canali di feedback strutturati tramite sondaggi e analisi dei ticket di supporto per identificare i punti deboli nei flussi di lavoro critici per l'azienda. Tenere traccia e risolvere sistematicamente il feedback usando Azure DevOps o GitHub Issues, assegnando priorità in base al valore e all'urgenza durante la comunicazione delle risoluzioni agli stakeholder.
Continuare a evolversi e migliorare. Pianificare revisioni periodiche di Well-Architected Framework per valutare l'architettura rispetto alla modifica dei requisiti e dei modelli di utilizzo. Implementare l'ottimizzazione automatizzata utilizzando i Criteri di Azure per la governance, l'autoscaling per la gestione del carico, e il rilevamento delle anomalie per il controllo dei costi, condividendo al tempo stesso lezioni apprese e migliori pratiche all'interno dell'organizzazione per migliorare la maturità nella gestione del cloud.
Per informazioni dettagliate su Cloud Adoption Framework, vedere Creare soluzioni native del cloud.