Procedure consigliate per le applicazioni cloud

Queste procedure consigliate consentono di creare applicazioni affidabili, scalabili e sicure nel cloud. Offrono linee guida e suggerimenti per la progettazione e l'implementazione di sistemi, meccanismi e approcci efficienti e affidabili. Molte includono anche esempi di codice che è possibile usare con i servizi di Azure. Le procedure si applicano a qualsiasi sistema distribuito, indipendentemente dal fatto che l'host sia Azure o una piattaforma cloud diversa.

Catalogo delle procedure

Questa tabella riporta le varie procedure consigliate. La colonna Schemi o concetti fondamentali correlati contiene i collegamenti seguenti:

Procedure consigliate Summary Schemi o concetti fondamentali correlati
Progettazione di API Progettare API Web per supportare l'indipendenza della piattaforma tramite protocolli standard e formati di dati concordati. Promuovere l'evoluzione del servizio in modo che i client possano individuare le funzionalità senza richiedere modifiche. Migliorare i tempi di risposta ed evitare errori temporanei supportando risposte parziali e fornendo modi per filtrare e impaginare i dati. Progettazione e implementazione, efficienza delle prestazioni, Eccellenza operativa
Implementazione di API Implementare API Web per ottenere efficienza, reattività, scalabilità e disponibilità. Rendere le azioni idempotenti, supportare la negoziazione del contenuto e seguire la specifica HTTP. Gestire le eccezioni e supportare l'individuazione delle risorse. Consentire la gestione di richieste di grandi dimensioni e ridurre al minimo il traffico di rete. Progettazione e implementazione, Eccellenza operativa
Scalabilità automatica Progettare app per l'allocazione e la deallocazione dinamica delle risorse per soddisfare i requisiti di prestazioni e ridurre al minimo i costi. Sfruttare la scalabilità automatica di Monitoraggio di Azure e la scalabilità automatica incorporata offerta da molti componenti di Azure. Efficienza delle prestazioni, Ottimizzazione dei costi
Processi in background Implementare processi batch, attività di elaborazione e flussi di lavoro come processi in background. Usare i servizi della piattaforma Azure per ospitare queste attività. Attivare attività con eventi o pianificazioni e restituire risultati alle attività chiamanti. Progettazione e implementazione, Eccellenza operativa
Memorizzazione nella cache Migliorare le prestazioni copiando i dati in una risorsa di archiviazione veloce e vicina alle app. Memorizzare nella cache i dati letti di frequente ma modificati raramente. Gestire la scadenza e la concorrenza dei dati. Informazioni su come popolare le cache e usare il servizio cache di Azure per Redis. Gestione dei dati, Efficienza delle prestazioni
Rete per la distribuzione di contenuti Usare le reti CDN per distribuire i contenuti Web agli utenti in modo efficiente e ridurre il carico sulle app Web. Superare i problemi di distribuzione, controllo delle versioni, sicurezza e resilienza. Gestione dei dati, Efficienza delle prestazioni
Partizionamento dei dati Partizionare i dati per migliorare la scalabilità, la disponibilità e le prestazioni e ridurre i costi di contesa e archiviazione dei dati. Usare il partizionamento orizzontale, verticale e funzionale in modo efficiente. Gestione dei dati, Efficienza delle prestazioni, Ottimizzazione dei costi
Strategie di partizionamento dei dati (per servizio) Partizionare i dati in database SQL di Azure e servizi di archiviazione di Azure come archiviazione tabelle di Azure e archiviazione BLOB di Azure. Partizionare i dati per distribuire i carichi, ridurre la latenza e supportare la scalabilità orizzontale. Gestione dei dati, Efficienza delle prestazioni, Ottimizzazione dei costi
Conservazione dei nomi host Informazioni sul motivo per cui è importante mantenere il nome host HTTP originale tra un proxy inverso e l'applicazione Web back-end e come implementare questa raccomandazione per i servizi di Azure più comuni. Progettazione e implementazione, Affidabilità
Considerazioni sulla codifica dei messaggi Usare messaggi asincroni per scambiare informazioni tra i componenti di sistema. Scegliere la struttura del payload, il formato di codifica e la libreria di serializzazione più adatti ai dati. Messaggistica, Sicurezza
Monitoraggio e diagnostica Tenere traccia dell'integrità, dell'utilizzo e delle prestazioni del sistema con una pipeline di monitoraggio e diagnostica. Trasformare i dati di monitoraggio in avvisi, report e trigger utili in diverse situazioni. Gli esempi includono rilevare e correggere i problemi, individuare i potenziali problemi, soddisfare le garanzie di prestazioni e i requisiti di controllo. Eccellenza operativa
Indicazioni aggiuntive per servizi specifici Usare, adattare ed estendere i meccanismi di ripetizione dei tentativi offerti da servizi di Azure e SDK client. Sviluppare un approccio sistematico e affidabile per la gestione di problemi temporanei relativi a connessioni, operazioni e risorse. Progettazione e implementazione, Affidabilità
Gestione degli errori temporanei Gestire gli errori temporanei causati da risorse o reti non disponibili. Risolvere i problemi durante lo sviluppo di strategie di ripetizione dei tentativi appropriate. Evitare la duplicazione dei livelli di codice di ripetizione dei tentativi e altri anti-modelli. Progettazione e implementazione, Affidabilità

Passaggi successivi