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

3.85 (191 reviews)
Udemy
platform
Italiano
language
Software Engineering
category
instructor
Creare Cloud Ready App con Spring Cloud, Docker e Kubernetes
1,006
students
24 hours
content
Dec 2023
last update
$19.99
regular price

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

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








Content

Introduzione al corso e ai tool di sviluppo utilizzabili

Presentazione del corso
Piano di Studi
Introduzione al Visual Studio Code
Importazione Database MySql

Introduzione ai microservizi e alle cloud ready app

Introduzione ai Microservizi - Parte 1
Introduzione ai Microservizi - Parte 2
Introduzione ai Microservizi - Parte 3

Unit Test e Sviluppo del micro servizio Articoli Web Service

Gli Obiettivi del nostro Progetto
Introduzione al Test Driven Development (TDD)
Analisi degli unit test e pianificazione dello sviluppo
Il dominio del micro servizio nella fonte dati
Creazione delle classi Entity
Creazione dello Strato di Persistenza Parte 1
Creazione dello Strato di Persistenza Parte 2
Verifichiamo lo strato di Persistenza usando gli Unit Test Repository
Creazione dello Strato di Servizio
Analisi degli Unit Test Controller di Selezione Articoli
Creazione metodo selezione articoli e verifica Unit Test
La Gestione delle Eccezioni in Spring Boot
Completamento dei metodi di Selezione in articoli controller e relativi test
Analisi degli unit test di modifica articoli
La validazione e l'internazionalizzazione in Spring Boot
Completamento dell'Articoli Controller e verifica degli Unit Test
Test Manuale con l'uso del Postman
Documentare le app Spring Boot con Swagger

Unit Test e Creazione PriceArt Web Service

Introduzione al servizio PriceArt Web Service
Analisi degli Unit Test multi profilo del PriceArt Web Service
Realizzazione del micro servizio con configurazioni e variabili multiple
Verifica Unit Test PriceArt Web Service

Unit test e creazione PromoArt Web Service

Introduzione al Promo Web Service
Analisi Promo Web Service
Analisi Dominio Fonte Dati
Analisi Entity Promo Web Service
Creazione Controller Promo Web Service
Analisi ed Esecuzione Unit test
SFIDA - Creazione Servizio Clienti Web Service

Gestione della Cache nelle App Spring Boot

Gestione della Cache nei servizi Spring Boot
Test operativo della Cache in Articoli Web Service
La Cache nel servizio PriceArt Web Service
La Cache nel servizio PromoArt Web Service

La sicurezza di base dei micro servizi con Spring Security

Introduzione alla sicurezza nei micro servizi
Sicurezza Articoli Web Service
Attivazione Immagine Docker MongoDb
Creazione Contenitore Docker
Modifica Settaggi MongoDB nell'immagine Docker
Creazione micro servizio Gestione Utenti - Parte 1
Verifica Unit Test Gestione Utenti
Protezione con Autenticazione di Base e Verifica Funzionamento
Build Progetto GestUser
Protezione del Servizio Articoli Web Service
Avvio Contenitore MongoDb
Build ed Avvio Servizio GestArt
Inserimento dati di autenticazione MongoDb
Autenticazione servizio Articoli Web Service
Autenticazione PriceArt e Promo Web Service

La sicurezza dei micro servizi con OAUTH2

Creazione dell'Auth Server Oauth2 Parte 1
Creazione dell'Auth Server Oauth2 parte 2
Autenticazione dell'Articoli Web Service con Oauth2
Test Operativo Oauth2

Configurazioni avanzate delle App Spring Boot

Analisi File di Configurazione
Attivare il protocollo SSL
Settare e Attivare i log dei servizi
Modificare il pom.xml per variare il web server integrato

L'Actuator delle App Spring Boot

Introduzione all'Actuator
Analisi Endpoint Actuator Info

La configurazione centralizzata con Spring Config Server

Introduzione alle Cloud Ready App e allo Spring Cloud
Implementazione dello Spring Cloud Config
Creazione repository GIT Locale
Test Spring Cloud Config
Attivare Spring Cloud Config client in Price Art Service
Avviare e Testare PriceArtService con Cloud Client Config
Attivare il profilo GitHub del Spring Cloud Service
Testare Il Config Server Basato su Github
Variare la configurazione con il branch del git
Proteggere il Config Server Con Spring Security
Modificare la configurazione dello Spring Cloud Config Client

Modificare le configurazioni con Spring Cloud Bus e RabbitMQ

Introduzione allo Spring Cloud Bus
Modificare la configurazione di una singola istanza del servizio
Installazione e attivazione RabbitMq in Docker
Utilizziamo lo Spring Cloud Bus nel Servizio Price Art Service
Sfida 1 - Mettiamo alla prova le Conoscenze Acquisite

L'interazione fra i micro servizi (Open Feign e Rest Template)

Introduzione alla interazione fra Microservizi
Introduzione al Rest Template e all'Open Feign
Inizializzazione dell'Rest Template in Articoli Web Service
Modifica Configurazione Articoli Web Service
Test Operativo di interazione fra Microservizi
Inizializzazione dell'Open Feign in Articoli Web Service
Sfida 2 - Utilizziamo L'open feign

Il Load Balancer Ribbon

Introduzione al Load balancer Ribbon
Implementazione del Ribbon in Articoli Web Service
Test Operativo del Ribbon

Discovery Service Eureka

Introduzione al Discovery Service Eureka
Creazione dell'Eureka Server
Implementare il Discovery Client nell'Articoli Web Service
Implementare il Discovery Client nel PriceArt Web Service
Test Operativo Nuova Infrastruttura Eureka
Protezione dell'Eureka Server
Altre Utili Configurazioni di Eureka
Test Operativo Eureka Protetto

L'API Gateway Zuul

Introduzione all'API Gateway Zuul
Creare un Eureka Server multi profilo
Test Operativo di Eureka Multi Profilo
Modifica Configurazione PriceArt Web Service
Creazione Api Gateway Zuul
Test Operativo Zuul Server
Approfondimento dell'Api Gateway Zuul
Variazioni al Articoli Web Service
Test Operativo della nuova infrastruttura

Protezione dei micro servizi con Json Web Token e Zuul

Proteggere i Microservizi con JWT
Modificare il Zuul Server
Creazione dell'Auth Server
Modifica dei Microservizi Articoli e Price
Test Operatico dell'autenticazione JWT

La resilienza dei micro servizi con Spring Cloud Histrix

Introduzione alla resilienza con l'Histrix
Abilitiamo l'Histrix in Articoli Web Service
Abilitiamo l'Histrix in PriceArt Web Service
Creare la Histrix Dashboard
Modifiche a scopo di test al PriceArtWeb Server
Test Operativo Histrix

Logging e Tracing con Spring Cloud Sleuth

Introduzione al Spring Cloud Sleuth e al Zipkin
Attivazione Sleuth e Zipkin in Articoli Web Service
Modifiche al Price Art Web Service
Modifica Promo Web Service
Attivazione Contenitore Docker Zipkin
Avvio Ecosistema di Microservizi
Test Operativo con l'uso del Postman ed uso Zipkin

Impariamo ad usare Docker e a creare le immagini dei nostri micro servizi

Introduzione al Docker - Parte 1
Introduzione al Docker - Parte 2
Gli elementi del Docker - Immagini, Strati, Contenitori e Docker Hub
Ricerca e pull dell'immagine Jenkins
L'interfaccia di rete in Docker
Configurazione delle Porte dei Servizi in Docker
Creazione e configurazione dei volumi in Docker
Gestione dei Contenitori
Commit del Contenitore Mongo
Avvio del nuovo Contenitore Mongo
Test Nuovo Contenitore Mongo con GestUser
Creazione, test e build della versione 2 del GestUser
Analisi degli elementi del Docker File
Creazione Immagine Docker del GestUser
Avvio del Contenitore del GestUser
Attribuiamo un ip fisso al contenitore Mongo
Creazione di una immagine Docker con il Maven
Esecuzione del Push dell'immagine in Docker Hub
Installazione e configurazione Docker in Windows

Docker Compose

Introduzione al Docker Compose
Modifiche al servizio Articoli Web Service
Creazione Immagine MySql - Esportazione DB alphashop
Analisi del file di configurazione docker-compose.yml
Avvio del contenitore MySql con docker-compose
Creazione Immagine Articoli e Push in Docker hub
Modifica del file docker-compose in Windows
Avvio e test del docker compose in Windows
Analisi principali comandi docker compose

Work in Progress - Deploy in cloud e introduzione al Kubernetes

Introduzione al Kubernetes
Gli Elementi del Kubernetes
Creazione di una web app autonoma
Rendiamo automatico il push dell'immagine nel docker hub
Attivazione e installazione tool Google Cloud Platform
Installazione e configurazione Google SDK in Windows
Configuriamo la zona e la regione di computazione
Creazione dei Pod Con file YAML di configurazione
Utilizzare le labels con i pod e i node
Utilizzare le annotazioni con i pod
Creazione dei Namespace dei Pod
Eliminazione dei POD
Introduzione al ReplicationController
Creazione di un nuovo cluster in Google Cloud Kubernetes
Creazione di un ReplicationController
Test Funzionamento del ReplicationController
Modifica ed Eliminazione del ReplicationController
Introduzione ai ReplicaSet
Il Sistema di selezione dei POD del ReplicaSet
Introduzione ai Services
Creazione e test di un Service
Creazione di un Discovery Service dei POD
Utilizzare i Servizi Esterni al Cluster Kubernetes
Contattare i servizi cloud da un client locale
Introduzione agli Ingress
Creazione di un ingress per accedere a due differenti web app
Introduzione ai Volumes
Creazione del PersistentVolume e del PersistentVolumeClaim
Attiviamo e Popoliamo il DBMS MySql in Kubernetes
Introduzione alle StorageClass
Configurare i POD - Le variabili d'ambiente
Introduzione ai ConfigMap

Reviews

Antonella
January 30, 2023
Non basta saper fare ottimamente qualcosa, per essere in grado di trasmettere efficacemente il know how
Gianluca
August 8, 2021
Ottimo corso, specie le spiegazioni su Zuul, Eureka, Ribbon ed OpenFeign. Peccato che Hystrix sia stato dismesso dalla Netflix. Discreta anche la trattazione Docker-Kubernetes. Il corso è davvero molto completo copre molto sul ciclo di vita che uno sviluppatore incontra progettando Cloud Ready con Spring e non solo, in quanto queste tecniche possono essere applicate anche ad altri progetti specie Kubernetes e Docker. Assegno 5 stelle anche se non ho trovato una cosa molto particolare per cui l'ho acquistato ossia il Circuit Breaker a livello di Api Gateway, in cui una lezione Nicola dice proprio che le sue conoscenze si fermano lì per questa problematica, però poi scavando ancora più fondo ho risolto questo problema a livello di Kubernetes studiandomi la Service Mesh, però a prescindere da ciò il docente del corso ne sa davvero molto e mi ha fornito degli interessantissimi spunti pratici per gli sviluppi che sto affrontando. Grazie :)
Daniele
July 5, 2020
Ottimo corso che offre un'ampia panoramica sullo sviluppo con Spring Cloud dal locale al dal Docker a Kubernetes.
Luca
June 10, 2020
Spiegazioni chiare, docente preparato. Negatività: lentezza nelle spiegazioni (ho dovuto ascoltare a velocità 1.5), certe spiegazioni e/o configurazioni ripetute. Docker viene usato un po ovunque, e a mio parere dovrebbe compattarle in un unico capitolo. Mostra installazione di Docker in ambiente Linux nella prima metà del corso, mentre su Windows all'80% del corso. Ultima pecca il nome dei progetti scaricabili tutti chiamati "original" crea confusione tra le versioni. Nel complesso giudico il corso positivamente e si segue abbastanza bene.
Salvo
April 17, 2020
Molto dettagliata (quindi anche per chi ha poca esperienza con Spring può essere utile), magari un pò lenta per chi ha esperienza, ma può sempre skippare :) Complimenti
Renato
December 1, 2019
Corso veramente ottimo per chi vuole avere un primo approccio alle nuove tecnologie di Spring Boot, Docker e Kubernetes. Docente chiaro ed esempi in linea con la spiegazione. Lo consiglio vivamente.
Alessandro
August 12, 2019
Il corso era indietro rispetto alle mie competenze, ma comunque abbastanza interessante. Gli elementi di cui sono rimasto particolarmente scontento sono: * la lentezza quasi soporifera dell'oratore che è il difetto secondo me più grande di questi video * gli argomenti sono esposti in maniera troppo semplice per un corso di livello intermedio * l'eccessivo uso del copia-incolla e di artefatti già pronti anziché la scrittura diretta del codice * la scarsa pulizia e attenzione alle buone pratiche di stesura del codice pulito * l'utilizzo errato della terminologia tecnica e la scarsa competenza nella lingua inglese
Marco
July 13, 2019
Il corso l'ho trovato molto valido e completo, ringrazio l'autore Nicola. Molto interessante anche l'ultimo capitolo relativamente a Kubernetes su piattaforma Google Cloud. Affrontando questo corso si riesce ad avere una panoramica completa del mondo dei microservizi.
Alexandru
March 26, 2019
Il corso è un ottimo approfondimento dell'ecosistema di Spring Boot che utilizzerete anche a lavoro. Complimenti all'insegnante: c'è parecchio materiale utile (l'ho consigliato anche alla mia azienda di consulenza). L'unica pecca è che la parte del corso, che parla del Cloud, utilizza una versione (la Finchley.SR2) che è compatibile solo fino a Spring Boot 2.1.0: oltre la 2.1.0, è necessaria la Greenwich.RELEASE, che non è trattata dal corso (lo dico per chi, come me, aveva magari già iniziato un progetto col 2.1.3 e poi col downgrade a 2.0.6 avrebbe dei problemi con le altre dipendenze, ad esempio cambiamenti nella "security"). Ottima e completa la parte di Kubernetes (io però suggerisco di usare gli stessi comandi con minikube) e buona l'introduzione di Docker. Particolarmente interessante la parte che spiega l'autenticazione con JWT tramite Zuul -> JWT Authentication -> MicroservizioConUserDetails.
Marco
February 25, 2019
Sono al 60% del corso, è ben fatto, chiaro e perfettamente comprensibile. Spero che la parte del kubernetes esca prima che arrivi al termine.
Giampiero
January 23, 2019
Ottimo corso per avere un infarinatura delle tecnologie necessarie ad un approcio all'architettura a microservizi; diversi esercizi per comprendere in modo semplice come fare gli step che vengono spiegati, e insegnante molto gentile e disponibile. Dire un buon corso!
Angelo
January 13, 2019
Ottimo corso molto completo che affronta in modo molto chiaro e completo tantissimi argomenti. Il docente è sempre stato molto disponibile tutte le volte che ho avuto bisogno di chiarimenti.
Gumina
January 1, 2019
buona panoramica sull'ecosistema spring cloud. Mi sarei aspettato la trattazione anche di concetti di comunicazione asincrona come l'implementazione di un message bus ad esempio. Questo avrebbe permesso di adottare potenzialmente concetti come DDD CQRS event sourcing etc.. in un contesto spring cloud, che avrebbero reso il prodotto finale molto più aderente alle best practices tipiche di un'architettura a microservizi. Per il resto ottimo corso spiegazioni chiare aspetto la parte Kubernetes
Tiziano
December 25, 2018
Ottima impostazione che porta gradualmente al quadro globale. Tenuto in modo molto professionale. Direi per molti versi illuminante.
Pierpaolo
December 10, 2018
molto buona la parte di spring ma sono insoddisfatto per via della parte su kubernetes che mi aspettavo e che invece non c'è. Non so a questo punto perchè viene citata nel titolo.

Charts

Price

Creare Cloud Ready App con Spring Cloud, Docker e Kubernetes - Price chart

Rating

Creare Cloud Ready App con Spring Cloud, Docker e Kubernetes - Ratings chart

Enrollment distribution

Creare Cloud Ready App con Spring Cloud, Docker e Kubernetes - Distribution chart
1594932
udemy ID
3/13/2018
course created date
10/29/2019
course indexed date
Bot
course submited by