Skip to the content.

1. Provision Infrastructure

๐ŸŽฏ Goal: Provision the infrastructure for the workshop.

๐Ÿ—๏ธ Architecture

First, letโ€™s take a closer look at the application weโ€™ll be using for this workshop. Itโ€™s a solution comprising two microservices, one written in C# and the other in Java, and a set of Azure resources. The solution allows users to onboard and manage simplistic smart-home devices in this case a temperature sensor. A simulator component will act as the sensor, generate the temperatures each device would measure and sends them to our small device management solution over EventHub.

While this solution is rather oversimple and not really a real-world example, its purpose is to provide you with hands-on experience in instrumenting various services written in different languages. This way, youโ€™ll become more comfortable with instrumenting your own solutions. Below, youโ€™ll find a diagram outlining our solution and the required resources.

Architecture

๐Ÿ› ๏ธ Provisioning

๐Ÿ“Œ Starting Point: Make sure that you use 00-workshop branch.

We recommend opening the project in VS Code within Dev Container or using GitHub Codespaces.

Before we dive into the workshop, itโ€™s essential to have your Azure resources prepared. Think of this as laying the foundation for our upcoming steps.

To simplify this process for everyone, we have provided Bicep and Bash scripts that can create the entire infrastructure in one go.

Hereโ€™s what you need to do:

  1. Create a .env in the root of the project and add the following content to it.

     ENV_RESOURCE_GROUP_NAME=        # name of the resource group that will be created in your Azure subscription
     ENV_LOCATION="westeurope"       # Azure region to use for the created infrastructure
     ENV_PROJECT_NAME=               # project name that will be used for all created resources; should contain only lowercase letters or numbers
    
  2. Run the following command in the root of the repository

     az login
     az account set --subscription <name or ID of your subscription>
    
     make provision
    
  3. Take a coffee break โ˜•๏ธ

When you return, your resources should be provisioned and ready to go ๐Ÿš€.

๐Ÿ“ Note: If you are interested in how its deployed and all the Bicep scripts, here they all are: /infrastructure

Running the script will provision the following essential resources for your application:

Head to you Azure portal and make sure your resources are indeed provisioned. Fell free to have a small look around, before heading to the next chapter to deploy the solution on your AKS cluster.

Previous Section โช โ€– Return to Main Index ๐Ÿ  โ€– Next Section โฉ๏ธ