Architettura dei microservizi: corso 46.900 rubli. da IBS Training Center, formazione 24 ore, Data 27 novembre 2023.
Miscellanea / / November 27, 2023
L'architettura dei microservizi (MSA) ha guadagnato relativamente recentemente la fama come l'approccio architettonico più popolare. Il suo utilizzo offre numerosi vantaggi nelle varie fasi del ciclo di vita del prodotto. In particolare, MCA consente tempi di risposta più rapidi ai requisiti aziendali, il che spesso lo rende superiore ad altri stili architettonici.
Tuttavia, nel processo di sviluppo dei sistemi MCA, l'architetto deve affrontare molte sfide, molte delle quali costringono i principianti a tornare indietro.
Gli errori di scomposizione possono portare a un grave aumento della complessità dello sviluppo. Le prestazioni soffrono a causa della latenza di rete insormontabile. L'archiviazione distribuita dei dati non consente la coerenza transazionale. Un gran numero di componenti che interagiscono sulla rete riduce l'affidabilità. Difficile garantire la sicurezza. Inoltre, il test e la manutenzione di un sistema distribuito richiedono una discussione separata.
Questo corso mostrerà i vantaggi e gli svantaggi dell'utilizzo di MCA. Ti aiuterà a prendere una decisione informata sull'applicabilità dell'ISA in base alle esigenze dell'azienda e alle capacità del team. Il corso esamina le principali problematiche legate all'implementazione di un'architettura a microservizi. Strategie, meccanismi, modelli che risolvono i problemi sopra indicati. Per ogni problema trattato verranno presentati gli strumenti più comuni (come Kubernetes, Istio, Histryx, Kibana e molti altri).
Esercitazioni pratiche ti permetteranno di acquisire l'abilità di progettazione indipendente di sistemi MCA.
Argomenti trattati:
1. Stili architettonici (2 ore)
Concetti di monolite, SOA, MSA.
Confronto e motivazione della scelta.
2. Schemi di decomposizione MSA (2 ore)
Dimensioni ottimali del microservizio;
Ripartizione dei servizi per opportunità di business;
Ripartizione dei servizi per aree problematiche;
Pratiche per la definizione delle aree tematiche;
Scomposizione secondo aspetti tecnici e organizzativi.
3. Organizzazione dello sviluppo per MSA (1 ora)
Organizzazione di squadre sotto MSA;
Organizzazione di un repository di codice sotto MSA.
4. Integrazione dei microservizi (3 ore)
Modelli di interazione;
Meccanismi di interazione sincrona e asincrona;
Orchestrazione e coreografia;
Protocolli e tecnologie di base (REST, gRPC, GraphQL, Kafka, RabbitMQ, ecc.);
Interazione con sistemi esterni (API Gateway, BFF);
Sistemi reattivi;
Architetture guidate dagli eventi;
Separazione tra comando e richiesta.
5. Organizzazione del lavoro con i dati in MSA (3 ore)
Modelli di lavoro con i dati;
Generazione di eventi;
Dati di riferimento in MSA;
Unica fonte di verità (Source of Truth) in MSA.
6. Modelli ISA di base (9 ore)
Modificabilità.
Risolvere il problema dell'elevata connettività. Versionamento di interfacce ed eventi. Tipologie di contratti. Cambiamenti nel modello di eventi. Modelli per organizzare le richieste. Telaio per microservizi. Maglia di servizio.
Scalabilità.
Modelli per la costruzione di bilanciatori. Servizi di rilevamento e modelli per lavorare con essi.
Prestazione.
Modelli di prestazioni in MSA (overkill, grazioso degrado, ecc.).
Consistenza.
Problemi di coerenza in MSA. Teorema del CAP. Soluzioni a problemi di coerenza. Commit a due fasi. Modello SAGA. Livello di consistenza ridotto.
Affidabilità.
Meccanismi di tolleranza agli errori. Schemi di interruttori automatici, limitazioni, timeout dipendenti, ecc.
Sicurezza.
Meccanismi di sicurezza nella MSA. Autenticazione. Autorizzazione. Protezione perimetrale. Protezione dei canali di comunicazione. Protocolli e modelli di base (OAUTH2, JWT, gatekeeper, valet key, ecc.).
Testabilità.
Test piramidale e quadrato. Funzionalità di test dei microservizi.
Test unitari. Test d'integrazione. Test dei componenti. Test E2E. Modelli di test MSA.
Facilità di manutenzione.
Osservabilità. Modelli di monitoraggio (tracciamento distribuito, aggregazione dei log). Monitoraggio e registrazione. Configurazione dei microservizi. Esternalizzare la configurazione. Supporto del sistema.
7. Distribuzione di microservizi (2 ore)
Modello di “pipeline di distribuzione”;
Modelli di distribuzione;
Utilizzo delle tecnologie Docker e Kubernetes;
Utilizzando la griglia ISTIO;
Distribuzione senza server;
Strategie di distribuzione (blu-verde, canarino, ecc.).
8. Strategie di migrazione dal monolite all'MSA (2 ore)
Strategie per la migrazione dal monolite ai microservizi;
Monolite strangolatore;
Modelli di strangolamento;
Comunicazione tra un microservizio e un monolite;
Migrazione della banca dati.