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 proprietarie. Questa sezione fornisce indicazioni utili e autorevoli che applicano procedure consigliate ben strutturate 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 un costo finanziario significativo (business critical) o un costo umano (critico per la sicurezza) associato all'indisponibilità o alla 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 conoscenza approfondita 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 pertanto 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 soggetto dell'infrastruttura, ma deve essere un problema di prima classe all'interno del processo di sviluppo delle applicazioni.

  • L'operazionalizzazione dei carichi di lavoro cruciali richiede un elevato grado di rigore e maturità di progettazione per tutto il ciclo di vita di progettazione end-to-end, nonché la capacità di apprendere dagli errori.

La mission-critical riguarda solo l'affidabilità?

Anche se l'obiettivo principale dei carichi di lavoro cruciali è l'affidabilità, gli altri pilastri del framework ben progettato sono ugualmente importanti quando si compila e opera un carico di lavoro cruciale in Azure.

  • Sicurezza: il modo in cui un carico di lavoro attenua 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'elevata affidabilità impone compromessi significativi sui costi, che potrebbero non essere giustificabili per ogni scenario del carico di lavoro. È quindi consigliabile prendere decisioni di progettazione 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. Consigliamo 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à delle applicazioni 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 il ridimensionamento e la gestione degli errori.
Piattaforma dell'applicazione 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 e osservabilità dell'integrità 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 Eradicare 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 all'interno di questa serie si basano su un approccio orientato alla soluzione per illustrare le considerazioni e le raccomandazioni principali sulla 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 aziendale 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 dai Rete virtuale forniti in precedenza per la connettività ad altre risorse dell'organizzazione. Questo caso d'uso è destinato a scenari che richiedono l'integrazione con un ambiente tecnico aziendale più ampio per carichi di lavoro pubblici o interni.

    Fare riferimento all'implementazione: Mission-Critical Connected

Passaggio successivo

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