Struttura del corso
Introduzione
- Architettura di sistema e di servizio, PaaS e design cloud-native
Panoramica dell'architettura di sistema monolitico
- Esecuzione di tutte le funzionalità di un'applicazione monolitica in un singolo processo
- Scalabilità tramite replicazione su più server
- Protocolli utilizzati nei sistemi monolitici: EAI, CORBA, ecc.
Panoramica dei Web Services
- Architettura Orientata ai Servizi (SOA) e Architettura a Microservizi
Architettura Orientata ai Servizi (SOA)
- Vantaggi e costi della SOA
- Successi e fallimenti nell'implementazione della SOA
- Messaggistica e ESB
- Infrastruttura e strumenti a supporto della SOA
Come i microservizi implementano i concetti dei Web Services
- Fare una sola cosa e farla bene
- DevOps
- Deployment e Delivery continui (Integrazione continua, processo di build continuo, ecc.)
- Protocolli leggeri
Protocolli e standard dei microservizi
- HTTP, JMS, AMQP, Websockets, JSON, ecc.
Framework di sviluppo per la creazione di microservizi
- Framework basati su Java (Spring Cloud)
- Framework basati su JavaScript (Seneca)
Decomposizione di un'applicazione monolitica
- Sviluppo di applicazioni indipendentemente distribuibili
- Organizzazione delle applicazioni a microservizi in base alle capacità aziendali
- Studio di caso: Migrazione di un'applicazione monolitica a tre microservizi core
Configurazione di un ambiente di sviluppo Spring Cloud
- Configurazione di Docker e Docker Compose
- Impostazione delle variabili d'ambiente
Panoramica di Spring Cloud e Spring Boot
- Sottoprogetti di Spring Cloud: Config Server & Bus, Eureka, Ribbon, Feign e Hystrix
- Spring Boot
Creazione di un'applicazione Spring Boot
Gestione centralizzata e versionata della configurazione con Spring Cloud Config
Aggiornamenti dinamici della configurazione con Spring Cloud Bus
Service discovery con Eureka
Bilanciamento del carico con Ribbon
Applicazione dei circuit breaker con Hystrix
Client REST dichiarativi con Feign
Lavoro con API Gateway
Sicurezza di un'applicazione a microservizi
Tracciamento dei microservizi per individuare le latenze
Distribuzione dei microservizi
- Container (Docker, K8N, LXC, ecc.)
- Gestione della configurazione (Ansible, ecc.)
- Service discovery
- Monitoraggio e gestione dei microservizi
- Infrastruttura per microservizi
Cloud e scalabilità automatica dei microservizi
- Redundanza e failover dei microservizi
- Scalabilità delle prestazioni per i microservizi
- Scalabilità automatica
- Implementazione dei microservizi su OpenStack, AWS e altre piattaforme cloud
Risoluzione dei problemi comuni nelle applicazioni distribuite
- Complessità dell'ecosistema
- Prestazioni di rete
- Sicurezza
- Distribuzione
- Testing
- Nano-servizi
Considerazioni finali per la costruzione di sistemi pronti per la produzione
- Rendere il sistema accessibile ai principianti
- Rendere il sistema completo, in modo che possa servire da fondamento per applicazioni enterprise
RIepilogo e conclusioni
Requisiti
- Conoscenza dell'ingegneria del software e dei sistemi
- Esperienza nello sviluppo Java
- Esperienza con il framework Spring
Destinatari
- Sviluppatori Java che desiderano costruire e distribuire rapidamente microservizi
- Architetti di sistema che intendono implementare un'architettura a microservizi
Recensioni (3)
Esercitati con gli esercizi in EA.
Pawel - Krajowa Szkola Skarbowosci
Corso - UML in Enterprise Architect (workshops)
Traduzione automatica
Le pratiche
Ivan - si
Corso - Spring Cloud for Microservices
Traduzione automatica
Buon formatore e processo di formazione
Mateusz Mical - Research and Development Center Bury Sp. z o .o.
Corso - Systems Modeling with SysML and Enterprise Architect (EA)
Traduzione automatica