Azure Fundamentals Course 107979F

Posted on February 23, 2019 in Study
Updated: October 09, 2019

Notes from Azure Fundamentals Course 107979F

Before the course you can pre install what you need during the course. This includes:

With these tools in place you can use you MSDN subscription (if you have one) and just follow the the labs (on github) and save the course money.

During the course you will only be working in Azure Portal.
You will not be working in VSTS - now called Azure Devops.

On the course you will get $100 to spend (so you don't need a credit card). You will get it via Microsoft Azure Pass. It is a trial lasting 30 days.
The course book is only at Skillpipe. Since it is not a PDF is is more or less useless. Also you can find much better online for free. E.g.

Building

Iac - Infrastructure as Code - ARM Templates

When you are building stuff for Azure there are several ways to get the infrastructure in place.

  • Create the resource via Azure Portal
  • Create the resource via powershell. You get a lot of help from Powershell ISE
  • Create the resource via Azure CLI. You get some help via Clould Shell (in bash mode)
  • Use ARM templates from github as a starting point: Azure/azure-quickstart-templates
  • From Visual Studio you can get some pre-made ARM templates by selecting
    new project - cloud - resourse group. When you deploy the resources will be created

When the resource group is created you can save it as a ARM template and re-use it e.g. for

  • test and prod
  • app1 and app2
  • customer1 and customer2

Tips:

  • When you save the resource to Azure Templates, then only the ARM json template is saved. But also Powershell and CLI commands are generated. You need to store the Powershell or CLI commands somewhere else - e.g. in AzureDevOps or Ansible or other CD tool.
  • Shared resources should have its own reource group e.g. a network should be separated from the apps sharing that subnet.
  • The resource group should follow the life cycle of what it contains, so when the resources should die you just delete the resource group.
  • Charging can be seen on a resource group level
  • Charging can be filtered by tags, so add tags to all resources
  • Apply policies, so roles
    • cannot create expensive resources
    • cannot delete stuff in prod
  • Create jobs to auto-delete resource groups in test at 18:00

ACI - Azure Container Instances

ACI is the managed version (PaaS) of container services. Azure Kubernetes Service (AKS) is the unmanaged (IaaS) version.
In AWS the corresponding product is AWS Fargate.
As a developer I want the managed product.

Pre installing.

Before the course update to latest

  • Visual Studio
  • VsCode

(assuming you already have them installed)

Visual Studio Code

You could need the extensions

Visual Studio

In VSInstaller select the Azure package to get Azure SDK installed. This enables Visual Studio Azure resource group projects

Azure CLI

Azure CLI gives you convenient az commands to run from bash - very nice together with VSCode or Azure Cloud Shell.
HowTo: Install the Azure CLI for Windows

After install of MSI package:

  • Open PowerShell
# Verify installation
az -v
# azure-cli                         2.0.58
# .. and a lot of other rows
# Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
# Extensions directory 'C:\Users\<user>\.azure\cliextensions'

Notice the CLI is running on Python which it installed for itself.
You need to add some path to ENV to be able to run from Git Bash, too.

# Try login
az login
# Note, we have launched a browser for you to login. For old experience with device code, use "az login --use-device-code"
# You have logged in. Now let us find all the subscriptions to which you have access...
# [
#   {
#     "cloudName": "AzureCloud",
#     "id": "119643ba-5138-4a85-876c-aaaaaaaaaaaa",
#     "isDefault": true,
#     "name": "Visual Studio Enterprise",
#     "state": "Enabled",
#     "tenantId": "eef828d6-45f3-457f-a6e0-aaaaaaaaaaaa",
#     "user": {
#       "name": "someone@testing.az",
#       "type": "user"
#     }
#   }
# ]

More on Azure CLI

Azure PowerShell

Azure PowerShell will be used for automation scripts together with container yaml files and json ARM templates.
It replaces AzureRM, which you should uninstall first.

Installation of Azure PowerShell with PowerShellGet:

  • Open PowerShell
# While running as admin:

# Allow to download 
Set-ExecutionPolicy RemoteSigned
# Enable remote install
Import-Module PowerShellGet
# Install Azure PowerShell
Install-Module -Name Az -AllowClobber
# Test by connecting to Az
Connect-AzAccount

The new tool runs also on Linux (via .NET Standard), so that is why MS made a new one. Read More: Introducing the Azure PowerShell Az module.
Here are some Querys to get you started

Azure Storage Explorer

Exams

The course leads towards the Azure certification exams

People

Perhaps you know or will meet some of my co-students out in the community.

The End