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

  12/2021     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:

  • CTO - Managed Designs

    Andrea Saltarello è CTO di Managed Designs, azienda di consulenza e sviluppo software per la quale ricopre anche le mansioni di software architect.

    In qualità di Microsoft Regional Director, è advisor del senior leadership team di Microsoft Corporation, offrendo ad esso feedback strategico. Per il suo impegno a supporto delle community è stato annualmente premiato quale Microsoft Most Valuable Professional dal 2003 ad oggi.

    È autore di articoli tecnici per differenti testate editoriali e co-autore di "Microsoft .NET: Architecting Applications for the Enterprise", pubblicato da Microsoft Press.

    È inoltre docente a contratto per i master del Politecnico di Milano dedicati a Big Data ed Intelligenza Artificiale e relatore presso eventi e conferenze internazionali quali: Codemotion, Microsoft Ignite Tour, WPC ed altre ancora.

  • Senior Developer - Managed Designs

    Senior Developer presso Managed Designs, è Microsoft Certified Professional, AWS Certified Alexa Skill Builder e leader di Azure Meetup Milano.