Building Distributed Systems with .NET 10

A hands-on workshop with Dylan Beattie, covering HTTP, REST, GraphQL, gRPC, RabbitMQ, SignalR, and Aspire: what they do, why you would use them, and how they all work with the latest versions of C# and .NET.

  • Jun 1
    Øksnehallen | Kødbyen, CPH
    2 days
    07:00 - 15:00 UTC
    Dylan Beattie
    8 900 DKK

Most software starts out pretty simple: front end, back end, maybe a database, and you’re done. Then the client wants an API, a mobile app, notification emails, realtime chat; cloud gives you elastic hosting, apps that dynamically scale based on workload and traffic, and if you’re just starting out with distributed systems design, the possibilities can be overwhelming. APIs, message queueing, REST, GraphQL, gRPC… what should you choose, how does it work, how do you get started?

This workshop gives you a hands-on introduction to the most important messaging patterns used in modern application development. Using C# and .NET, we’ll build a series of small example apps and services, wire them together using these patterns, and discuss how - and why - you’d apply the same patterns in your own applications.


Introduction

  • What are “distributed systems”?
  • Monoliths and microservices
  • Common integration patterns
  • Principles of distributed architecture



HTTP, REST and Hypermedia

  • Designing HTTP APIs
  • Understanding REST
  • Working with HTTP APIs: testing and tooling
  • Interactive documentation with OpenAPI and Swagger



Message queues and pub/sub

  • Principles of message queues
  • In-process queues using .NET channels
  • Distributed queues with RabbitMQ and EasyNetQ
  • Queueing strategies and error handling



Protocol Buffers and gRPC

  • Introduction to Protocol Buffers
  • Contract-first development using protocol definitions
  • Cross-platform gRPC



Connecting to the Web

  • Integrating browsers with distributed systems
  • Protocols for realtime communication
  • Working with SignalR



Observability and Aspire

  • Adding instrumentation to your distributed apps
  • Principles of observability: spans, traces, metrics and logs
  • Distributed development with Aspire



Target Audience and Prerequisites
This workshop is aimed at developers with some experience writing applications using C# and Microsoft .NET. The workshop can be run in person or online. Attendees will be writing and running .NET code during the workshop, so will need a computer running Windows, macOS or Linux, and the Microsoft .NET 10 SDK from https://dotnet.microsoft.com/download. The sample application and examples used during the workshop all run on .NET 10, and are tested on Linux, macOS and Windows.

Dylan Beattie
Creator of the Rockstar programming language

Dylan Beattie is an independent consultant who has been building data-driven web applications since the 1990s. He’s managed teams, taught workshops, and worked on everything from tiny standalone websites to complex distributed systems. He’s a Microsoft MVP, and he regularly speaks at conferences and user groups all over the world.

Dylan is the creator of the Rockstar programming language, and the founder, vocalist and lead guitarist with The Linebreakers, the world's greatest nerd comedy classic rock disco alt punk covers band.

    Programutvikling uses cookies to see how you use our website. We also have embeds from YouTube and Vimeo. How do you feel about that?