Principi del pilastro di affidabilità

La creazione di un'applicazione affidabile nel cloud è diversa rispetto alla tradizionale procedura di sviluppo delle applicazioni. Sebbene in passato si siano acquistati livelli di hardware di fascia superiore ridondante per ridurre al minimo la possibilità che un'intera piattaforma applicativa abbia esito negativo, nel cloud riconosciamo che gli errori si verificheranno. Invece di provare a evitare completamente gli errori, l'obiettivo deve essere quello di ridurre al minimo gli effetti di un singolo componente in errore.

Framework applicazione

Questi principi critici vengono usati come obiettivi per valutare l'affidabilità di un'applicazione distribuita in Azure. Forniscono un Framework per le domande relative alla valutazione dell'applicazione che seguono.

Per valutare il carico di lavoro usando i principi disponibili in Microsoft Azure Well-Architected Framework, vedere Microsoft Azure Well-Architected Review.

  • Definire e testare le destinazioni di disponibilità e ripristino- Gli obiettivi di disponibilità, ad esempio i contratti di servizio (SLA) e gli obiettivi del livello di servizio (SLO), e gli obiettivi di ripristino, ad esempio obiettivi del tempo di ripristino (RTO) e obiettivi del punto di ripristino (RPO), devono essere definiti e testati per garantire l'affidabilità dell'applicazione con i requisiti aziendali.

  • Progettare applicazioni in modo che siano resistenti agli errori- Le architetture di applicazioni resilienti devono essere progettate in modo da correggere correttamente gli errori di allineamento con destinazioni di affidabilità definite.

  • Verificare che la capacità e i servizi richiesti siano disponibili nelle aree di destinazione. I servizi e la capacità di Azure possono variare in base all'area, quindi è importante comprendere se le aree di destinazione offrono le funzionalità necessarie.

  • Pianificare il ripristino di emergenza- Il ripristino di emergenza è il processo di ripristino della funzionalità dell'applicazione in seguito a un errore irreversibile. Potrebbe essere accettabile che alcune applicazioni non siano disponibili o parzialmente disponibili con funzionalità ridotte per un certo periodo di tempo, mentre altre applicazioni potrebbero non essere in grado di tollerare funzionalità ridotte.

  • Progettare la piattaforma applicativa per soddisfare i requisiti di affidabilità- La progettazione della resilienza e della disponibilità della piattaforma applicativa è fondamentale per garantire l'affidabilità complessiva dell'applicazione.

  • Progettare la piattaforma dati per soddisfare i requisiti di affidabilità- La progettazione della resilienza e della disponibilità della piattaforma dati è fondamentale per garantire l'affidabilità complessiva dell'applicazione.

  • Ripristino da errori- Le applicazioni resilienti devono essere in grado di ripristinare automaticamente gli errori sfruttando i modelli di codice delle applicazioni cloud moderne.

  • Verificare che la rete e la connettività soddisfino i requisiti di affidabilità. L'identificazione e la mitigazione di potenziali colli di bottiglia di rete o punti di errore supportano una base affidabile e scalabile sulla quale i componenti delle applicazioni resilienti possono comunicare.

  • Consenti affidabilità nella scalabilità e nelle prestazioni- Le applicazioni resilienti devono poter essere ridimensionate automaticamente in risposta alla modifica del carico per mantenere la disponibilità dell'applicazione e soddisfare i requisiti di prestazioni.

  • Affrontare i rischi correlati alla sicurezza: L'identificazione e l'indirizzamento dei rischi correlati alla sicurezza consentono di ridurre al minimo i tempi di inattività e la perdita di dati causati da esposizioni di sicurezza impreviste

  • Definire, automatizzare e testare i processi operativi- I processi operativi per la distribuzione di applicazioni, ad esempio il rollforward e il rollback, devono essere definiti, sufficientemente automatizzati e testati per garantire l'allineamento con gli obiettivi di affidabilità.

  • Test per la tolleranza di errore- I carichi di lavoro dell'applicazione devono essere testati per convalidare l'affidabilità rispetto a destinazioni di affidabilità definite

  • Monitorare e misurare l'integrità dell'applicazione- Il monitoraggio e la misurazione della disponibilità delle applicazioni sono fondamentali per qualificare l'integrità complessiva dell'applicazione e lo stato verso obiettivi di affidabilità definiti.

Passaggio successivo