For some time now you're able to develop most of the Azure/.NET Core things using Visual Studio Code, or Visual Studio for Mac. Even Rider from JetBrains partially supports it, but the only way to get a proper development experience, at least for me, is to fire up the real Visual Studio on Windows.
This post is a guide on how to prepare for a workshop about serverless on Azure that I'm occasionally holding on various conferences. You can see the list of future and previous workshops and talks here.
Although you can use whatever you want, the setup I'll be using for the workshops is described bellow.
First of all, you're going to need an Azure subscription. If you don't already have one, you can get a free trial here.
Just to warn you - you're going to be asked for your credit card. That info is being used to make sure that you're not requesting a zillion of free trials, and Azure WON'T CHARGE YOU without your explicit permission to remove the spending limit.
Make sure that you DON'T start the free trial before there's less than a month until the workshop, or otherwise the $200 you get will expire, and you won't be able to follow the workshop without allowing Azure to charge your credit card (or start another free trial with another credit card).
You're going to need a Windows machine. You can use your laptop, a VM on your laptop, a physical remote machine, a cloud VM... something.
What I'll be using is a VM on Azure. Specifically, the VM size I find good enough for what I need is F4s_v2 (4 vcpus, 8 GB memory).
You can follow the instructions available here to get one.
Please be warned that in order to skip getting charged while you're not using the VM you need to stop it, or better said unallocate it. Shutting it down from Windows won't do that for you, and you're still going to get charged, so do it through the Azure Portal.
We're going to need the latest stable Visual Studio. The Community "flavour" will do.
Since I'm using a VM on Azure, instead of installing Visual Studio by myself, I'm using an image that comes with Windows 10 Enterprise (because there's no Pro or Home available), and the latest stable Visual Studio 2017 Community.
The image is called Visual Studio Community 2017 (latest release) on Windows 10 Enterprise N (x64) and it's available here.
Visual Studio extensions
There are two things that we'll need, and the first one is usually already installed with Visual Studio.
The first one is an extension that allows you to develop and debug Azure Functions inside Visual Studio and it's available here.
The second one eases our life significantly when wanting to play with Kubernetes, and it's available here.
To locally run and debug containers, we're going to need Docker Desktop available here. To download it, and use it you're going to need to create a free account.
Unless you have a specific reason, DON'T configure it to use Windows Containers.
Since we'll be building a web service, the easiest way to communicate with it is through something like Postman. You might have your own preferences, but in case you don't please download Postman here. There's a free account available.
Azure Storage Explorer
We'll be uploading files to Azure Storage, but we'll also "investigate" how does Event Sourcing in Durable Functions work.
The easiest way to do that is to use the Azure Storage Explorer available here. Once you install it, start it and log in with your Azure account.
Windows users love GUIs <3
It's always "fun, and exciting" to click through some wizard, except when you're in a hurry, or want something reliable and reproducible.
In that case, we need a way to execute some code to make Azure create the services we need, and Azure CLI is one of the best ways to do it, so please follow the instructions here to install it.
Two more things...
If you'll be attending a 4 hour version of the workshop the above is all that you'll need, but if you'll be attending the 8 hour version, you're going to need two more things. Don't worry... we won't spend the additional 4 hours only on those two things. We'll also dive deeper into each segment of the system that we'll be building.
We'll cover the CI/CD process for all the things in the workshop, and there's no better way to do it than to use a solution from Microsoft.
Please create a free account here.
Although Azure CLI is great, it doesn't hurt to master a tool that's usable on other clouds because a proper resilient cloud solution usually spans across at least two clouds. So, on top of using Azure CLI, we'll cover how to provision our services using Pulumi. Please create a free account here.
That's about it. There will be some additional small tweaks we'll cover during the workshop, but so far you're done.
Congrats for sticking till the end, and c ya :)