Progettazione per i requisiti aziendali

Completato
Raccogliere i requisiti aziendali con un focus sull'utilità prevista del carico di lavoro.

I requisiti aziendali vengono definiti tramite un lavoro collaborativo tra stakeholder aziendali e architetti del carico di lavoro. È necessario effettuare compromessi su ogni lato per garantire che i requisiti concordati siano realistici e raggiungibili, rispettando al tempo stesso correttamente gli obiettivi di affidabilità che il carico di lavoro deve soddisfare. I requisiti devono coprire l'esperienza utente, i dati, i flussi di lavoro e le caratteristiche univoci per il carico di lavoro. Il risultato del processo di requisiti deve indicare chiaramente le aspettative. Gli obiettivi devono essere raggiungibili e negoziati con il team, dato un investimento specificato. Devono essere documentati per guidare scelte tecnologiche, implementazioni e operazioni.

Scenario di esempio

Contoso Insurance è nella fase iniziale di progettazione dello sviluppo di un'applicazione Web per elaborare le richieste per i titolari di criteri. La maggior parte dei flussi principali di utenti e sistemi è stata determinata e il team del carico di lavoro ha identificato diversi servizi di Azure che comporranno l'app: servizio app Azure, database SQL di Azure, servizi di intelligenza artificiale di Azure, Griglia di eventi di Azure e App per la logica di Azure.

Identificare le destinazioni di affidabilità

Quantificare il successo impostando obiettivi sugli indicatori per singoli componenti, flussi di sistema e utente e il sistema nel suo complesso.

Le metriche quantificano le aspettative. Consentono di comprendere le complessità e determinare se i costi downstream di tali complessità sono entro il limite di investimento.

I valori di destinazione indicano uno stato ideale. È possibile usare i valori come soglie di test che consentono di rilevare le deviazioni da tale stato e il tempo necessario per tornare allo stato di destinazione.

I requisiti di conformità devono avere anche risultati prevedibili per i flussi nell'ambito. La definizione delle priorità di questi flussi consente di prestare attenzione alle aree più sensibili.

Sfida di Contoso

  • Il team del carico di lavoro vuole assicurarsi di ottimizzare il modo in cui le risorse vengono spese per rendere affidabile il carico di lavoro.
  • Hanno scomposto il carico di lavoro nei flussi e hanno valutato i flussi in base alla loro criticità.

Applicazione dell'approccio e dei risultati

  • Il team determina che il flusso di invio di attestazioni e approvazione avrà i requisiti di affidabilità più elevati per il carico di lavoro a causa della dipendenza dei medici e dei pazienti dalla disponibilità di tale flusso.
  • Il team del carico di lavoro identifica i componenti che supportano questo flusso e determina le misure di affidabilità necessarie per raggiungere gli obiettivi.

Comprendere gli impegni della piattaforma

Comprendere le metriche di affidabilità garantite fornite dalla piattaforma cloud e prendere in considerazione i limiti, le quote e i vincoli di capacità per i servizi.

I contratti di servizio variano in base al servizio. Non tutti i servizi e le funzionalità sono trattati equamente. Avere una buona conoscenza della copertura e dei limiti consente di rilevare la deriva e creare meccanismi di resilienza e ripristino.

Sfida di Contoso

  • Il team del carico di lavoro e gli stakeholder hanno stabilito che i dati per l'app devono avere un obiettivo di tempo di ripristino garantito (RTO) che non può superare i 30 secondi per supportare la criticità del flusso di invio e approvazione delle attestazioni.

Applicazione dell'approccio e dei risultati

  • Dopo aver esaminato i contratti di servizio pubblicati da Microsoft, il team rileva che dovrà distribuire il livello Business Critical con la replica geografica attiva per raggiungere questa destinazione RTO.

Determinare le dipendenze e il relativo effetto sulla resilienza

Quando si scompone il carico di lavoro nei componenti, assicurarsi di aver documentato tutte le dipendenze, sia interne che esterne all'azienda, e di identificare i malfunzionamenti con le dipendenze possono influire sui flussi

Tenere traccia dell'infrastruttura dipendente, dei servizi, delle API e delle funzioni sviluppate da altri team o terze parti consente di determinare se il carico di lavoro può operare in assenza di tali dipendenze. Consente inoltre di comprendere gli errori a catena e di migliorare le operazioni downstream. Gli sviluppatori possono implementare modelli di progettazione resilienti per gestire potenziali errori quando si usano servizi esterni che potrebbero essere soggetti a errori.

Sfida di Contoso

  • Il flusso di invio e approvazione dell'attestazione ha una dipendenza da un piccolo set di dati di riferimento ospitato e gestito da un reparto diverso all'interno di Contoso Insurance.
  • Il set di dati viene aggiornato più volte al giorno, durante le normali ore lavorative.
  • L'app è progettata per tollerare un certo decadimento nei dati di riferimento, ma i dati devono essere sempre disponibili per l'app.

Applicazione dell'approccio e dei risultati

  • Il team del carico di lavoro interagisce con il team che supporta il set di dati di riferimento e apprende che la destinazione di affidabilità per il set di dati è inferiore a quella del flusso che lo userà.
  • Il team aggiunge attività di progettazione al backlog per aggiungere una cache locale del set di dati e un processo in background per aggiornare la cache di notte. La tolleranza di decadimento consentita dalla progettazione non verrà violata da questa soluzione.

Verificare le conoscenze

1.

Quale dei seguenti non è un aspetto del carico di lavoro per cui definire gli obiettivi di affidabilità?

2.

Quando si scompone il carico di lavoro in componenti, quale degli aspetti seguenti è consigliabile considerare per la progettazione dell'affidabilità?

3.

Il team del carico di lavoro Di Contoso Insurance è interessato a conoscere il tempo di attività garantito per diversi SKU del servizio app Azure. Dove devono cercare queste informazioni?