Procedure consigliate nelle 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. Molti 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 elenca varie procedure consigliate. La colonna pilastri correlati
Pratica | Sommario | Pilastri correlati |
---|---|---|
progettazione dell'API | Progettare API Web per supportare l'indipendenza della piattaforma usando 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 e prevenire errori temporanei supportando risposte parziali e fornendo modi per filtrare e impaginare i dati. | efficienza delle prestazioni, eccellenza operativa |
'implementazione dell'API | Implementare API Web per essere efficienti, reattive, scalabili e disponibili. Eseguire azioni idempotenti, supportare la negoziazione del contenuto e seguire la specifica HTTP. Gestire le eccezioni e supportare l'individuazione delle risorse. Fornire modi per gestire richieste di grandi dimensioni e ridurre al minimo il traffico di rete. | eccellenza operativa |
la scalabilità automatica | Progettare app per allocare e deassegnare in modo dinamico le risorse per soddisfare i requisiti di prestazioni e ridurre al minimo i costi. Sfruttare di scalabilità automatica di Monitoraggio di Azure e la scalabilità automatica predefinita offerta da molti componenti di Azure. | Efficienza delle prestazioni, Ottimizzazione dei costi |
attività 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 i risultati alle attività chiamanti. | Eccellenza operativa |
memorizzazione nella cache | Migliorare le prestazioni copiando i dati in una risorsa di archiviazione veloce vicina alle app. Memorizzare nella cache i dati letti spesso ma raramente modificarli. Gestire la scadenza e la concorrenza dei dati. Informazioni su come popolare le cache e usare il servizio Cache Re dis di Azure per Redis. | efficienza delle prestazioni |
rete per la distribuzione di contenuti | Usare le reti per la distribuzione di contenuti (CDN) per distribuire in modo efficiente contenuto Web agli utenti e ridurre il carico nelle app Web. Superare le sfide di distribuzione, controllo delle versioni, sicurezza e resilienza. | 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. | 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 carichi, ridurre la latenza e supportare il ridimensionamento orizzontale. | 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. | 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 che funzionano meglio con i dati. | sicurezza |
Monitoraggio e diagnosi | 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 varie situazioni. Gli esempi includono il rilevamento e la correzione dei problemi, la individuazione di potenziali problemi, la conformità alle garanzie di prestazioni e il rispetto dei requisiti di controllo. | eccellenza operativa |
Linee guida per la riprova di servizi specifici | Usare, adattare ed estendere i meccanismi di ripetizione dei tentativi offerti dai servizi di Azure e dagli SDK client. Sviluppare un approccio sistematico e affidabile per la gestione di problemi temporanei con connessioni, operazioni e risorse. | affidabilità |
Gestione degli errori temporanei | Gestire gli errori temporanei causati da reti o risorse non disponibili. Superare le sfide nel sviluppare strategie di ritentativo appropriate. Evitare di duplicare livelli di codice di ripetizione dei tentativi e altri antipattern. | affidabilità |
Passaggi successivi
" output is necessary.)
- modelli di progettazione di
cloud - Microsoft Azure Well-Architected Framework