Kirk Evans Blog

.NET From a Markup Perspective

Join a SUSE Linux Enterprise Server to an Azure AD Domain Services Managed Domain

This post will show how to use Azure AD Domain Services (AAD-DS) with SUSE Linux Enterprise Server (SLES). Background A customer asked how they might use AAD-DS with SLES 11 SP4 to test their product.  I am very familiar with Windows but still very much a Linux novice, and there seems to be no easy… Read more

Creating a Node.js Application Secured by Azure AD

This post shows how to create a Node.js application using Node.js, Bash for Windows, Visual Studio Code, and Azure Active Directory.  The final solution is available at  Background I’ve been a C# .NET developer for the past 17 years  Sure, I’ve coded with other languages (C++, Java, JavaScript, Pascal, F#, Visual Basic, Ruby), but… Read more

Using Azure KeyVault to Store Secrets

This post will show a very simple KeyVault demo application. Background Working with a customer, I needed to show them the simplest Azure KeyVault sample possible so they could easily understand what it does.  There is a really good sample published to GitHub (Azure KeyVault .NET Sample Code),  but it was still quite a bit… Read more

Using PowerShell With Certificates

This post will demonstrate using PowerShell cmdlets to create, read, and delete certificates.  Spoiler alert: it’s dead simple. Background I was working through the example Authenticating to Azure AD in daemon apps with certificates and I saw this: makecert -r -pe -n “CN=TodoListDaemonWithCert” -ss My -len 2048 TodoListDaemonWithCert.cer -sv TodoListDaemonPrivateKey.pvk Easy to read, right?  I… Read more

Connecting Virtual Networks in ARM Templates

This post will demonstrate creating two virtual networks, gateways for each, and connecting them together using an ARM template. Background I am working on a project that requires two Azure virtual networks to connect together.  I have done this so many times, typically through CLI scripts or PowerShell, but didn’t find the time to create… Read more

Azure Web App Client Certificate Authentication with ASP.NET Core

This post will walk through securing an ASP.NET Core application deployed to an Azure Web App that is secured using client certificates. The code is available for download at ClientCertDemo.  Background Many customers have implemented client certificates for older web applications and are looking at Azure Web Apps to move their code.  A common question… Read more

Deploy bacpac With Active Geo Replication

This post will show you how to use an ARM template to deploy a data application as a .bacpac file and to enable active geo replication to a second region.  This is a follow-on from the previous post, Deploy bacpac to Azure SQL Database Using ARM.  Background As our team has traveled around the world… Read more

Securely Upload to Azure Storage with Angular

This post will show you how to securely upload blob content to Azure Storage from an Angular app.  The source code for this solution is available at  Background Our team has been busy the past few months traveling the globe and hosting readiness workshops for our top global system integrator partners.  One of the… Read more

Creating ARM Templates with Azure Resource Explorer

This post will show how to use Azure Resource Explorer to assist in creating Azure Resource Manager templates. Background My team at Microsoft is busy on the road delivering a series of workshops to our top partners around the world.  One of the sessions that I put together for the workshop is called “Architecting Global… Read more

Azure Resource Manager Templates with Visual Studio 2015

This post will show you how to create an Azure Resource Manager template using Visual Studio 2015. Background In a previous post, I talked about Creating Dev and Test Environments with Windows PowerShell and showed how to create a virtual network with 3 subnets, and how to create 3 environments that each have 2 virtual… Read more