In questo tutorial, distribuirai un'applicazione node.js monolitica su un container Docker, quindi disaccoppierai l'applicazione in microservizi senza tempi di inattività. L'applicazione node.js ospita una semplice scheda messaggi che contiene i thread e i messaggi scambiati tra gli utenti.
Le architetture monolitiche tradizionali sono difficili da dimensionare. Quando il codice di base di un'applicazione cresce, diventa complesso aggiornarlo e mantenerlo. L'introduzione di nuove caratteristiche, lingue, framework e tecnologie diventa molto difficile, limitando così l'innovazione e le nuove idee.
All'interno di un'architettura di microservizi, ogni componente dell'applicazione viene eseguito come un servizio e comunica con altri servizi mediante un'API ben definita. I microservizi sono realizzati sulla base delle funzioni aziendali e ogni servizio esegue una sola funzione. I microservizi possono essere scritti usando framework e linguaggi di programmazione diversi. Inoltre, possono essere distribuiti in modo indipendente come un singolo servizio o un gruppo di servizi.
Durante questo tutorial, ti mostreremo come eseguire una semplice applicazione monolitica in un container Docker, distribuire la stessa applicazione come microservizi e trasferire il traffico sui microservizi senza tempi di inattività. Al termine, potrai usare questo tutorial e il codice contenuto in esso come modello per creare e distribuire i tuoi microservizi containerizzati su AWS.


Architettura monolitica
L'intera applicazione node.js è eseguita in un container come un singolo servizio e ogni container ha le stesse caratteristiche di tutti gli altri container. Se una caratteristica dell'applicazione sperimenta un picco nella richiesta, è necessario dimensionare l'intera architettura.

Architettura di microservizi
Ogni caratteristica dell'applicazione node.js è eseguita come un servizio separato all'interno del suo container. I servizi possono essere dimensionati e aggiornati indipendentemente dagli altri.
Tempo richiesto per il completamento: 2 ore
Costo per il completamento: ogni servizio usato in questa architettura è idoneo per il Piano gratuito AWS. Se non rientri nei limiti di utilizzo del Piano gratuito, il completamento del tutorial ti costerà meno di $ 0,25*.
Tecnologie usate: per completare questo tutorial, userai:
- Account AWS attivo**
- Editor di testo: AWS consiglia Atom
- Browser: AWS consiglia Chrome
- Amazon EC2
- Amazon Elastic Container Service
- Amazon Elastic Container Registry
- Amazon VPC
- AWS CloudFormation
- Elastic Load Balancing
- Docker
- Github
- node.js
*Questa stima presuppone il rispetto delle configurazioni consigliate durante il tutorial e la terminazione di tutte le risorse entro 24 ore.
**Gli account che sono stati creati entro le ultime 24 ore potrebbero non avere ancora accesso a tutte le risorse richieste per il completamento di questo progetto.