Progettare un'architettura di microservizi
I microservizi sono diventati uno stile architettonico popolare per la creazione di applicazioni cloud resilienti, altamente scalabili, distribuibili in modo indipendente e in grado di evolversi rapidamente. Per essere più di una semplice parola chiave, tuttavia, i microservizi richiedono un approccio diverso alla progettazione e alla creazione di applicazioni.
In questo set di articoli viene illustrato come creare un'architettura di microservizi in Azure. Gli argomenti includono:
- Opzioni di calcolo per i microservizi
- Comunicazione tra servizi
- progettazione dell'API
- Gateway API
- Considerazioni relative ai dati
- Schemi progettuali
Prerequisiti
Prima di leggere questi articoli, è possibile iniziare con quanto segue:
- Introduzione alle architetture di microservizi. Comprendere i vantaggi e le sfide dei microservizi e quando usare questo stile di architettura.
- Uso dell'analisi del dominio per modellare i microservizi. Informazioni su un approccio basato su dominio per la modellazione di microservizi.
Implementazione di riferimento
Per illustrare le procedure consigliate per un'architettura di microservizi, è stata creata un'implementazione di riferimento denominata applicazione di recapito tramite drone. Questa implementazione viene eseguita in Kubernetes usando il servizio Azure Kubernetes. È possibile trovare l'implementazione di riferimento in GitHub.
Scaricare un file di Visio di questa architettura.
Sceneggiatura
Fabrikam, Inc. sta avviando un servizio di consegna tramite drone. L'azienda gestisce una flotta di aerei da drone. Le aziende possono registrarsi per usare il servizio e gli utenti possono richiedere un drone per prelevare merci da consegnare. Quando un cliente pianifica un prelievo, un sistema back-end assegna un drone e invia all'utente una notifica con un tempo di recapito stimato. Mentre la consegna è in corso, il cliente può tenere traccia della posizione del drone, con un ETA aggiornato continuamente.
Questa soluzione è ideale per le industrie aerospaziali e aeree.
Questo scenario comporta un dominio piuttosto complesso. Alcuni dei problemi aziendali includono la pianificazione di droni, il rilevamento di pacchetti, la gestione degli account utente e l'archiviazione e l'analisi dei dati cronologici. Inoltre, Fabrikam vuole ottenere rapidamente il mercato e quindi eseguire rapidamente l'iterazione, aggiungendo nuove funzionalità e funzionalità. L'applicazione deve operare su scala cloud, con un obiettivo di livello di servizio elevato (SLO). Fabrikam prevede inoltre che diverse parti del sistema abbiano requisiti molto diversi per l'archiviazione dei dati e l'esecuzione di query. Tutte queste considerazioni portano Fabrikam a scegliere un'architettura di microservizi per l'applicazione di recapito tramite drone.
Nota
Per informazioni sulla scelta tra un'architettura di microservizi e altri stili di architettura, vedere la Guida all'architettura delle applicazioni di Azure.
L'implementazione di riferimento usa Kubernetes con il servizio Azure Kubernetes. Tuttavia, molte delle decisioni e delle sfide dell'architettura di alto livello si applicheranno a qualsiasi agente di orchestrazione dei contenitori.