.NET, Cloud & Software architecture

18-20 APR 2024

20 APR - Main Conference
08:30-09:30
09:30-10:30
10:50-11:50
Room 1
Room 3

Combining the power of Kubernetes and MLOps brings scalability, reliability, and reproducibility to generative AI workflows. In this session, we will explore how Kubernetes enables the orchestration of distributed generative AI training and inference pipelines, while MLOps practices ensure efficient model development, deployment, and monitoring. Join us to discover how this combination empowers organizations to unlock the full potential of generative AI while achieving seamless scalability and operational excellence.

12:10-13:10
Room 1
Did you know that the .NET compiler turns our async methods into classes? And that .NET adds a try/catch block to each of these classes, potentially hiding thrown exceptions? It's true! In this session, we will learn how to best use async/await in C# by analyzing how .NET compiles our async code. Join me as we take an existing app and optimize its async code together, showing off performance gains, better exception handling, improved run-time speed, and smaller app size!
Room 2
OpenTelemetry has quickly become the go-to industry standard for distributed tracing, logging, and metrics. Its widespread adoption across the industry, including the .NET ecosystem, has made it a breeze to use in your applications. But larger, more complex systems introduce challenges that require us to strengthen our understanding of observability, align on our observability goals, and better understand the full capabilities of the OpenTelemetry project. We need to understand how to choose the right observability signal for each use case, apply a set of best practices to the telemetry we collect, manage costs through different sampling strategies, and select the optimal architecture by leveraging the OpenTelemetry Collector. In this session, you'll learn the right questions to ask and gain a deeper understanding of the available options in the observability space to become more effective in spying on your systems!
Room 3
Imagine a world where you never face discrepancy between your application infrastructure requirements, your configuration and your actual infrastructure. In this world, the only thing you need to know is your preferred high-level programming language. In this presentation, I will introduce you to this world. Using source control management tool is now a common practice for both the code of our application and the code of our infrastructure. However, we often continue to manage them separately. There are many reasons for this. The most common one is that the team managing the application and the team managing the infrastructure are two distinct teams. But, today, more and more teams are embracing the 2-pizzas team model where they are accountable for what they ship from code to production. In this case, why couldn't we manage everything at once? I will show you how we can achieve this with the AWS Cloud Development Kit.
14:10-15:10
Room 1
We know it’s vital that code executed at scale performs well. But how do we know if our performance optimizations actually make it faster? Fortunately, we have powerful tools which help—BenchmarkDotNet is a .NET library for benchmarking optimizations, with many simple examples to help get started. In most systems, the code we need to optimize is rarely straightforward. It contains assumptions we need to discover before we even know what to improve. The code is hard to isolate. It has dependencies, which may or may not be relevant to optimization. And even when we’ve decided what to optimize, it’s hard to reliably benchmark the before and after. Only measurements can tell us if our changes actually make things faster. Without them, we could even make things slower, without realizing. Understanding how to create benchmarks is the tip of the iceberg. In this talk, you'll also learn how to: * Identify areas of improvement which optimize the effort-to-value ratio * Isolate code to make its performance measurable without extensive refactoring * Apply the performance loop of measuring, changing and validating to ensure performance actually improves and nothing breaks * Gradually become more “performance aware” without costing an arm and a leg
Room 2
The past few years have seen huge hype around distributed systems and microservices. Pre-emptive implementation of a distributed architecture has led to many engineering teams struggling with vast complexity and sadly for many, the dreaded "Distributed Monolith". Some teams are in such a pickle that they are even reverting their distributed applications back to a monolith. I'm all for designing and developing for future growth, but there is a better way than diving straight into distributed architecture. Behold, the Modular Monolith. By design, the modular monolith is "distribu-ready" and in this session, we'll cover the design principles and implementations that make the modular monolith one of the best options for future-proofing your application whilst minimizing complexity.
Room 3

You've likely heard about OpenTelemetry and are either starting to use it, or thinking about using it in your applications as you should! But how do you use it effectively, how should you set things up, what spans or activities should you create, how should you name them?

In this talk we'll cover:
* Codeless instrumentation
* Getting automatic spans from popular libraries
* What application context is important in your observability
* Different setup techniques
* Using OpenTelemetry in messaging systems like Azure ServiceBus and Kafka
* How to export your telemetry signals to an Free OpenSource backend
* How K8s can make observability simpler

This will be a talk about best practices, tips and tricks for getting the most out of OpenTelemetry.

15:30-16:30
Room 1
Ever wondered how IDE’s are built? In this talk, we’ll skip the marketing bit and dive into the architecture and implementation of JetBrains Rider. We’ll look at how and why we have built (and open sourced) a reactive protocol, and how the IDE uses a “microservices” architecture to communicate with the debugger, Roslyn, a WPF renderer and even other tools like Unity3D. We’ll explore how things are wired together, both in-process and across those microservices. Let’s dive in!
Room 2
Room 3
In today's rapidly evolving world of cloud computing, choosing the right platform for deploying and managing applications can be a daunting task. Let's shed light on the strengths and weaknesses of three popular Azure solutions: Azure App Services, Azure Kubernetes Service (AKS), and Azure Container Apps. By delving into their unique features, performance characteristics, and scalability options, you will gain a comprehensive understanding of which solution best aligns with your application needs.
16:30-16:50
Room 1
16:50 - 17:50
Room 1

Workshops

Conference ticket

Regular ticket

01 NOV 23 - 31 March 24

This ticket will give you access to the 1-day, 3 tracks conference

20 April
  • Access to all sessions
  • Access to Expo Hall
  • Lunch, Coffee & Drinks included
  • Dotnetdays Goodie Bag
€179
€149 (excl. fees & vat)
Workshop Ticket

WORKSHOP

01 NOV 23 - 17 APR 24

This ticket will give you access to the pre-conference workshop.

18-19 April 2024
  • 2 days workshop
  • Attendance diploma
  • Lunch, Coffee breaks & drinks
€760 (excl. fees & vat)
ALL IN

COMBI

Workshop + 40% off for the conference

Access to the 1-day, 3-tracks conference and 2 days workshop.

18-19 April
  • 2 days workshop
  • Attendance diploma
  • Lunch, Coffee breaks & drinks
  • Discount for conference ticket
20 April
  • Access to all sessions
  • Access to Expo Hall
  • Lunch, Coffee & Drinks included
  • Dotnetdays Goodie Bag
€849 (excl. fees & vat)

Online partners

Leader

Learning Partners

Friends

Where to stay in Iași

Card image cap

Hotel Unirea

Email their reception(reception@hotelunirea.ro), communicate the special code: dotnetdays and get special prices for accomodation

Card image cap

Hotel International

Go on the website, apply the code: dotnetdays and get special prices

Get in touch

Iași, Romania
info@dotnetdays.ro