Udemy

Platform

Italiano

Language

Software Engineering

Category

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

4.42 (140 reviews)

Creare Cloud Ready App con Spring Cloud, Docker e Kubernetes

Students

24 hours

Content

Apr 2021

Last Update
Regular Price

SKILLSHARE
SkillShare
Unlimited access to all SkillShare courses
EXCLUSIVE 30-DAY FREE TRIAL

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

D
Daniele5 July 2020

Ottimo corso che offre un'ampia panoramica sullo sviluppo con Spring Cloud dal locale al dal Docker a Kubernetes.

L
Luca10 June 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.

S
Salvo17 April 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

G
Graziana11 December 2019

il docente ha creato un progetto per poi fare i test su un altro progetto non completando lo sketch creato. Sarebbe stato meglio proseguire con un banale esercizio con test.

R
Renato1 December 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.

A
Alessandro12 August 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

M
Marco13 July 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.

A
Alexandru26 March 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.

M
Marco25 February 2019

Sono al 60% del corso, è ben fatto, chiaro e perfettamente comprensibile. Spero che la parte del kubernetes esca prima che arrivi al termine.

G
Giampiero23 January 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!

A
Angelo13 January 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.

G
Gumina1 January 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

T
Tiziano25 December 2018

Ottima impostazione che porta gradualmente al quadro globale. Tenuto in modo molto professionale. Direi per molti versi illuminante.

P
Pierpaolo10 December 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.


Related Courses

SKILLSHARE
Step By Step Kubernetes Automation With Ansible
Step By Step Kubernetes Automation With Ansible
SKILLSHARE
Kubernetes & AKS 101
Kubernetes & AKS 101
SKILLSHARE
Kubernetes- 1 :  A Comprehensive guide ! The hottest Infrastructure technology in the planet.
Kubernetes- 1 : A Comprehensive guide ! The hottest Infrastructure technology in the plan

1594932

Udemy ID

3/13/2018

Course created date

10/29/2019

Course Indexed date
Bot
Course Submitted by

Twitter
Telegram