Implementazione di microservizi in AWS
Data di pubblicazione: 9 novembre 2021 (Cronologia del documento e collaboratori)
Riassunto
I microservizi sono un approccio architettonico e organizzativo allo sviluppo del software per accelerare i cicli di implementazione, favorire l'innovazione e la proprietà, migliorare la manutenibilità e la scalabilità delle applicazioni software e dimensionare le organizzazioni che forniscono software e servizi utilizzando un approccio agile che aiuta i team a lavorare in modo indipendente. Con un approccio a microservizi, il software è composto di servizi di dimensioni ridotte, che comunicano tra loro tramite interfaccia del programma dell'applicazione (API) definite in modo preciso che possono essere implementate in modo indipendente. Questi servizi sono controllati da piccoli team autonomi. L’agilità di questo approccio è la chiave per ridimensionare con successo la tua organizzazione.
Si osservano tre modelli comuni quando i clienti AWS creano microservizi: basato sulle API, basato sugli eventi e flussi di dati. Questo whitepaper presenta i tre approcci e sintetizza le caratteristiche comuni dei microservizi, illustrando le principali problematiche relative alla loro creazione e mostrando in che modo i team di prodotto possono avvalersi di Amazon Web Services (AWS) per superare queste sfide.
A causa della natura piuttosto complessa di vari argomenti discussi in questo whitepaper, tra cui l'archiviazione dei dati, la comunicazione asincrona e l'individuazione dei servizi, prima di effettuare scelte di architettura si consiglia di valutare requisiti specifici e casi d'uso delle loro applicazioni.
Introduzione
Le architetture di microservizi non sono un approccio completamente nuovo al settore dell'ingegneria del software, quanto piuttosto rappresentano una combinazione di vari concetti di successo nonché comprovati come:
-
Sviluppo di software agile
-
Architetture orientate ai servizi
-
Progettazione di API di primo livello
-
Integrazione e distribuzione continua (CI/CD)
In molti casi, per i microservizi sono utilizzati anche i modelli di progettazione proposti da Twelve-Factor App
Questo whitepaper descrive, per prima cosa, i diversi aspetti di un'architettura di microservizi altamente scalabile e con tolleranza agli errori (interfaccia utente, implementazione di microservizi e datastore) e come crearla in AWS avvalendosi della tecnologia dei container. Quindi suggerisce i servizi AWS necessari per implementare un'architettura di microservizi serverless generica in modo da ridurre la complessità operativa.
Un modello operativo serverless è definito dai seguenti principi:
-
Nessuna infrastruttura da fornire o gestire
-
Ridimensionamento automatico per unità di consumo
-
Modello di fatturazione Pay for value
-
Disponibilità e tolleranza ai guasti integrate
Infine, questo whitepaper offre uno sguardo al sistema in generale e discute gli aspetti relativi a molteplici servizi di un'architettura di microservizi, come monitoraggio e auditing distribuiti, consistenza dei dati e comunicazione asincrona.
Questo whitepaper si concentra solo sui carichi di lavoro in esecuzione su AWS Cloud. Non copre scenari ibridi o strategie di migrazione. Per ulteriori informazioni sulla migrazione, fare riferimento al whitepaper Metodologia di migrazione dei container