Corso "Implementare Microservices con .NET" - UGIdotNET
Questo sito si serve dei cookie per fornire servizi. Utilizzando questo sito acconsenti all'utilizzo dei cookie. Ulteriori informazioni Ok

Implementare Microservices con .NET

Impara a progettare, implementare e distribuire microservizi usando .NET

  11/2023     Italiano

Programma

Tra le impostazioni architetturali recenti, quella basata su Microservices (o Microservizi) è sicuramente quella che ha riscosso il maggior successo promettendo flessibilità, maggior controllo e velocità evolutiva rispetto alle pregresse soluzioni analoghe. L'idea di base consiste nell'adozione di una strategia di scomposizione del sistema in componenti realizzati, mantenuti e distribuiti indipendentemente l'uno dall'altro e comunicanti mediante una interfaccia programmatica (API) che essi si impegnano a rispettare. In tal senso, ogni componente potrà essere evoluto in maniera totalmente indipendente da ogni altro. 

Tutto ciò sembra aderire perfettamente alla definizione ISO di solution architecture fornita dallo standard ISO/IEC/IEEE 42010:

The fundamental concepts or properties of a system in its environment, embodied in its elements, relationships, and in the principles of its design and evolution.

Teoria e pratica apparentemente messe d'accordo quindi, ma è davvero così?

Mantenere la promessa, in realtà, presenta difficoltà a causa della necessità di competenze multidisciplinari per progettare, prima ancora che implementare, soluzioni basate su questa impostazione. Occorre, infatti, quanto meno delineare delle strategie per effettuare:

  • Il partizionamento architetturale della applicazione
  • La definizione delle API di ogni microservizio
  • L'impacchettamento, ai fini della distribuzione, di ogni partizione

In questo corso, mostreremo come utilizzare i Bounded Context di Domain Driven Design quale strategia di base per il partizionamento; successivamente, analizzeremo la problematica della definizione della API dei nostri microservizi affrontando il tema sia dal punto di vista di design (es: API private e pubbliche), sia dal punto di vista tecnico (es: HTTP, gRPC, sincrono/asincrono). Infine, sarà affrontato il tema della distribuzione dei microservizi analizzando sia l'utilizzo dei container quale strumento di base, sia effettuando una introduzione alle tematiche specifiche alla pubblicazione in cloud.

Al fine di rendere il corso realmente abilitante, per ogni tema trattato saranno mostrati esempi derivanti da progetti reali. Le principali tecnologie utilizzate saranno:

  • .NET Framework e .NET Core
  • Docker e Kubernetes
  • DBMS: SQL Server, PostgreSQL, MongoDB
  • AWS
  • Azure

Corso on-demand

Vuoi organizzare una edizione privata del corso? Contattaci!

CONTATTACI

Docenti

Questo corso è tenuto da uno dei seguenti docenti: