Carichi di lavoro di importanza cruciale

Questa sezione si impegna a risolvere le sfide della progettazione di carichi di lavoro cruciali in Azure. Le linee guida si basano sulle lezioni apprese dalla revisione di numerose applicazioni dei clienti e soluzioni first-party. Questa sezione fornisce indicazioni utili e autorevoli che applicano Well-Architected procedure consigliate come base tecnica per la creazione e la gestione di una soluzione altamente affidabile su Azure su larga scala.

Che cos'è un carico di lavoro cruciale?

Il termine carico di lavoro si riferisce a una raccolta di risorse dell'applicazione che supportano un obiettivo aziendale comune o l'esecuzione di un processo aziendale comune, con più servizi, ad esempio API e archivi dati, che interagiscono per offrire funzionalità end-to-end specifiche.

Il termine mission-critical si riferisce a una scala di criticità che copre costi finanziari significativi (business critical) o costi umani (critici per la sicurezza) associati a indisponibilità o sottoperformance.

Un carico di lavoro mission-critical descrive quindi una raccolta di risorse dell'applicazione, che devono essere altamente affidabili sulla piattaforma. Il carico di lavoro deve essere sempre disponibile, resiliente agli errori e operativo.

Video: Carichi di lavoro cruciali in Azure

Quali sono le sfide comuni?

Microsoft Azure semplifica la distribuzione e la gestione delle soluzioni cloud. Tuttavia, la creazione di carichi di lavoro cruciali altamente affidabili sulla piattaforma rimane una sfida per questi motivi principali:

  • La progettazione di un'applicazione affidabile su larga scala è complessa. Richiede una vasta conoscenza della piattaforma per selezionare le tecnologie appropriate e configurarle in modo ottimale per offrire funzionalità end-to-end.

  • L'errore è inevitabile in qualsiasi sistema distribuito complesso e la soluzione deve quindi essere progettata per gestire gli errori con impatto correlato o a catena. Si tratta di un cambiamento di mentalità per molti sviluppatori e architetti che entrano nel cloud da un ambiente locale; l'ingegneria dell'affidabilità non è più un oggetto dell'infrastruttura, ma deve essere un problema di prima classe all'interno del processo di sviluppo dell'applicazione.

  • L'operazionalizzazione dei carichi di lavoro cruciali richiede un elevato livello di rigore e maturità di progettazione per tutto il ciclo di vita della progettazione end-to-end, nonché la capacità di imparare da un errore.

La mission-critical riguarda solo l'affidabilità?

Anche se l'obiettivo principale dei carichi di lavoro cruciali è l'affidabilità, altri pilastri del framework di Well-Architected sono ugualmente importanti durante la creazione e l'esecuzione di un carico di lavoro cruciale in Azure.

  • Sicurezza: il modo in cui un carico di lavoro riduce le minacce alla sicurezza, ad esempio gli attacchi DDoS (Distributed Denial of Service), avrà un impatto significativo sull'affidabilità complessiva.

  • Eccellenza operativa: il modo in cui un carico di lavoro è in grado di rispondere efficacemente ai problemi operativi avrà un impatto diretto sulla disponibilità delle applicazioni.

  • Efficienza delle prestazioni: la disponibilità è più che un tempo di attività semplice, ma piuttosto un livello coerente di servizio e prestazioni dell'applicazione rispetto a uno stato integro noto.

Il raggiungimento di un'affidabilità elevata impone compromessi significativi sui costi, che potrebbero non essere giustificabili per ogni scenario del carico di lavoro. È quindi consigliabile che le decisioni di progettazione siano basate sui requisiti aziendali.

Quali sono le principali aree di progettazione?

Le linee guida cruciali all'interno di questa serie sono costituite da considerazioni sull'architettura e raccomandazioni orientate a queste aree di progettazione chiave.

Aree di progettazione cruciali

Le aree di progettazione sono correlate e le decisioni prese all'interno di un'area possono influire o influenzare le decisioni nell'intera progettazione. Si consiglia ai lettori di acquisire familiarità con queste aree di progettazione, esaminando le considerazioni e le raccomandazioni fornite per comprendere meglio le conseguenze delle decisioni incluse. Ad esempio, per definire un'architettura di destinazione è fondamentale determinare il modo migliore per monitorare l'integrità dell'applicazione tra i componenti chiave. In questo caso, il lettore deve esaminare l'area di progettazione della modellazione dell'integrità, usando le raccomandazioni descritte per guidare le decisioni.

Area di progettazione Riepilogo
Progettazione di applicazioni L'uso di un'architettura di unità di scala nel contesto della creazione di un'applicazione altamente affidabile. Esplora anche i modelli di progettazione delle applicazioni cloud che consentono la scalabilità e la gestione degli errori.
Piattaforma applicativa Fattori decisionali e raccomandazioni correlati alla selezione, alla progettazione e alla configurazione di una piattaforma di hosting di applicazioni appropriata, dipendenze dell'applicazione, framework e librerie.
Piattaforma dati Scelte nelle tecnologie dell'archivio dati, informate valutando il volume, la velocità, la varietà, la veridicità.
Rete e connettività Concetti relativi alla topologia di rete a livello di applicazione, considerando la connettività necessaria e la gestione del traffico ridondante. Raccomandazioni critiche destinate a informare la progettazione di una topologia di rete globale sicura e scalabile.
Modellazione dell'integrità e osservabilità Processi per definire un modello di integrità affidabile, mapping degli stati di integrità delle applicazioni quantificati tramite costrutti osservabili e operativi per ottenere la maturità operativa.
Distribuzione e test Eliminare i tempi di inattività e mantenere l'integrità delle applicazioni per le operazioni di distribuzione, fornendo considerazioni chiave e raccomandazioni per informare la progettazione di pipeline CI/CD ottimali per un'applicazione cruciale.
Sicurezza Proteggere l'applicazione dalle minacce destinate a compromettere direttamente o indirettamente l'affidabilità.
Procedure operative L'adozione di DevOps e dei metodi di distribuzione correlati viene usata per favorire procedure operative efficaci e coerenti.

Esempi illustrativi

Le linee guida fornite in questa serie si basano su un approccio orientato alla soluzione per illustrare le considerazioni e le raccomandazioni chiave di progettazione. Sono disponibili diverse implementazioni di riferimento che possono essere usate come base per un ulteriore sviluppo di soluzioni.

  • Architettura di base di un'applicazione con connessione Internet: fornisce una base per la creazione di un'applicazione nativa del cloud, altamente scalabile e con connessione Internet in Microsoft Azure. Il carico di lavoro è accessibile tramite un endpoint pubblico e non richiede la connettività di rete privata a un ambiente tecnico dell'organizzazione circostante.

    Fare riferimento all'implementazione: Mission-Critical Online

  • Architettura di base di un'applicazione con connessione Internet con controlli di rete: estende l'architettura di base con controlli di rete rigorosi sul posto per impedire l'accesso pubblico non autorizzato da Internet a qualsiasi risorsa del carico di lavoro.

  • Architettura di base in una zona di destinazione di Azure: fornisce una base per la creazione di un'applicazione nativa del cloud connessa all'azienda in Microsoft Azure usando l'infrastruttura di rete e gli endpoint privati esistenti. Il carico di lavoro richiede la connettività privata ad altre risorse dell'organizzazione e assume una dipendenza dalle reti virtuali pre-fornite per la connettività ad altre risorse dell'organizzazione. Questo caso d'uso è destinato a scenari che richiedono l'integrazione con un patrimonio tecnico aziendale più ampio per carichi di lavoro pubblici o interni.

    Fare riferimento all'implementazione: Mission-Critical Connected

Scenari del settore

Le linee guida cruciali all'interno di questa serie costituiscono una metodologia di progettazione indipendente dal settore, che può essere applicata in una moltitudine di contesti di settore diversi. L'elenco seguente fornisce esempi specifici in cui la metodologia di progettazione cruciale è stata applicata e personalizzata per uno scenario specifico del settore.

Un carico di lavoro di livello vettore si fonda sia sugli aspetti aziendali critici che su quello critico per la sicurezza, in cui è necessario rendere operativo solo minuti o addirittura secondi di inattività all'anno di calendario. Il mancato raggiungimento di questo requisito di tempo di attività può comportare un'estesa perdita di vita, comportare multe significative o sanzioni contrattuali.

Passaggio successivo

Per iniziare, esaminare la metodologia di progettazione per scenari di applicazioni cruciali.