Programmazione
Corso Java Enterprise con Spring Microservices e Cloud
Progetta e sviluppa microservizi con Spring Boot. Lavori su infrastruttura, caching, resilienza e osservabilità, fino a container, pipeline e distribuzione in cloud, partendo dall’esperienza con Java.
Cosa imparerai
- Progettare architetture a microservizi
- Sviluppare microservizi con Spring Boot
- Gestire gateway, registry e configurazioni
- Integrare Redis e caching
- Applicare resilienza e osservabilità
- Usare Docker e pipeline CI/CD per il deployment
Programma
7 sezioni · 40 ore complessive
01 Architetture a Microservizi
Fondamenti e Pattern (6 ore): Architetture monolitiche vs architetture a microservizi: vantaggi, svantaggi e trade-off
Principi di progettazione: Single Responsibility, Bounded Context, Loose Coupling
Pattern fondamentali: Database per Service, API Gateway, Service Registry
Comunicazione tra microservizi: sincrona (REST) vs asincrona (messaging)
Event-Driven Architecture e pattern Saga per la consistenza distribuita
Decomposizione di un monolite: strategie e criteri di suddivisione
Esercitazione: analisi e progettazione di un’architettura a microservizi a partire da un caso reale
02 Sviluppo di un Microservizio
Best Practice (8 ore): Struttura di un microservizio Spring Boot: architettura multi-layer (Controller, Service, Repository)
DTO pattern, validazione e gestione centralizzata degli errori
Configurazione e gestione dei profili applicativi
Test unitari con JUnit 5 e Mockito
Test di integrazione con @SpringBootTest e Testcontainers
Test end-to-end delle API REST
Documentazione delle API con OpenAPI, Swagger e Swagger UI
Strategie di versionamento delle API
Esercitazione: sviluppo completo di un microservizio con test e documentazione
03 Infrastruttura
Gateway, Registry e Configurazioni (6 ore): Service Discovery: concetti e necessità in un’architettura distribuita
Spring Cloud Netflix Eureka: configurazione di server e client
API Gateway con Spring Cloud Gateway: routing, filtri e load balancing
Configurazione centralizzata con Spring Cloud Config Server
Gestione dei segreti e delle configurazioni per ambiente
Health check e service mesh: concetti introduttivi
Esercitazione: setup di un’infrastruttura completa con Gateway, Registry e Config Server
04 Redis e Caching nelle Architetture Distribuite (3 ore)
Introduzione a Redis: strutture dati, casi d’uso e architettura
Integrazione di Redis con Spring Boot (Spring Data Redis)
Caching con @Cacheable, @CacheEvict, @CachePut
Session management distribuito con Redis
Redis come message broker: Pub/Sub e code
Esercitazione: implementazione di caching e session sharing tra microservizi
05 Pattern Avanzati
Resilienza e Osservabilità (6 ore): Circuit Breaker con Resilience4j: stati, configurazione e fallback
Rate Limiting: protezione delle API con Resilience4j e Gateway filters
Retry pattern e bulkhead: strategie di resilienza complementari
Distributed Tracing con Micrometer Tracing e Zipkin
Correlation ID: propagazione del contesto tra microservizi
Monitoring con Spring Boot Actuator, Prometheus e Grafana
Logging centralizzato: strategie e strumenti (ELK stack, Loki)
Esercitazione: implementazione di Circuit Breaker, tracing e dashboard di monitoring
06 Containerizzazione e Orchestrazione (5 ore)
Introduzione a Docker: immagini, container, Dockerfile
Containerizzazione di un microservizio Spring Boot
Docker Compose: orchestrazione locale di più microservizi
Introduzione a Kubernetes: Pod, Deployment, Service, Ingress
Deploy di microservizi su un cluster Kubernetes
ConfigMap e Secret: gestione delle configurazioni in K8s
Scaling e self-healing: ReplicaSet e liveness/readiness probe
Esercitazione: deploy di un’architettura a microservizi con Docker Compose e Kubernetes
07 Git, CI/CD e Deployment in Cloud (6 ore)
Git e GitHub: branching strategy, pull request e code review
GitFlow e trunk-based development: confronto e best practice
Continuous Integration: concetti e vantaggi
GitHub Actions: workflow, job, step e trigger
Pipeline CI: build, test, analisi statica e creazione immagini Docker
Continuous Delivery e Continuous Deployment: differenze e strategie
Deployment in cloud su Amazon AWS: panoramica dei servizi (ECR, ECS, EKS)
Cenni di Infrastructure as Code e ambienti cloud-native
Esercitazione finale: pipeline CI/CD completa con deploy automatizzato
A chi è rivolto
- Profilo ideale
-
Sviluppatori Java che vogliono imparare a progettare architetture a microservizi e a distribuirle in cloud.
- Livello orientativo
-
Avanzato
Come funziona
Lezioni individuali
Un docente dedicato ti segue nelle attività previste dal programma.
Percorso personalizzato
Esempi, esercitazioni e ritmo tengono conto del tuo livello e dei tuoi obiettivi.
Orari concordati
Organizziamo gli appuntamenti con la segreteria, prima dell’inizio del corso.
In aula o online
Le lezioni sono individuali, in aula a Napoli oppure online in diretta. Modalità e orari si concordano con la segreteria.
My Formazione
Il tuo corso, anche fuori dalla lezione.
Nell’area riservata trovi i tuoi corsi, le lezioni svolte, le presenze, i materiali e gli attestati.
Per i corsisti già registrati
Il metodo Formazione Srl
Una lezione costruita su di te
Il programma è la base del percorso. Il docente adatta esempi, esercitazioni e ritmo al tuo punto di partenza e alle attività che vuoi approfondire.
Informazioni pratiche
- Durata
-
40 ore
- Modalità
-
In aula o online
- Prezzo
-
€ 2.440,00 IVA inclusa
- Sede
-
Napoli
- Livello orientativo
-
Avanzato
Domande frequenti
Che cosa distingue questo corso dal percorso sulle API REST?
Il focus è sull’architettura a microservizi: infrastruttura distribuita, caching, resilienza, containerizzazione e deployment, oltre allo sviluppo con Spring Boot.
Si affrontano container e distribuzione in cloud?
Sì. Sono previsti Docker, containerizzazione, Git, pipeline CI/CD e deployment in cloud, insieme alla gestione dell’infrastruttura.
Come si organizzano le lezioni?
Le lezioni sono individuali, in aula a Napoli oppure online in diretta. Modalità e orari si concordano con la segreteria.
Personalizzazione e flessibilità
I corsi individuali offrono maggiore flessibilità. Puoi concordare:
- La data di inizio del corso.
- Il numero di lezioni settimanali e gli orari.
- Un pacchetto con monte ore a scalare, che consente di recuperare sempre le lezioni in caso di assenza.
- Un percorso didattico su misura, adattato alle tue esigenze personali e/o professionali.
Richiedi informazioni
Hai domande su questo corso?
Indica i tuoi recapiti, cosa vuoi imparare e la tua esperienza con lo strumento. La segreteria ti fornirà informazioni sul corso e sulla sua organizzazione.
Il corso che ti interessa
Java Enterprise – Microservizi e Cloud
40 ore · In aula o online
Java Enterprise – Microservizi e Cloud40 ore · avanzato