Abilitazione della persistenza dei dati nei microservizi - AWS Guida prescrittiva

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à.

Abilitazione della persistenza dei dati nei microservizi

Tabby Ward e Balaji Mohan, Amazon Web Services () AWS

Dicembre 2023 (cronologia dei documenti)

Organizations è costantemente alla ricerca di nuovi processi per creare opportunità di crescita e ridurre il time-to-market. È possibile aumentare l'agilità e l'efficienza dell'organizzazione modernizzando applicazioni, software e sistemi IT. La modernizzazione consente inoltre di fornire servizi migliori e più rapidi ai clienti.

La modernizzazione delle applicazioni è una porta verso il miglioramento continuo per l'organizzazione e inizia con il refactoring di un'applicazione monolitica in un set di microservizi sviluppati, distribuiti e gestiti in modo indipendente. Questo processo prevede i seguenti passaggi:

Sebbene sia possibile utilizzare un'architettura applicativa monolitica per alcuni casi d'uso, le funzionalità delle applicazioni moderne spesso non funzionano in un'architettura monolitica. Ad esempio, l'intera applicazione non può rimanere disponibile mentre si aggiornano i singoli componenti e non è possibile scalare i singoli componenti per risolvere i colli di bottiglia o gli hotspot (aree relativamente dense nei dati dell'applicazione). I monoliti possono diventare applicazioni di grandi dimensioni e ingestibili e sono necessari sforzi e coordinamento significativi tra più team per apportare piccole modifiche.

Le applicazioni legacy utilizzano in genere un database monolitico centralizzato, il che rende difficili le modifiche allo schema, crea un vincolo tecnologico con la scalabilità verticale come unico modo per rispondere alla crescita e impone un unico punto di errore. Un database monolitico impedisce inoltre di creare i componenti decentralizzati e indipendenti necessari per l'implementazione di un'architettura di microservizi.

In precedenza, un approccio architettonico tipico consisteva nel modellare tutti i requisiti degli utenti in un unico database relazionale utilizzato dall'applicazione monolitica. Questo approccio era supportato dalla più diffusa architettura di database relazionali e gli architetti delle applicazioni in genere progettavano lo schema relazionale nelle prime fasi del processo di sviluppo, creavano uno schema altamente normalizzato e quindi lo inviavano al team di sviluppatori. Tuttavia, ciò significava che il database guidava il modello di dati per il caso d'uso dell'applicazione, anziché il contrario.

Scegliendo di decentralizzare gli archivi di dati, si promuove la persistenza poliglotta tra i microservizi e si identifica la tecnologia di storage dei dati in base ai modelli di accesso ai dati e ad altri requisiti dei microservizi. Ogni microservizio dispone di un proprio archivio dati e può essere scalato in modo indipendente con modifiche allo schema a basso impatto, e i dati vengono controllati tramite l'API del microservizio. Scomporre un database monolitico non è facile e una delle maggiori sfide è strutturare i dati per ottenere le migliori prestazioni possibili. La persistenza decentralizzata dei poliglotti comporta in genere anche l'eventuale coerenza dei dati e altre potenziali sfide che richiedono una valutazione approfondita includono la sincronizzazione dei dati durante le transazioni, l'integrità delle transazioni, la duplicazione dei dati, i join e la latenza.

Questa guida è destinata ai proprietari di applicazioni, agli imprenditori, agli architetti, ai responsabili tecnici e ai project manager. La guida fornisce i seguenti sei modelli per abilitare la persistenza dei dati tra i microservizi:

La guida fa parte di una serie di contenuti che descrive l'approccio di modernizzazione delle applicazioni consigliato da. AWS La serie include anche:

Obiettivi aziendali specifici

Molte organizzazioni ritengono che l'innovazione e il miglioramento dell'esperienza utente siano influenzati negativamente da applicazioni, database e tecnologie monolitici. Le applicazioni e i database legacy riducono le opzioni di adozione di framework tecnologici moderni e limitano la competitività e l'innovazione. Tuttavia, quando si modernizzano le applicazioni e i relativi archivi di dati, questi diventano più facili da scalare e più veloci da sviluppare. Una strategia di dati disaccoppiata migliora la tolleranza agli errori e la resilienza, il che aiuta ad accelerare il time-to-market delle nuove funzionalità applicative.

Dovresti aspettarti i seguenti sei risultati dalla promozione della persistenza dei dati tra i tuoi microservizi:

  • Rimuovi i database monolitici legacy dal tuo portafoglio di applicazioni.

  • Migliora la tolleranza agli errori, la resilienza e la disponibilità delle tue applicazioni.

  • Riduci i tempi di commercializzazione delle nuove funzionalità delle applicazioni.

  • Riducete le spese complessive di licenza e i costi operativi.

  • Sfrutta le soluzioni open source (ad esempio, MySQL o PostgreSQL).

  • Crea applicazioni altamente scalabili e distribuite scegliendo tra più di 15 motori di database appositamente progettati sul cloud. AWS