Implementazione di microservizi su AWS - Implementazione di microservizi su AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Implementazione di microservizi su AWS

Data di pubblicazione: 31 luglio 2023 () Cronologia dei documenti

I microservizi offrono un approccio semplificato allo sviluppo del software che accelera l'implementazione, incoraggia l'innovazione, migliora la manutenibilità e aumenta la scalabilità. Questo metodo si basa su servizi di piccole dimensioni e scarsamente accoppiati che comunicano attraverso team ben definiti e gestiti da team autonomi. APIs L'adozione dei microservizi offre vantaggi, come una migliore scalabilità, resilienza, flessibilità e cicli di sviluppo più rapidi.

Questo white paper esplora tre modelli di microservizi popolari: API guidati, basati sugli eventi e streaming di dati. Forniamo una panoramica di ogni approccio, descriviamo le caratteristiche principali dei microservizi, affrontiamo le sfide del loro sviluppo e illustriamo come Amazon Web Services (AWS) può aiutare i team applicativi a superare questi ostacoli.

Considerando la natura complessa di argomenti come l'archiviazione dei dati, la comunicazione asincrona e l'individuazione dei servizi, ti consigliamo di valutare le esigenze e i casi d'uso specifici della tua applicazione oltre alle indicazioni fornite per prendere decisioni sull'architettura.

Introduzione

Le architetture di microservizi combinano concetti collaudati e di successo provenienti da vari campi, come:

  • Sviluppo agile del software

  • Architetture orientate ai servizi

  • API-primo design

  • ContinuoIntegration/Continuous Delivery (CI/CD)

Spesso i microservizi incorporano modelli di progettazione dell'app Twelve-Factor.

Sebbene i microservizi offrano molti vantaggi, è fondamentale valutare i requisiti unici del caso d'uso e i costi associati. L'architettura monolitica o gli approcci alternativi possono essere più appropriati in alcuni casi. La decisione tra microservizi o monoliti dovrebbe essere effettuata su case-by-case base mirata, considerando fattori quali la scala, la complessità e i casi d'uso specifici.

Per prima cosa esploriamo un'architettura di microservizi altamente scalabile e tollerante ai guasti (interfaccia utente, implementazione di microservizi, archivio dati) e dimostriamo come svilupparla utilizzando tecnologie container. AWS Suggeriamo quindi AWS servizi per implementare una tipica architettura di microservizi serverless, che riduca la complessità operativa.

Serverless è caratterizzato dai seguenti principi:

  • Nessuna infrastruttura da fornire o gestire

  • Scalabilità automatica per unità di consumo

  • Modello di fatturazione «Pay for value»

  • Disponibilità e tolleranza agli errori integrate

  • Architettura basata sugli eventi (EDA)

Infine, esaminiamo l'intero sistema e discutiamo gli aspetti trasversali di un'architettura di microservizi, come il monitoraggio distribuito, la registrazione, il tracciamento, il controllo, la coerenza dei dati e la comunicazione asincrona.

Questo documento si concentra sui carichi di lavoro in esecuzione, esclusi gli scenari ibridi e le strategie di migrazione. Cloud AWS Per informazioni sulle strategie di migrazione, consulta il white paper sulla metodologia di migrazione dei container.

Sei Well-Architected?

Il AWS Well-Architected Framework ti aiuta a comprendere i pro e i contro delle decisioni che prendi quando crei sistemi nel cloud. I sei pilastri del Framework consentono di apprendere le migliori pratiche architettoniche per progettare e gestire sistemi affidabili, sicuri, efficienti, convenienti e sostenibili. Utilizzando AWS Well-Architected Tool, disponibile gratuitamente in AWS Management Console, puoi esaminare i tuoi carichi di lavoro rispetto a queste best practice rispondendo a una serie di domande per ogni pilastro.

In Serverless Application Lens, ci concentriamo sulle migliori pratiche per l'architettura delle applicazioni serverless. AWS

Per ulteriori indicazioni e best practice da parte di esperti per la tua architettura cloud (implementazioni dell'architettura di riferimento, diagrammi e white paper), consulta l'Architecture Center.AWS

Modernizzazione ai microservizi

I microservizi sono essenzialmente piccole unità indipendenti che costituiscono un'applicazione. La transizione dalle strutture monolitiche tradizionali ai microservizi può seguire varie strategie.

Questa transizione influisce anche sul modo in cui opera l'organizzazione:

  • Incoraggia lo sviluppo agile, in cui i team lavorano in cicli rapidi.

  • I team sono in genere piccoli, a volte descritti come due squadre di pizzerie, abbastanza piccole da poter sfamare l'intero team con due pizze.

  • I team si assumono la piena responsabilità dei propri servizi, dalla creazione all'implementazione e alla manutenzione.