Andrea Saltarello

Information & Communications Technology

Software Architecture Domain Driven Design .NET ASP.NET ASP.NET Core Event Sourcing Azure

Milan, Lombardy, Italy

Andrea Saltarello

CTO @ Managed Designs, Microsoft Regional Director, Chuck addict, Depeche Mode überfan

I am an entrepreneur and consultant in the Software Architecture field from Milan, Italy, serving as the CTO of Managed Designs while still eager to write code in real projects to get feedback about my architectural decisions.

I am a Microsoft Regional Director for Italy, providing strategic feedback to Microsoft's senior leadership team.

As a trainer and speaker, I had several speaking engagements for courses and conferences across Europe such as TechEd Europe, Ignite Dev Tour and Codemotion.

In 2001 I co-founded UGIdotNET, the first Italian .NET User Group, of which I am the leader; due to my contributions to the .NET developer community, I have been awarded by Microsoft as a Most Valuable Professional since 2003.

Andrea Saltarello

CTO @ Managed Designs, Microsoft Regional Director, Chuck addict, Depeche Mode überfan

Andrea Saltarello è CTO di Managed Designs, azienda di consulenza e sviluppo software per la quale ricopre anche le mansioni di software architect. Nel 2001 ha fondato UGIdotNET, il primo user group italiano dedicato a .NET, del quale è leader.

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.

Current sessions

WebAssembly chiama, Blazor risponde

WebAssembly sembra essere la panacea di tutti i mali dello sviluppo di front-end: binario, performante, standard W3C, language neutral; un vero e proprio SDK "nativo" per lo sviluppo web ormai supportato da tutti i browser più diffusi, insomma. Facendo leva su Razor, il view engine di ASP .NET Core, Razor è il toolkit open source proposto da Microsoft per generare WASM compilando codice C#. In questa sessione introdurremo Blazor ripercorrendo il percorso che mi ha portato a sostituire il front-end di una SPA realizzata con Vue.js con una app WebAssembly.

Technology as a means for inclusion

The son of a deaf person, I've soon become well-aware of how disabilities make for a harder living.
My father had all his auditory bones (hammer, anvil and stirrup) surgically removed because of acute otitis, yet he could hear sounds by means of bone conduction glasses. This was in the late ‘70s and despite being bulky and awkward, those glasses were pure magic in the eyes of a child. Technology-based magic.

Forty years on, I’m amazed by the technology we have and how effective it might be when it comes to tackling these issues: bots, for example, make software accessible to people who simply can’t “just” point’n’click. Furthermore, Azure Cognitive Services are key to addressing a variety of impairments.

Even if your ethics didn’t kick in, this is a market you don’t want to turn a blind eye (pun intended) to in this day and age, so let’s have a conversation (and a few code-based demos) about it.

Azure Cognitive Services: una panoramica

Creare, addestrare e mantenere un modello è tipicamente la parte più difficile nel processo di adozione dell'Intelligenza Artificiale: gli Azure Cognitive Services affrontano il problema offrendo modelli domain-specific preaddestrati e facilmente consubabili da una applicazione per scopi quali riconoscimento del linguaggio naturale, sintesi vocale, computer vision ed altro ancora.

Cloud tales: real world CQRS/Event Sourcing

CQRS and Event Sourcing (or, more in general, applications using events as their basic information block) are by no means new kids on the block, yet a lot can be told about how to use cloud platforms to unleash their power without having costs soaring.
The ingredients list is quite simple: an event store, an event dispatcher, read model(s) and computing options to run back-end services. Picking up technologies in a cost savvy way, though, isn’t trivial due to the amount of viable options: should we go PaaS (e.g.: CosmosDB/DynamoDB, AppService, ASB/SQS) or IaaS? CosmosDB/DynamoDB or Mongo? Where do containers fit in this context?
Eager to know our recipe (and look at real code)? Don’t miss this talk then.

ASP .NET Core: a pragmatic introduction

It has controllers, but they’re not quite like the ones we already know.
It has middlewares, but they’re not OWIN’s.
For how much similar ASP .NET Core might appear to its “Classic” counterpart, it is definitely worth our while to know the differences so to not trigger the threat posed by the assumption that we actually can design our solution in the same very way we’re already used to.
Integrated Dependency Injection and Logging, cross platform support when run on top of .NET Core, the revamped Razor view engine and the upcoming v 2.1… All this and much more will be covered throughout this code-focused talk.

Implementing chatbots and Alexa skills using Azure Cognitive Services

Thanks to the recently released v4 of the Bot Framework SDK, creating your first bot is a breeze; still, implementing a production viable one is no easy task since several aspects must be taken into account such as user authentication, integration within existing apps, multi language support, technical considerations (e.g.: Azure Functions vs. Web Apps, Blob Storage vs. CosmosDB) and, last but not least, operational costs.
Moreover, you might want to reuse your bot’s Azure hosted, Cognitive Services-backed code to address Amazon’s Alexa users to avoid the need to implement (and evolve) it twice.
Eager to learn how to do that for real? Don’t miss this code-based talk then.

Past and future events

AI & ML Conference 2021

30 Sep 2021

A.I. Day 2021

12 Mar 2021

Cloud Day 2020

29 Oct 2020

AI Conference 2020

23 Sep 2020

Global Azure Milan 2020

24 Apr 2020
Milan, Lombardy, Italy

Microsoft Ignite | The Tour 2020

Talk "Azure tales: real world Event Sourcing"
Talk “Technology as a means for inclusion”
27 Jan 2020 - 28 Jan 2020
Milan, Lombardy, Italy


3 Dec 2019 - 5 Dec 2019
Assago, Lombardy, Italy

ITCamp 2019

6 Jun 2019 - 7 Jun 2019
Cluj-Napoca, Cluj, Romania

App Modernisation day

9 Apr 2019
Milan, Lombardy, Italy

Microsoft Ignite | The Tour 2019

Talk "Azure tales: real world Event Sourcing"
Talk "Implementing chatbots and Alexa skills using Azure Cognitive Services"
31 Jan 2019 - 1 Feb 2019
Milan, Lombardy, Italy

Codemotion Milan 2018

Talk "Cloud tales: a real world CQRS and ES Deep Dive"
29 Nov 2018 - 30 Nov 2018
Milan, Lombardy, Italy


27 Nov 2018 - 29 Nov 2018
Assago, Lombardy, Italy

TechFest 2018

Talk "Upgrading to ASP .NET Core"
20 Sep 2018 - 24 Sep 2018
Bucharest, Bucureşti, Romania

ITCamp 2018

7 Jun 2018 - 9 Jun 2018
Cluj-Napoca, Cluj, Romania

WPC 2017

Talk: "ASP.NET Core: una introduzione pragmatica"
Talk: "Azure tales: a real world CQRS and ES Deep Dive"
28 Nov 2017 - 30 Nov 2017
Assago, Lombardy, Italy

Cloudburst 2017

Talk: "Azure tales: a real world CQRS and ES Deep Dive"
5 Oct 2017 - 6 Oct 2017
Stockholm, Sweden

ITCamp 2017

Talk: "Azure tales: a real world CQRS and ES Deep Dive"
25 May 2017 - 26 May 2017
Cluj-Napoca, Cluj, Romania

WPC 2016

Talk: "Azure unleashed: ASP.NET Core <3 CQRS"
Talk: "Migrare una soluzione ASP.NET 4 verso ASP.NET Core"
29 Nov 2016 - 1 Dec 2016
Assago, Lombardy, Italy

Codemotion Berlin 2016

Talk: "The Fine Art of Time Traveling: implementing Event Sourcing"
24 Oct 2016 - 25 Oct 2016
Berlin, Germany

Future Decoded 2016

6 Oct 2016 - 7 Oct 2016
Milan, Lombardy, Italy

IT Camp 2016

Talk "The Fine Art of Time Travelling: implementing Event Sourcing"
26 May 2016 - 27 May 2016
Cluj-Napoca, Cluj, Romania

TUGA IT 2016

Talk: "The Fine Art of Time Travelling: implementing Event Sourcing"
19 May 2016 - 21 May 2016
Lisbon, Portugal

WPC 2015

Talk: "A gentleman’s introduction to ASP.NET 5 "
Talk: "Gestire il versioning delle entità con CQRS ed Event Sourcing"
1 Dec 2015 - 2 Dec 2015
Assago, Lombardy, Italy

Future Decoded 2015

11 Nov 2015
Rome, Latium, Italy

Software Architect Conference 2015

Talk: "The Fine Art of Time Travelling: implementing Event Sourcing"
13 Oct 2015 - 16 Oct 2015
London, England, United Kingdom

IT Camp 2015

Talk: "Implementing Domain Driven Design"
Talk: "Implementing CQRS and Event Sourcing"
21 Apr 2015 - 22 Apr 2015
Cluj-Napoca, Cluj, Romania

Tech-Ed Europe 2014

Talk: "Applying CQRS and Event Sourcing in Microsoft .NET Applications"

Talk: "Architecting and Implementing Domain-Driven Design Patterns with Microsoft .NET"
28 Oct 2014 - 31 Oct 2014
Barcelona, Catalonia, Spain