Creare Cloud Ready App con Spring Cloud, Docker e Kubernetes
Impariamo a progettare e creare ecosistemi di microservizi con Spring Boot 2, Spring Cloud, Docker e Kubernetes
Description
Benvenuti nel corso 'Creare Cloud Ready Apps con Spring Cloud, Docker e Kubernetes'.
Seguendo questo corso avrete la possibilità di padroneggiare le tecniche di pianificazione, sviluppo, gestione e deploy delle applicazioni cloud ready e l'architettura di sviluppo basata sui micro servizi (microservices).
Le principali tecnologie che impareremo ad usare saranno;
Spring Boot 2
Spring Cloud
Docker
Kubernetes
Il corso si compone di diverse sezioni didattiche, con numerose lezioni teoriche e pratiche che, nel loro insieme, possono essere distinte in:
PRIMA SEZIONE DIDATTICA - Architettura a micro servizi, pianificazione e sviluppo con Spring Boot 2
ci concentreremo sul capire che cosa sono i micro servizi, quali sono i loro vantaggi e le sfide che dovremo affrontare
pianificheremo gli elementi del nostro ecosistema di micro servizi, specificando il dominio a livello funzionale e di DBMS
svilupperemo i nostri micro servizi seguendo il procedimento denominato Test Driven Development
creeremo gli elementi portanti del nostro servizio (strato di persistenza, servizio e controller) analizzando ed eseguendo gli unit test che sono stati creati in fase di progettazione
impareremo a gestire le eccezioni, a creare un sistema di validazione e internazionalizzazione dei messaggi di ritorno
documenteremo le API del nostro servizio con l'uso dello Swagger e delle relative notazioni
impareremo a creare una configurazione multi profilo e ad utilizzare i valori presenti nel file delle proprietà
impareremo a migliorare la velocità dei nostri servizi con l'uso e la configurazione della Cache
impareremo a proteggere i nostri servizi con la Basic Authentication impiegando lo Spring Security
creeremo e configureremo una immagine Docker del MongoDb
creeremo un servizio di gestione degli utenti impiegandolo come base di autenticazione di tutti i nostri servizi
impareremo come utilizzare l'OAuth2 per proteggere più efficacemente i nostri micro servizi
impareremo ad utilizzare alcuni elementi di configurazione avanzati (SSL, Log, Web Server)
impareremo a conoscere, configurare ad usare l'Actuator di Spring Boot 2
SECONDA SEZIONE DIDATTICA - Gestione dell'ecosistema di micro servizi con Spring Cloud
inizieremo con una introduzione alle Cloud Ready App e allo Spring Cloud
impareremo ad utilizzare lo Spring Cloud Config per avere un sistema centrale di gestione delle configurazioni
impareremo ad usare repository GIT locali e remote utilizzando il GITHUB
impareremo come gestire i diversi profili di configurazione
impareremo a proteggere lo Spring Cloud Config con Spring Security
creeremo e attiveremo un contenitore RabbitMQ in Docker
utilizzeremo lo Spring Cloud Bus e il RabbitMQ per aggiornare massivamente le diverse istanze operative dei servizi
capiremo quali tipi di interazione possono esistere fra i micro servizi (sincrone, asincrone)
impareremo ad utilizzare Open Feign e il Rest Template per far interagire due o più servizi in modalità sincrona
impareremo a bilanciare il carico di lavoro fra diverse istanze dei servizi con l'uso del Ribbon
impareremo a creare, configurare e attivare il Discovery Server Eureka
impareremo a proteggere l'Eureka con lo Spring Security
impareremo a creare complesse configurazioni a zone dell'Eureka
impareremo a creare, configurare l'API Gateway ZUUL
impareremo come trasformare lo ZUUL in un sistema centrale di autenticazione impiegando il Json Web Token (JWT)
modificheremo il sistema di autenticazione e autorizzazione dei nostri servizi
impareremo come garantire la resilienza del nostro ecosistema con l'uso dell'Histrix
impareremo monitorare i micro servizi con lo Spring Cloud Sleuth e Zipkin
TERZA SEZIONE DIDATTICA - Il Docker e le procedure di creazione e gestione delle immagini dei micro servizi
Impareremo a capire cosa è il Docker e come può aiutarci nella fase di deploy del nostro ecosistema
Capiremo quali sono gli elementi portanti del Docker (Immagini, strati, contenitori, Docker Hub.)
Impareremo a creare, gestire e configurare le immagini creando i contenitori
Impareremo come creare e configurare le interfacce di rete (network)
Impareremo come creare e configurare le porte
Impareremo come creare e configurare i volumi
Impareremo come analizzare e modificare i contenitori
Impareremo come creare i Docker file utilizzando il Visual Studio Code
Impareremo come creare l'immagine dei nostri progetti Spring Boot usando il Docker file
Impareremo come creare l'immagine dei nostri progetti Spring Boot usando il plug in del Maven
Eseguiremo il push delle nostri immagini nel Docker Hub
Impareremo ad installare e configurare il Docker in Windows
Impareremo ad utilizzare il Docker Compose per gestire la creazione e l'attivazione di un ecosistema di contenitori
Impareremo come attivare il nostro ecosistema in diversi OS e piattaforme
QUARTA SEZIONE DIDATTICA - Introduzione al Kubernetes e deploy sul Google Cloud Platform
Capiremo cosa è il Kubernetes e perché sia cosi utile per gestire il nostro ecosistema di contenitori Docker
Impareremo a installare e configurare i software di gestione del Kubernetes su piattaforma Google Cloud
Impareremo a configurare e creare i POD
Impareremo a configurare e creare i ReplicationController
Impareremo a configurare e creare i ReplicaSet
Impareremo a configurare e creare i Services
Impareremo a configurare e creare gli Ingress
Impareremo a configurare e creare i Volumes
Impareremo a creare un POD con DBMS MySQL
Impareremo a creare i StorageClass
Impareremo ad utilizzare i ConfigMap
What You Will Learn!
- Pianificazione e creazione di micro servizi con Spring Boot 2
- Implementare la gestione delle eccezione, la validazione e l'internazionalizzazione del web api
- Imparare il Test Driven Development (TDD) e creare app partendo degli unit test
- La gestione della cache e la documentazione con Swagger nei progetti spring boot
- Proteggere i servizi con Spring Security e/o Oauth2
- Imparare ad usare l'Actuator di Spring Boot
- Creare e configurare un Spring Cloud Config
- Impiegare lo Spring Cloud Bus con Rabbit MQ
- Gestire l'interazione fra servizi con Open Feign e Rest Template
- Attivare e configurare il Load Balancer Ribbon
- Attivare e configurare il Discovery Server Eureka
- Attivare e configurare l'API Gateway Zuul
- Implementare il sistema di sicurezza JWT con ZUUL
- Garantire la resilienza con Histrix
Who Should Attend!
- Analisti Sviluppatori di software
- Studenti di Informatica
- Chiunque voglia imparare a sviluppare micro servizi cloud ready