Joonas Westlin

Joonas Westlin

Azure Architect/Developer and Azure MVP at Zure Ltd

Helsinki, Finland

Joonas has been working with Microsoft technologies as a hobby since the first version of .NET framework. Currently he works as a software developer at Zure, a company specializing in developing software on Microsoft Azure using its PaaS offerings. He is one of the 7 Azure MVPs in Finland. Joonas is currently the global #1 for Azure AD answers on Stack Overflow (and #7 for Azure overall).


Area of Expertise

  • Information & Communications Technology


  • Microsoft Azure
  • Azure Security
  • Azure Active Directory
  • Azure App Service
  • ASP.NET Core
  • Azure Functions
  • Azure CosmosDB
  • Azure PaaS

Zero Credential Development with Managed Identities for Azure Resources

Keys are always needed to access services in Azure and beyond. Storing and managing keys presents many problems, for example rotating and disabling them. Keys often also allow blanket access to the service with no way to limit it. Sometimes there is only one key that needs to be shared by services, so you won't have any way to disable access from one individually.

In this talk we will go through Managed Identities for Azure Resources, how they work, and how you can use them to use Azure services in a secure way without having to manage any keys yourself. We will go through a demo application which uses various Azure services through a managed identity, removing the need to use keys entirely.

The source code will be available to the audience so they have samples that they can use to implement managed identities in their own applications.

Building a document signing workflow using Durable Functions

Durable functions offer an interesting programming model for building workflows. Whether you need to sometimes split and do multiple things or wait for user input, a lot of things are possible. They do present some challenges as well, and the limitations of orchestrator functions can make working with Durable Functions seem very complicated.

In this talk we will go through the basics of Durable Functions along with strategies for deploying and monitoring them. A sample application will be presented where users can send documents for electronic signing. A Durable Functions workflow will power the signing process.

After attending this talk, you will have a basic understanding of Durable Functions as well as the source code for the sample application, which you can refer to when developing your own applications.

UI testing Azure AD protected single page applications with Cypress

Authentication can make automated user interface testing complicated. The tests should use the application as it would be normally used, and that includes authentication. It can be even more complicated when the application uses a federated identity provider like Azure Active Directory.

In this talk, you will see an approach to building UI tests with Cypress that test an Azure AD-protected single page application. The same approach can be applied to other testing frameworks as well. The source code of the presented application will be available to the audience.

Seriously securing an Azure PaaS application

What would it look like if we moved the security slider all the way to the max on an Azure PaaS application? If things like cost, developer productivity or ability to troubleshoot issues were not a problem, how far could we go? In this presentation, we are going to find out.

A sample application is shown running in Azure App Service that is connected to data sources like Azure Storage and Azure SQL Database. Private endpoints, Azure Front Door, Azure Key Vault and various other services are also used. At the end of the presentation, cheaper and more practical options are also shown. The sample application source code and other files will made available to the audience.

Deep dive into Azure Durable Functions

The Durable Functions extension to Azure Functions allows developers to build workflows using higher level abstractions. But what is really going on under the hood? It can be useful to know how all the pieces connect in case you are every trying to solve a trickier issue.

In this presentation, we will take a deep dive into the internals of the Durable Functions extension and the Durable Task framework. In addition to the default Azure Storage durability provider, we will look at the other officially supported providers and how they differ in their implementations.

Diagnosing issues in Azure App Service

Have you ever hit an issue when running an app in Azure App Service and scratched your head for hours, trying to find the issue? I know I have. In this talk we will explore various kinds of issues and how to diagnose and fix them. For example, high CPU usage and memory leaks.

We will look at the tools that Azure provides for diagnosing issues, including Application Insights and the built-in diagnosis tools in App Service. The various issues will be presented in demo applications, for which the source code will be made available to the attendees. After attending this talk, you will be better armed to deal with issues in your applications.

Securing a modern Web application with Azure Active Directory

Let's be honest, adding OpenID Connect/OAuth authentication to a modern Web application can be hard. The authentication protocols are not simple. And some of the quirks of Azure AD don't make it any easier.

In this presentation, we will walk through what happens when you authenticate to a Web application using Azure AD authentication. Then we will add Azure AD authentication to a front-end single page application and its back-end API. We will look at how to configure the Microsoft authentication libraries on both ends and what the critical settings are.

Using feature flags in an ASP.NET Core app on Azure

Larger features may take a long time to develop, but you still want to deploy production updates during development. Or maybe you want the users to be able to preview upcoming features? Either way, feature flags can resolve the issue.

In this presentation we take a look at using feature flags in an ASP.NET Core application running in Azure App Service. We use the Microsoft.FeatureManagement library to support both development-time feature flags and user-specific preview feature flags. The Azure App Configuration service's feature flag support is also explored. The sample application source code and other files will made available to the audience.

CloudBrew 2022 - A two-day Microsoft Azure event

November 2022 Mechelen, Belgium

CloudBurst 2022

October 2022 Stockholm, Sweden

Techorama Netherlands 2022

October 2022 Utrecht, Netherlands

Techorama 2022 BE

May 2022 Antwerpen, Belgium

Joonas Westlin

Azure Architect/Developer and Azure MVP at Zure Ltd

Helsinki, Finland