Microsoft Azure Infrastructure and Deployment exam AZ-100 – Resources Part 4 – Configure and Manage Virtual Networks

AZ-100, AZ-101 and AZ-102 are all ceasing in favour of the AZ-103 single exam. See the link to the new exam syllabus – here

Part 4 of 5 linking to the most appropriate documentation for learning how to achieve the objectives set in the new Azure AZ-100 exam.

There’s a an addition I’d like to make for this objective and that is service endpoints.

It seems important to grasp this concept if your posture is one of using Azure services without exposing them to the Public Internet.

The new Azure Firewall – which deserves a post in its own right is also in preview as of August 2018.

As does the Azure VirtualWAN – or SD-WAN to everyone else in the world.

Configure and manage virtual networks (20-25%) content which matches the objectives for virtual networks.

Create connectivity between virtual networks

May include but not limited to:
Create and configure VNET peering;

create and configure VNET to VNET;

verify virtual network connectivity;

create virtual network gateway

Implement and manage virtual networking

May include but not limited to:
Configure private and public IP addresses, network routes, network interface, subnets, and virtual network

Configure name resolution

May include but not limited to:
Configure Azure DNS;

configure custom DNS settings;

configure DNS zones

Create and configure a Network Security Group (NSG)

May include but not limited to:
Create security rules;

associate NSG to a subnet or network interface;


identify required ports;

evaluate effective security rules

Microsoft Azure Infrastructure and Deployment exam AZ-100 – Resources Part 3 – Deploy and manage virtual machines (VMs)

AZ-100, AZ-101 and AZ-102 are all ceasing in favour of the AZ-103 single exam. See the link to the new exam syllabus – here

Part 3 of 5 linking to the most appropriate documentation for learning how to achieve the objectives set in the new Azure AZ-100 exam. resources that match the learning objectives for this module:

Cost Engineering note:

If you’re coming from a perspective of managing on-premises infrastructure, you might understand the notion of “disk provisioning”. In VMware land this usually offers you a chocolate box of “Thin Provisioning”, “Thick Lazy Zero” and “Thick Eager Zero”.

Making a decision on the disk provisioning type has a consequence on the management of the VMware datastores. This is another topic entirely.

In Azure, my interpretation is that all VMs disks are “Thin Provisioned” and there’s no control exposed to the Azure Administrator to change that, which is fine. I’m happy to have that decision taken away from me.

The point I’m getting at here is that when you choose the size of data disks to attach to your VM, you’ll only be paying for the space you’ve used or written to in that disk. There are other things to consider when you’re not using Azure Managed Disks like maximum sizes that can be protected with Azure Recovery Services Vaults or other service limits, but once you’ve considered those limits and worked out your sweet spot, you may aswell choose the largest size of disk that works for you (a consistent large size of course!) to avoid inflating disks later down the road.

Create and configure a VM for Windows and Linux

May include but not limited to:
Configure high availability;

configure monitoring, networking, storage, and virtual machine size;

VM Size

deploy and configure scale sets

Automate deployment of VMs

May include but not limited to:
Modify Azure Resource Manager (ARM) template;

configure location of new VMs;

Unsure – seems too simple

configure VHD template;

deploy from template;

save a deployment as an ARM template;

deploy Windows and Linux VMs

Too vague

Manage Azure VM

May include but not limited to:
Add data discs; add network interfaces;

Data disk
Network Interface

automate configuration management by using PowerShell Desired State Configuration (DSC) and VM Agent by using custom script extensions;

manage VM sizes;

move VMs from one resource group to another;

redeploy VMs

Manage VM backups

May include but not limited to:
Configure VM backup;

WARNING Duplicate exam exercise – see “Implement and Manage Storage” – “Implement Backup”

define backup policies;

WARNING Duplicate exam exercise – see “Implement and Manage Storage” – “Create and Configure Backup Policy”

implement backup policies;

WARNING Duplicate exam exercise – see “Implement and Manage Storage” – “Create and Configure Backup Policy”

perform VM restore

WARNING Duplicate exam exercise – see “Implement and Manage Storage” – “Perform a restore operation”

Microsoft Azure Infrastructure and Deployment exam AZ-100 – Resources Part 2 – Implement and manage storage

AZ-100, AZ-101 and AZ-102 are all ceasing in favour of the AZ-103 single exam. See the link to the new exam syllabus – here

Part 2 of 5 linking to the most appropriate documentation for learning how to achieve the objectives set in the new Azure AZ-100 exam.

Implement and manage storage (20-25%)

Create and configure storage accounts

May include but not limited to:

Configure network access to the storage account;

create and configure storage account;


Creating a new storage account

New-AzureRmStorageAccount -ResourceGroupName az100-rg01 -Name az100sa01 -SkuName Standard_LRS -Location uksouth -AccessTier Hot -Kind StorageV2 -Tag @{ Dept="IT"; Environment="Test" }

To upgrade existing General Purpose V1 accounts to V2.

Set-AzureRmStorageAccount -ResourceGroupName <resource-group> -AccountName <storage-account> -UpgradeToStorageV2

Change BLOB tier allocation to “Cool” for all BLOBs in a container. Other tiers are “Hot” and “Archive”, but “Archive” is not available in all regions.

$StgAcc = "<StorageAccount>"
$StgKey = "<StorageKey>"
$Container = "<Container>"
$ctx = New-AzureStorageContext -StorageAccountName $StgAcc -StorageAccountKey $StgKey

#Get all the blobs in container
$blob = Get-AzureStorageBlob -Container $Container -Context $ctx

#Set tier of all the blobs to Archive

generate shared access signature;

install and use Azure Storage Explorer;

manage access keys;

monitor activity log by using Log Analytics;

I’m afraid I can’t get a good resource for this right now.

implement Azure storage replication

Import and export data to Azure

May include but not limited to:
Create export from Azure job;

create import into Azure job;

configure and use Azure blob storage;

configure Azure content delivery network (CDN) endpoints


New-AzureRmCdnProfile -ProfileName az100-cdnpro1 -ResourceGroupName az100-eun-az100-rg01 -Location "North Europe" -Sku Standard_Verizon

The PowerShell to create an EndPoint eludes me. There’s a strange combination or “OriginPath” and other Origin related parameters that I just can’t quite seen to get my head round.

Configure Azure files

May include but not limited to:

Create Azure file share;


$storageContext = New-AzureStorageContext az100storacc blah-iamtheprimarykey-blah

$share = New-AzureStorageShare az100sysncshare -Context $storageContext

create Azure File Sync service;

create Azure sync group;

troubleshoot Azure File Sync

Implement Azure backup

May include but not limited to:

Configure and review backup reports;

perform backup operation;

create Recovery Services Vault;

create and configure backup policy;

perform a restore operation

Microsoft Azure Infrastructure and Deployment exam AZ-100 – Resources Part 1 – Manage Azure subscriptions and resources

AZ-100, AZ-101 and AZ-102 are all ceasing in favour of the AZ-103 single exam. See the link to the new exam syllabus – here

Part 1 of 5 linking to the most appropriate documentation for learning how to achieve the objectives set in the new Azure AZ-100 exam. More specific configuration examples will be added in PowerShell as I work through the subject matter myself.

A friend on Reddit added the latest content from Ignite. Could be a good place to start before begging with my posts.

Also, please consider this guide from Skylines Academy for your PowerShell skills to bolster your competency on Azure and for the AZ-10x exams.

Manage Azure subscriptions and resources (15-20%)

Manage Azure subscriptions

May include but not limited to:

Assign administrator permissions;

Global Administrator is required to assign roles and is the default “god-like” administrator role in Azure. In Microsoft Graph API, Azure AD Graph API, and Azure AD PowerShell, this role is identified as “Company Administrator”. It is “Global Administrator” in the Azure portal.

PowerShell ;

connect-azuread -TenantId

$PasswordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile
$PasswordProfile.Password = "Saturday29"
New-AzureADUser -DisplayName "Bobby Balls" -PasswordProfile $PasswordProfile -UserPrincipalName "" -AccountEnabled $true -MailNickName "BobbyBalls"

$roleMember = Get-AzureADUser -ObjectId ""
$role = Get-AzureADDirectoryRole | Where-Object {$_.displayName -eq 'Company Administrator'}
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId $roleMember.ObjectId
Get-AzureADDirectoryRoleMember -ObjectId $role.ObjectId | Get-AzureADUser

configure cost center quotas and tagging

Alerts can only be set up per subscription and is still in preview with five alert recipients for when a subscription reaches a spend value. No other options exist in the drop down menu as yet.

Settings tags on resources rather than resource groups seems to be a little abstract and requires the resourceID rather than the name.

WARNING – This will set ONLY what is stated in the commands and will remove all existing tags!

Resource Groups In PoSh

Set-AzureRmResourceGroup -Name resgroupaz100 -Tag @{ Dept="IT"; Environment="Test" }
(Get-AzureRmResourceGroup -Name resgroupaz100 ).Tags

Resources in PoSh

$resource = Get-azurermresource -Name az100-aad-vm1-nsg
$id = $
Set-AzureRmResource -resourceid $id -Tag @{ Dept="IT"; Environment="Test" } -force
(Get-AzureRmResource -Name az100-aad-vm1-nsg).Tags

configure subscription policies

A little misleading in the title. Policies can be assigned to resource groups within subscriptions. So, you can’t assign a resourece group to a subscription and walk away. Assigning policies to resource groups is useful for ensuring things like selecting which VM sizes are available or which locations are available for services to match organisational policy.

Analyze resource utilization and consumption

May include but not limited to:

Configure diagnostic settings on resources;

Using the Monitor resource, you can identify which resources have Diagnostics enabled for a high level overview.

Or, you can visit the resource directly and choose Diagnostic settings and choose one of the three diagnostic destinations and if choosing a storage account, configure retention.

  • Storage Account
  • Event Hub
  • Log Analytics

Using PoSh

Set-AzureRmDiagnosticSetting -ResourceId [your resource id] -StorageAccountId [your storage account id] -Enabled $true

create baseline for resources;

Not sure what this means other than using JSON templates or PoSh DSC

create and rest alerts;

analyze alerts across subscription;

analyze metrics across subscription;

create action groups;

monitor for unused resources;


monitor spend;

report on spend;

Could mean Cloudyn
Or simply the Billing and Cost Management blade

utilize Log Search query functions;

view alerts in Log Analytics

Manage resource groups

May include but not limited to:

Allocate resource policies;

configure resource locks;


New-AzureRmResourceLock -LockName lock-az100demo-uks-az100-rg01 -LockLevel CanNotDelete -ResourceGroupName "az100demo-uks-az100-rg01"
$lockId = (Get-AzureRmResourceLock -ResourceGroupName az100demo-uks-az100-rg01).LockId
Remove-AzureRmResourceLock -LockId $lockId

configure resource policies;

implement and set tagging on resource groups;

WARNING Duplicate exam exercise – see “Manage Azure Subscriptions” – “Configure Cost Centre Quotas and Tagging”

move resources across resource groups;


$webapp = Get-AzureRmResource -ResourceGroupName az100demo-uks-az100-rg01 -ResourceName az100demo-website
$plan = Get-AzureRmResource -ResourceGroupName az100demo-uks-az100-rg01 -ResourceName az100demo-webplan
Move-AzureRmResource -DestinationResourceGroupName az100demo-uks-az100-rg02 -ResourceId $webapp.ResourceId, $plan.ResourceId

remove resource groups


Remove-AzureRmResourceGroup -Name "az100demo-uks-az100-rg01"

Microsoft Azure Infrastructure and Deployment AZ-100

Microsoft’s recently announced an update to the Azure exam track, replacing the administration, developer and architect exams. The administration exam “Implementing Microsoft Azure Infrastructure Solutions 70-533” is being replaced with the “Microsoft Azure Infrastructure and Deployment AZ-100” and “Microsoft Azure Integration and Security AZ-101”. Both are available in Beta and I’ve committed to take the AZ-100 early August.

If you have already passed the 70-533, you can take a transition exam, the “Microsoft Azure Administrator Certification Transition AZ-102”.

Here’s the Microsoft Learning Blog Post

The 70-533 exam held the following measurement categories;

Design and Implement Azure App Service Apps (10-15%)
Create and Manage Azure Resource Manager Virtual Machines (20-25%)
Design and Implement a Storage Strategy (10-15%)
Implement Virtual Networks (15-20%)
Design and Deploy ARM Templates (10-15%)
Manage Azure Security and Recovery Services (25-30%)
Manage Azure Operations (5-10%)
Manage Azure Identities (5-10%)

The AZ-100 exam holds the following measurement categories;

Manage Azure subscriptions and resources (15-20%)
Implement and manage storage (20-25%)
Deploy and manage virtual machines (VMs) (20-25%)
Configure and manage virtual networks (20-25%)
Manage identities (15-20%)

I’m happy to see “Design and Implement Azure App Service Apps” drop off. It wasn’t appropriate from the perspective of a on-premises compute administrator moving to administer Azure. The subject was so abstract that I had to read Sasha Rosenbaum’s great book “Serverless computing in Azure with .NET” just to even try to grasp what was going on in the 70-533 training material. Learn a thing just to understand why I’d do a thing.

How the “Design and Deploy ARM Templates” is either de-focused or folded into the Deploy and Manage Virtual Machines section will be for me to see on the exam, but I’ll assume it’s implicit in “Deploy and manage virtual machines”.

Overall, I’m looking forward to this unexpected challenge. I’ll report back on the 9th to give a steer on the learning content that’s most applicable for the exam.

Take care


Coffee +

A few things I want to say about coffee.

I write this because there’s a notable difference in meeting people to discuss ideas, solve problems and agree on outcomes when people either have or haven’t had coffee.

I often warn people upfront “I’ve had coffee, so if I start whatever, let me know”.

What follows are a mix of subjective and objective observations with coffee providing a route to use for the worlds most popular drug, Caffeine.

Positives of coffee

  • Helps achieve a level of mental alertness “on-demand”.
  • Good black coffee has been considered to be a positive fuel for your microbiome.
  • The ritual around getting or making coffee has social value.
  • A good coffee tastes damn good

Negatives of coffee

  • Coffee makes my mind a little tight. The best description is that it doesn’t allow for space in my mind, I become wired to a thing or a thought train. This can be useful in a result oriented sense when needing to get from A to B with some technical operations, but outside that focused use case, I consider it a negative.
  • If I were coffee shopping and I could choose “no Jitters”, I would. Some coffees make me feel completely on edge, jittery, heart palpatations, all sorts.
  • A bad coffee tastes the worst.
  • A badly judged late coffee hit will mess with your sleep. This is NOT okay. Sleep is crucial to a happy life for me and staring at the ceiling is not something I’m a fan of. I have in the past subjected myself to intense anxiety over loss and the result of that is not something I’d recommend for anyone.

This is just a light heaerted post and not meant to be an exhuastive list of all the good and bad effects of Coffee and Caffeine, but I do find the social effects the most troublesome which created the motivation to write this.
I imagine most of the world is more social in their working and daily lives than me. My professional life demands large quantities of “me time”. When I come out from that zone, a poorly timed coffee for either me or my co-workers often makes life more difficult than it need be.

Take care

Azure Non-Profit donated credits

Microsoft offer Office 365 E1 as a donation to non-profit organisations and is well known. Exchange Online is a popular feature of Office 365. Running your own e-mail system in 2018 is a chore. The service limits are way and above what most people need.
What is less well known is that there’s an opportunity to benefit from $5000 USD of Azure credits per year for non-profits, too.

This can be enjoyed by following this URL and applying for the credit; and go forward from “Azure plans and pricing”.

You will be asked what your tenant ID and Microsoft will add a subscription to your account which can be monitored by visiting

This is all brilliant and empowering. But I offer a word of caution. Beware that not all services can move subscriptions.

It’s a little like in the old days, you called a test Human Resources application server for example, both as it’s hostname and it’s hypervisor name.
Then some combination of events end up with the system going live and you’re looking at a box with “test” burnt into the name. It makes you sad, it confuses contract staff and is an all round fail.

What I’m getting at is that you’re likely to test some services and perhaps even make them live. But at some point you will probably start running out of that $5000 USD and have to move the resources onto a different subscription to allow them to contine functioning. Beware of creating services that aren’t able to be moved to a subscription that you can’t maintain or re-hydrate with funds.

I’m feeding back to our Microsoft account manager this week to suggest a different model for the donation. One where MS ask for an existing subscription like a credit card Pay-As-You-Go subscription or an EA subscription. Then, at least, there’s a parallel billing mechanism that you can support the resources allocated to that subscription.

Take care