Avanscoperta
Microservices Practical Workshop

Microservices Practical Workshop

Come utilizzare i microservizi in salsa DDD e vivere serenamente

Microservizi: la panacea di tutti i mali, o la cosa peggiore da fare?

In realtà, né uno né l’altro. Sono una delle tante architetture possibili, esistono dei contesti in cui danno grandi vantaggi e altri in cui portano solo morte e distruzione.

In Microservices Practical Workshop con Gianluca Padovani impareremo a costruire un’architettura a microservizi, a riconoscere varianti e differenze e a scegliere la migliore per il nostro contesto.

Uno dei primi step per comprendere a fondo i Microservizi è quello di analizzarli nell’ottica di Domain-Driven Design, anche per capire se un’architettura di questo tipo è adatta al nostro business.
La predisposizione mentale nell’analisi del dominio in cui si va a operare, prima ancora della scrittura del codice, è fondamentale per iniziare ad analizzare la problematica dal punto di vista corretto e in tutta la sua complessità, ed EventStorming è uno strumento fondamentale in quest’ottica.

Capiremo quali sono le diverse “nuance” dell’architettura e dei microservizi, quando è opportuno spingere su una determinata caratteristica o quando è meglio spingere sulla caratteristica opposta.

Target Audience

Hai letto molto sui microservizi ma non te la senti di provare a metterci le mani? Vuoi vedere alcuni casi reali di implementazione? Vuoi confrontarti con qualcuno che ha esperienza sul campo? È il tuo momento.
Hai provato i microservizi, ne porti ancora le cicatrici e vuoi capire come mai c’è ancora gente che si ostina a fare queste pazzie? Questo è il corso che fa per te.
Hai già usato i microservizi, ti piacciono e vuoi vedere se li hai fatti bene, o come potresti farli meglio? Questo corso è per te.

Il corso si rivolge in particolare a:

  • Software Architect
  • Software Developer
  • CTO.

È richiesta una conoscenza base di Domain-Driven Design ed EventStorming.
A chi si iscriverà al corso verrà regalata una copia digitale del libro Cronache di Domain-Driven Design (pubblicato da Avanscoperta).
La lettura della prima parte del libro è un requisito per poter accedere e partecipare al corso.

Svilupperemo un’architettura facendo chiamate HTTP, e inviando messaggi su code, per cui devi avere un minimo di dimestichezza con queste. Devi sapere cos’è un DB e cos’è un’immagine docker.

Programma

In questo corso svilupperemo un’architettura a microservizi. Partiremo analizzando un dominio di esempio con EventStorming, tecnica che ci aiuterà a sviscerare il dominio in tutta la sua complessità. Troveremo quali sono i nostri “service boundary”, decideremo su quali microservizi vogliamo concentrarci, e li svilupperemo.

Durante questo percorso di 5 sessioni, decideremo che metodo di comunicazione utilizzare, come deployare i nostri microservizi e come evolverli.
Lavoreremo anche su un monolite, da cui “estrarre” alcune funzionalità.
Capiremo come gestire situazioni di carico, e come essere sufficientemente resilienti al crash di uno o più microservizi.

Lavoreremo sia in gruppo sia individualmente, come se fossimo “una vera azienda”. Affronteremo varie problematiche e alterneremo i momenti di pratica con quelli di teoria, in modo da capire quali principi e quali euristiche supportano le nostre decisioni.

Agenda

Sessione 1: Microservizi: cosa sono e dove trovarli

  • Cosa sono i microservizi e perché usarli
  • Macro, Micro, Nano: le dimensioni contano?
  • Alla ricerca dei microservizi in salsa DDD: EventStorming.

Sessione 2: Sviluppiamo il primo microservizio

  • Come comunicano i microservizi
  • Eventi, comandi, messaggi
  • Come organizzare la persistenza e quanti database avere
  • Come gestire le foreign key e le transazioni.

Sessione 3: Costruiamo un sistema complesso

  • Accoppiamenti tra i vari Microservizi
  • Il concetto di Saga
  • Come cambiare l’interfaccia dei miei microservizi
  • Versionamento, deploy sincronizzati, breaking Changes.

Sessione 4: Il monolite non è un problema ma un’opportunità

  • La fortuna di avere un monolite
  • Come scomporre un monolite
  • Un passo alla volta (qual è il primo?)

Sessione 5 – Mettiamo tutto insieme

  • UI & Reportistica: come faccio a mettere tutto assieme
  • Dormire sereni: come capire cosa sta succedendo
  • Problemi comuni dei Microservizi
  • Un po’ di teoria…

Q&A – Follow-up (2 h) a distanza di una/due settimane dalla chiusura del corso.

Cosa impareremo

  • Dopo aver visto come funziona EventStorming, impareremo ad analizzare un dominio complesso step-by-step, assicurandoci che tutti abbiano una comprensione condivisa del contesto in cui andremo a operare con i nostri microservizi
  • Impareremo a conoscere i microservizi, cosa sono, come si trovano e in che modo è opportuno farli comunicare e come metterli in produzione
  • Quali sono le caratteristiche chiave di un’architettura a microservizi e cosa potrebbe succedere nel caso in cui alcune di esse venissero meno
  • Come introdurli in un ambiente già esistente
  • Cosa aspettarsi nel momento in cui si mette in produzione qualcosa, e il traffico aumenta o semplicemente qualcosa “si rompe”.

Come si svolge

Il corso è strutturato in 5 mezze giornate + 2 ore di follow-up.

Durante le quattro sessioni svilupperemo un’architettura a microservizi e la faremo funzionare, la metteremo sotto stress e la faremo evolvere durante le varie giornate.

Il workshop sarà online e in diretta, per un massimo di 16 persone: il docente e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on.

Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo.
Per questo motivo, è richiesto che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione.
Non sarà un corso passivo, fatto solo di slide e video pre-registrati.

Applicheremo alcuni principi del metodo Training from the back of the room, con prevalenza di attività su lectures.
Alle poche definizioni teoriche si affiancano numerosi esercizi ed attività pratiche.
La condivisione tra i partecipanti ed il supporto del trainer completano il quadro formativo.

Perché partecipare

A fine del corso avrai aumentato la tua conoscenza sui microservizi.
Se non hai mai messo in produzione nessun microservizio sarai in grado di identificare i primi da mettere in produzione.
Se hai cicatrici da microservizi, cercheremo di lenire le tue pene e fornirti gli strumenti per fare un secondo tentativo.
Se hai già in produzione dei microservizi l’intento è di darti tutti gli spunti possibili per fare un salto di qualità e migliorare il tuo processo di sviluppo.

F.A.Q.

Sono previsti requisiti minimi per poter partecipare a questo corso?

  • È richiesta una conoscenza base di Domain-Driven Design ed EventStorming.
    A tal fine, e per far sì che arriviamo in aula con le basi ben chiare, a tutti i partecipanti verrà inviata in omaggio la versione digitale del libro Cronache di Domain-Driven Design.
    È richiesta la lettura della prima parte del libro prima dell’inizio del corso.
  • Svilupperemo un’architettura facendo chiamate HTTP, e inviando messaggi su code per cui devi avere un minimo di dimestichezza con queste. Devi sapere cos’è un DB e cos’è un’immagine docker.
  • Pubblicheremo un esempio di codice che devi essere in grado di capire, se è già scritto nel linguaggio che usi, altrimenti riscriverlo nel linguaggio che usi di solito.
  • Non ci sono vincoli sul linguaggio che vuoi usare (è il bello dei Microservizi…).

Altre letture o risorse consigliate?
Domain-Driven Design in 2020, un articolo di Alberto Brandolini.
Per la parte di Microservizi, i libri di Sam Newman sono un ottimo punto di partenza. Guarda anche il video del meetup di Gianluca Intro ai Microservizi.
Tra le varie risorse presenti online, consigliamo un tutorial su RabbitMQ per la parte tecnica.

Cosa devo assolutamente avere per potermi iscrivere a questo corso online?
Se possiedi un computer/tablet, una rete stabile (almeno 20 Mbps in download e 10 Mbps in upload), cuffie, microfono e videocamera, allora puoi iscriverti al corso senza problemi. Un paio di settimane prima del corso ti invieremo tutte le informazioni sugli strumenti che useremo e come accedervi.
Per la rete, prova a fare uno Speed Test.
Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo. Per questo motivo, è richiesto che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione.

N.B.

Il workshop verrà confermato al raggiungimento dei numeri minimi di partecipanti utili alla sua attivazione. Invieremo comunicazione agli iscritti 10-15 giorni prima del workshop.

LAST CHANCE! Ti interessa questo corso? Acquista il biglietto entro mercoledì 24 aprile 2024 per aiutarci a confermarlo quanto prima.
Se entro questa data non raggiungiamo i numeri minimi di partecipanti richiesti per attivarlo, il corso non sarà confermato e verrà posticipato… non aspettare all’ultimo per comprare il tuo biglietto!

Prima raggiungiamo i numeri minimi utili alla sua attivazione, prima saremo in grado di confermare il corso e garantirne l’esecuzione.
Se il corso sarà confermato, vedrai una spunta verde su questa pagina che dice “confermato/guaranteed to run”, e potrai comprare i biglietti anche dopo questa data.

Info pratiche sul workshop

Lingua: italiano.
Numero massimo di partecipanti: 14.
Strumenti e postazione: il corso si svolgerà online e in diretta, attraverso l’uso di alcuni strumenti digitali. Una volta confermato, riceverai tutti i dettagli su come accedere al corso e interagire con il docente e gli altri partecipanti, e su come prepararti al meglio.
È consigliato che ciascun partecipante segua il corso dalla sua postazione: è preferibile non condividere il laptop e la stanza con altre persone e colleghi per una migliore esperienza da remoto.

Porta il corso in azienda

Contattaci utilizzando il form in fondo alla pagina per chiedere informazioni sull’erogazione in forma privata e personalizzabile di Microservices Practical Workshop.

Testimonials…

Straconsigliato per iniziare il cammino verso la migrazione dal software monolitico ai micro- services.
È stato molto produttivo imparare i concetti chiave dei micro-servizi in maniera pratica lavorando come in un vero team agile.
L’approccio pragmatico di Gianluca ti sprona a ragionare in maniera critica valutando correttamente i benefici e gli svantaggi di costruire la tua soluzione software a micro-serviziRoberto Bertuccio

Corso a tutto tondo sul concetto dei microservizi, la sua realizzazione e la sua governance. Troverai tutti i concetti utili e potrai confrontarti apertamente con un professionista del settoreSimone Buzzi

Corso veramente molto bello, teorico e pratico nelle giuste proporzioni. Un must se vuoi lanciarti in questo difficile mondo e non sai da dove partire… Raccomandatissimo!Massimiliano Cantoni

Alla fine del corso non sarai un guru dei microservizi, ma sicuramente avrai messo nella tua borsa degli attrezzi un gran numero di nozioni, metodi e consigli con cui iniziare a sperimentare.Mark Ruggero

Imparare da un esperto in modo coinvolgente ed efficace – check! Questo workshop permette di imparare concetti complessi partendo da esperienze reali.Ruggero Rizzo

Un workshop molto divertente e denso di contenuti sul mondo dei microservizi!Andrea Ceccarelli

I Microservizi fanno paura, se non hai una buona guida. E questo corso è decisamente una buona guida.Edoardo Parlato

Workshop illuminante, con una buona componente teorica, qualche esercizio pratico per sporcarsi le mani e tante, tantissime conversazioni interessanti che hanno dato gran valore alla mia esperienza!Pietro Martinelli

Gianluca Padovani

Gianluca è uno sviluppatore software, TDD-addicted e coach agile.
Grande appassionato dei linguaggi funzionali, in particolare di Elixir/Erlang, e di Ruby, NodeJs e C++.
Gianluca è CTO di Coders51.

Video

Small Talk: chiacchierata informale con Gianluca Padovani (YouTubeSpotify).

A gentle introduction to Microservices: meetup da remoto con Gianluca Padovani (YouTubeSpotify).

Functional Programming: chiacchierata tra Matteo Baglini e Gianluca Padovani (YouTubeSpotify).

Chi siamo, in breve :)

Avanscoperta è un ecosistema in espansione fatto di professionisti con una grande passione per l’apprendimento: ci piace imparare cose nuove e scambiare esperienze e idee, esplorando territori finora inesplorati in ambito software, nella sua accezione più ampia possibile.

Selezioniamo con attenzione gli argomenti più rilevanti e i migliori docenti da tutto il mondo, e diamo particolare importanza alle tecniche di insegnamento, preferendo approcci pratici e coinvolgenti.
Unisciti a noi!

Ti interessa questo corso?

Se hai delle domande specifiche, o vuoi ricevere maggiori informazioni, scrivici. Saremo felici di risponderti!







    NEWSLETTER

    Vuoi ricevere una volta a settimana i nostri contenuti esclusivi su tecnologia, sviluppo software, business e design?

    ISCRIVITI ALLA NEWSLETTER :-)

    Iscriviti alla newsletter!