Most Active Speaker

Alberto Acerbis

Alberto Acerbis

Passionate dev, author, learner

Intré, Passionate dev, author, learner

Brescia, Italy

I am basically an eternal student, because the subject matter is endless. I've always defined myself as a backend developer, but I don't disdain poking around on the other side of the code either. I like to think that 'writing' software is mainly about solving business problems and providing value to the customer, and in this I find DDD patterns a great help. I work as a software engineer at Intré, a company that espouses this ideology; as a good introvert, I find it difficult to come out of the closet, but I like to get out of my comfort zone to share with others the things I have learnt, so that I can find the right stimuli each time to continue improving. I like to frequent the community world, contributing, when I can, with active proposals. I am co-founder of the DDD Open and Polenta and Deploy communities, and an active member of other communities such as Blazor Developer Italiani.
I am an Azure Solution Architect and Azure IoT Developer

Sono fondamentalmente un eterno studente, perchè la materia di studio è infinita. Mi sono sempre definito uno sviluppatore backend, ma non disdegno di curiosare anche dall'altra parte del codice. Mi piace pensare che 'scrivere' software significhi soprattutto risolvere problemi di business e fornire valore al cliente, e in questo trovo che i pattern DDD siano di grande aiuto. Lavoro come software engineer presso Intré, un'azienda che sposa questa ideologia; da buon introverso, trovo difficile uscire allo scoperto, ma mi piace uscire dalla mia comfort zone per condividere con gli altri le cose che ho imparato, in modo da trovare ogni volta gli stimoli giusti per continuare a migliorare. Mi piace frequentare il mondo della comunità, contribuendo, quando posso, con proposte attive. Sono co-fondatore delle comunità DDD Open e Polenta e Deploy, e membro attivo di altre comunità come Blazor Developer Italiani.
Sono un Azure Solution Architect e Azure IoT Developer.

Awards

  • Most Active Speaker 2023

Area of Expertise

  • Finance & Banking
  • Real Estate & Architecture
  • Consumer Goods & Services
  • Information & Communications Technology

Topics

  • .net core
  • ASP.NET Core
  • C#.Net
  • .NET Backend
  • .NET Patterns & Practices
  • .NET Frontend
  • .NET Migration to Azure
  • ASP.NET Core Web API
  • .NET (Core) development
  • DDD
  • CQRS & Event Sourcing
  • Microsoft Azure
  • Microsoft Azure DevOps
  • Blazor WebAssembly
  • Azure
  • Azure App Service
  • Cloud Computing on the Azure Platform
  • Azure Functions
  • Azure Data & AI
  • Architecture
  • software architecure
  • Clean Architecture
  • Azure Architecture
  • Application Architecture
  • Architecture of Web-Apps
  • Data Architecture
  • Android Architecture
  • Microservice Architecture
  • Enterprise Architecture
  • Event Driven Architecture
  • Software Architecture
  • Cloud Architecture
  • Solution Architecture

Bounded Context is not Enough!

Correva l'anno 2003 ed E.Evans ci presentò il suo iconico blue-book. Uno dei pattern più citati, soprattutto per la realizzazione delle architetture a microservizi, è il Bounded Context. Nel 1986 un altro articolo scosse il mondo, Fred Brooks pubblicò No Silver Bullet. Cos'hanno a che fare queste due pubblicazioni così distanti fra loro? E perchè ne parliamo ora, nel 2023? Venite alla mia sessione e ve lo spiegherò.

Evolutionary Architectures con .NET e Azure

Ci troviamo spesso davanti a progetti che nascono piccoli e crescono velocemente.
All’inizio di un nuovo progetto, spesso ci chiediamo: la metafora fra l'architettura software e l'architettura di un edificio è ancora valida? Siamo sicuri che l'architettura non possa evolvere così come evolvono le specifiche di un’applicazione?
Evolutionary Architectures è rivolto a coloro che si sono trovati a dover dare una direzione ai propri progetti e si sono posti queste domande.
Vedremo infatti che è possibile creare una architettura pronta ad evolversi, con esempi pratici che verrano poi rilasciati su Kubernetes (AKS) attraverso Azure Dev Ops, Helm e Github.

Modular Architectures con .NET

Per scrivere codice pulito, con responsabilità isolate, dobbiamo necessariamente implementare un'archietettura a microservizi? Dobbiamo portarci a casa tutta una serie di complessità sin dall'inizio del progetto? Esiste un'alternativa che ci permetta di scalare a progetto avviato?
Modular Architecture ha radici ben più profonde di quanto si possa immaginare, ed unisce il meglio delle due soluzioni alternative, monolite e microservizi.
Vediamo com'è possibile realizzare una soluzione simile in .NET

Using .NET Core to build and deploy microservices architecture

We have released our beautiful monolith on the server in the customer's cellar, but now we need to scale up.
First of all we have to design our monolith in a right way, so will be easy to split it.
Now new features come to implement and more traffic to handle. How do we solve the problem? Our monolith needs to be broken into many microservices that K8s is ready to host. But how will all these microservices talk to each other now? How we can introduce event communication in our microservice's architecture? Let's find out together

Tutti gli eventi sono testabili!

È davvero così difficile testare un dominio basato sugli eventi?
In questa sessione impareremo a scrivere test che convalidino il comportamento del dominio, andando oltre il classico approccio TDD. Ci concentreremo sulla validazione del cambiamento di stato del dominio durante il suo ciclo di vita.
Affronteremo il problema utilizzando specification testing e vedremo come questo supporta pienamente lo sviluppo di un dominio complesso ed in continua evoluzione.

BDD in Blazor using SpecFlow

Given-When-Then è uno stile di rappresentazione dei test o, come direbbero i suoi sostenitori, di specificazione del comportamento di un sistema usando SpecificationByExample.
Daniel Terhorst-North e Chris Matts lo hanno sviluppato come parte del Behavior-Driven Development. Dopo averlo adottato per il backend, mi sono chiesto se potesse essere utile anche per il frontend. Curiosi di sapere com'è andata? Scopriamolo insieme

DDD incontra i Dati (aka Data Mesh)

Siamo tutti affamati di dati. Ne abbiamo bisogno per alimentare i nostri modelli di ML, per mantenere dashboard e per fornire statististiche sempre più accurate. L'attuale gestione di questi dati però scricchiola, è in affanno, serve un nuovo approccio. I Datawarehouse, con le rigide regole di accesso, ci impediscono di scalare facilmente e velocemente come vorremmo. Come risolviamo il problema?
Possiamo aspettarci un contributo da DDD?
Data Mesh è un paradigma sociotecnico decentralizzato che tratta i dati come un prodotto, considera i domini come una preoccupazione primaria, applica il pensiero della piattaforma per creare un'infrastruttura di dati self-service e introduce un modello computazionale federato di governance dei dati.

Affoghiamo i microservizi nella birra

Partendo da uno scenario di un birrificio piccolino e con pochi ordini, mostreremo come la soluzione monolite è in grado di consegnare valore. Dopodiché dimostreremo come un monolite rilasciato sul server in cantina, se fatto bene, può scalare in maniera agile in una architettura a microservizi su kubernetes con helm.

Using .NET and Azure to build and deploy microservices architecture

Si parla tanto di microservizi, anche quando non sono strettamente necessari. Sono l'unica alternativa possibile per scrivere codice pulito, a componenti indipendenti e facilmente divisibile? E se costruissimo una soluzione a moduli? Attenzione, ogni modulo deve essere indipendente, dalla business logic ai dati, ma il tutto in un'unica soluzione. Molto più facili da testare, rispetto ai microservizi; meno infrastruttura da gestire, ma allo stesso tempo, pronti a scalare.
Scopriamolo insieme come .NET Core ci permette di creare soluzioni simili e come Azure sia pronta ad ospitarle

All events are testable!

Is it really that difficult to test an event-based domain?
In this session we will write tests that validate domain behavior, going beyond the classic TDD approach.
We will try to address the problem through specification testing and we will see how this fully supports the development of a complex and evolving domain.

Testiamo gli eventi

Vi è mai capitato di dover testare un sistema ad eventi? In questo caso il classico approccio TDD può essere utile? Oppure servirebbe uno strumento di testing diverso, più appropriato? Scopriamo insieme, con tanti esempi e tanto codice, ed una libreria open source, come preparare un adeguato ambiente di test adatto a questo tipo di soluzione.

Test non convenzionale nello sviluppo di microservizi con CQRS ed Event-Sourcing

Lo scopo è quello di realizzare un'applicazione composta da due microservizi che sottoscrivono gli stessi eventi. Utilizzeremo CQRS ed Event Sourcing e vedremo in particolare come testiamo gli eventi tralasciando il classico unit testing in favore dell'event specification testing.
Ovvero test più espressivi, che riprendano i termini utilizzati nell'Event Storming, quindi che utilizzano l'Ubiquitous Language e siano comprensibili anche ai Business Expert.

Perchè WebAssembly

WebAssembly non è più una tecnologia emergente, è una tecnologia presente nei nostri framework. Con .NET7 abbiamo assistito all'introduzione di molte novità provenienti proprio da Wasm, codice C# eseguito in JavaScript e codice JavaScript eseguito in C#, tanto per cominciare. Vediamo insieme cos'altro ci dobbiamo aspettare

DDD in salsa Cloud con Blazor e MinimalAPI

Delle MinimalApi si è detto di tutto e di più, ma forse possiamo ancora parlarne. Blazor è il framework per SPA che sta spopolando fra gli sviluppatori .NET. DDD è l'eterna promessa che stenta a diventare realtà ... oppure è l'ingrediente necessario per applicazioni veramente scalabili? Lo scopriremo insieme analizzando un'applicazione Blazor a microfrontend che utilizza le MinimalApi come backend a microservizi

DDD in pratica: i pattern per passare dal monolite ai micro servizi

Partendo da un event storming, che faremo insieme, vedremo una via per spaccare il monolite in micro servizi utilizzando domain drive design, cqrs ed event sourcing. Lo faremo tramite esercizi da svolgere insieme ed in gruppi e vedremo quali pattern del DDD si prestano per tale compito

DDD anche nei Dati?

Siamo a un punto di svolta nel settore dei dati, in cui le nostre soluzioni di gestione dei dati non sono più all'altezza della complessità delle organizzazioni, della proliferazione delle fonti di dati e della portata delle nostre aspirazioni di ottenere valore dai dati con l'intelligenza artificiale e l'analisi.
Data Mesh è un paradigma sociotecnico decentralizzato chetratta i dati come un prodotto, considera i domini come una preoccupazione primaria, applica il pensiero della piattaforma per creare un'infrastruttura di dati self-service e introduce un modello computazionale federato di governance dei dati.
Ma il contributo di DDD? Lo scopriremo insieme.

Babbo Natale e le letterine scritte in linguaggi diversi

Come ogni anno Babbo Natale è alle prese con migliaia di letterine scritte in linguaggi diversi, ognuna delle quali necessita di un traduttore, o di un compilatore, diverso, per essere interpretata.
Il rischio è quello di non essere in grado di leggerle tutte, di tralasciare quelle scritte in linguaggi non interpretabili dai suoi moderni strumenti di ricezione.
Per sua fortuna la soluzione è arrivata giusto in tempo. A lui basta prendere tutte le letterine e passarle al setaccio tramite WebAssembly.
Sarà vero che finalmente abbiamo trovato l'esperanto dei linguaggi? Scopriamolo insieme e vediamo di capire cos'è e cosa fa WebAssembly.

Explore DDD 2024 Upcoming

March 2024 Denver, Colorado, United States

.NET Conf 2023 1nn0va

January 2024 Pordenone, Italy

XmasDev 2023

December 2023 Rome, Italy

DevOpsHeroes 2023

October 2023 Parma, Italy

Azure Day Torino 2023

October 2023 Turin, Italy

1nn0va Saturday 2023

September 2023 Pordenone, Italy

WeAreDevelopers World Congress 2023

July 2023 Berlin, Germany

Working Software 2023

June 2023 Milan, Italy

Agile Venture Pordenone 2023

June 2023 Pordenone, Italy

Domain-Driven Design Europe 2023

June 2023 Amsterdam, The Netherlands

BlazorConf 2023 User group

May 2023 Milan, Italy

Global Azure Torino 2023

May 2023 Turin, Italy

datasaturdays.com Pordenone 2023

February 2023 Pordenone, Italy

Codegen 2023

February 2023 Verona, Italy

.NET Conf 2022 1nn0va

January 2023 Pordenone, Italy

XmasDev 2022

December 2022 Rome, Italy

Italian Agile Days 2022

October 2022 Brescia, Italy

1nn0va Saturday 2022

September 2022 Pordenone, Italy

Working Software

July 2019 Milan, Italy

Alberto Acerbis

Passionate dev, author, learner

Brescia, Italy