4Dotnet CONF 2021

January 22, 2021


Stacy Cashmore, The Netherlands

Stacy is Tech Explorer DevOps at Omniplan, and Microsoft MVP in Developer Technologies. She’s been developing software since the mid-1990s and has been speaking about improving the way we develop software at conferences and meetups since 2018 As well as sparing with the software architect about technical issues, she spends her time helping the development team, and the wider company, with continuous improvement in terms of technical work, process and, of course, working together as a team.

Deploying Client Side Blazor to a Static Web App

12:00 (CET) - 12:50 (CET)

With the joint power of client-side Blazor and static web apps in Azure you no longer need to run web servers or App Services in order to host your site online. But what options are there for hosting your site? In this session, we'll be deploying an app using the magic of Azure Static Web Apps with a Github hosted repo, taking a look at what that magic is, manually deploy a web app to see how you can do it for yourself, look at an azure pipeline for those repos not hosted in Azure and even looking at attaching a custom domain to your website!

Henry Been, The Netherlands

Henry Been is an independent architect and developer from The Netherlands. He enjoys working with software development teams to create and deliver great software. His interests include the Azure cloud, Agile, DevOps, software architecture and the design and implementation of testable and maintainable software.

Testing and monitoring distributed applications build using Azure Functions, CosmosDB and Service Bus

13:00 (CET) - 13:50 (CET)

We have all seen the flashy presentations on building distributed applications using cloud offerings as Azure CosmosDB, Functions and messaging solutions. But how do you test such an application? How do you ensure that you do not only deploy fast and often, but can also be confident that your new deployments work reliable? In this session I will share my experiences with testing, deploying and monitoring distributed systems built using these cloud-native technologies. You will learn about the different types of tests used, dealing with databases, messaging systems and much more. And what about after the deployment, how do you monitor the quality of your application while running in production? What do you monitor when operating such a distributed system? And how? Join Henry Been to learn how you can not only build your new cloud services architecture, but can also test and operate it so you can reliable ship new features faster!


Irina Scurtu, Romania

Microsoft MVP for Developer Technologies, Software Architect and Microsoft Certified Trainer, always in a quest for latest trends and best practices in architecture, .NET and the world around it. Irina has more than 1000 hours of delivered trainings, workshops, and presentations, being passionate about .NET and the world around it. She is the founder of DotNet Iasi User Group where she tries to gather people that are willing to share their knowledge with others, and from time to time publishes articles on her blog.

Embracing gRPC in .NET

14:00 (CET) - 14:50 (CET)

With an increasing need for scalability and performance dictated by the modern web, it becomes harder and harder to choose an API paradigm that is suitable for service to service communication. While the classical models still work and have their own merits, some of them rely heavily on documentation, extensive coordination between teams or code-sharing. We use shared libraries, and over time our projects become intertwined with dependencies. In these cases, we need something to untangle those and reduce coupling. Welcome gRPC. gRPC has been around for a while and .NET Core 3.0 welcomes it as a first-class citizen. It is contract-based, performant - with smaller response/request bodies, perfect for polyglot environments and supports different models – from client-server, to bi-directional streaming out of the box. In this session, we will look at how to use gRPC and its 4 models and what are the benefits and or downsides of using gRPC compared to the traditional models.

Erwin Staal, The Netherlands

Erwin Staal is a Azure Architect and DevOps Consultant at 4DotNet (Meppel, the Netherlands). He has over more than 10 years of experience with both small and large organizations. He likes to immerse himself in the latest technologies. Currently he is working a lot with ASP.NET Core, Docker and Kubernetes. As a DevOps Consultant he helps companies with the implementation of DevOps and Continuous Delivery.

Azure Resource Manager templates deep dive

15:00 (CET) - 15:50 (CET)

There are multiple options in Azure to create your resources like VMs, databases or Web Apps. The Azure Resource Manager is one of them and ideal for infrastructure as code scenarios. In this session we will spend a few minutes on the basics of ARM and then quickly go into more depth on the advanced ARM-template topics! First, we will talk about how to organize your templates. As with normal code, we will try to create nicely structured and reusable templates. Linked templates can help tremendously with that so we will dive in those as well. We will look at quite some interesting template functions because they will make our templates more powerful and reusable.


Gerald Versluis, The Netherlands

Gerald Versluis (@jfversluis) is a software engineer at Microsoft from the Netherlands. After years of experience working with Azure, ASP.NET, DevOps, Xamarin and other .NET technologies, he has been involved in a number of different projects and has been building several real-world apps and solutions.

Codespaces, Developing from your iPad, browser, VS Code or anywhere!

16:00 (CET) - 16:50 (CET)

In this session we will look at Codespaces. The new solution by Microsoft which enabled you to move your development environment into the cloud. Do you still have an old machine sitting under your desk, perfectly configured for that one VB6 legacy app? Or is onboarding new team members costing your hours or even days? With Codespaces you can get fix all that and get a fully powered development machine up and running in 30 seconds. Say bye to the README.md, just give people a Codespace which has everything they need. During this session I will show you what Codespaces is and how you can start writing code without installing tools and SDKs for hours on end. We will see how to use Codespaces as a separate solution, from VS Code, in a browser and even directly built into GitHub.

Ankit Kumar, United States

Ankit Kumar is a Software Engineer in Azure Functions team at Microsoft. In Azure Functions, he works on the Functions runtime, client tools, deployment experiences and Linux support. His primary areas of interest lie within Software design for Distributed Systems.

Azure Functions and .NET 5

17:00 (CET) - 17:50 (CET)

Azure Functions recently announced preview support for .NET 5. This support is based off an out-of-process worker model, different from how .NET Core 3 and earlier versions were supported. In this talk, we will be looking at the similarities and differences between the two models, and how we can take advantage of the new features. We will go over the key criteria (such as performance) before thinking of moving to .NET 5 in Azure Functions.



Code of Conduct

Our Pledge

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Our Standards

Examples of behavior that contributes to a positive environment for our community include:

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.


This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.


Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement: Edgar Tichelaar: [email protected], Henry Been: [email protected] or Angela Schooneman: [email protected]. All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

  1. Correction
    Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
  2. Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
  3. Warning
    Community Impact: A violation through a single incident or series of actions.
  4. Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
  5. Temporary Ban
    Community Impact: A serious violation of community standards, including sustained inappropriate behavior.
  6. Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
  7. Permanent Ban
    Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
  8. Consequence: A permanent ban from any sort of public interaction within the community.


This Code of Conduct is adapted from the Contributor Covenant, version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.


Eduard Keilholz

Eduard is the initiator of DotNetFriday. Eduard is very passionate about technology and techniques required to create high quality software! He likes to share this passion by organizing sessions for technologies that enable you to write better software. He is responsible for the general event and partly responsible for speaker and session selection.

Jan de Vries

Jan has been developing software for well over a decade. Currently, he is working at 4DotNet as a Cloud Solution Architect/Developer and is awarded by Microsoft with the Microsoft MVP award. Jan is, together with Eduard intimately involved in organizing DotNetFriday. He is partly responsible for speaker and session selection.

Jan-Willem de Wagt

Jan Willem is the engagement officer of DotNetFriday. He is very eager to meet new people and works hard on making each DotNetFriday event a success. His mission is to fill our venue with attendees.

Erwin Staal

Erwin is an Azure Architect and DevOps Consultant. He likes to immerse himself in the latest technologies and share that knowledge with the community. He is involved in organizing DotNetFriday and is partly responsible for speaker and session selection.