Three times a week (Monday/Wednesday/Friday), John Savill tackles your most pressing IT questions.

Read through the FAQ archives, or send him your questions via email.

In this group a FAQs a quick look at Azure Stack Development Kit disk resiliency, Availability Zones in Azure and using the Azure Cloud Shell.

Q. If I use the Azure Stack Development Kit, what disk resiliency is used?
Q. What are Availability Zones in Azure?
Q. When using the cloud shell via the Azure Portal, what does it store persistent data?

Q. If I use the Azure Stack Development Kit, what disk resiliency is used?
Dept - Azure Stack

A. The Azure Stack Development Kit enables Azure Stack to be self-deployed to a single box to enable testing of the Azure Stack functionality but is not supported for any production workloads. To have disk resiliency you must have at least 8 regular disks or 5 if SSD disks. You also need at least 2 TB of space. This can be checked in the variable definitions.

                              
 $SimpleSizeThreshold = 2TB
$SimpleDiskCountThresholdWithSsd = 5
$SimpleDiskCountThresholdNoSsd = 8

Q. What are Availability Zones in Azure?
Dept - Azure

A. When deploying multiple instances of a service to Azure, for example multiple web front end servers, it is important to reduce any single points of failure. For example in Azure the servers are stored in racks and so one resiliency is to ensure each instance is spread over multiple racks. This is what Availability Sets provides. When services are added to an Availability Set they are spread over three fault domains where each Fault Domain can be thought of as a rack of servers. These racks are all in the same datacenter however.

An Azure region is typically made up of multiple datacenters where a datacenter could be a completely separate physical building or perhaps an area within a datacenter that has physical firewalls (think big thick concrete/steel walls to stop fires) separates, independent power, communications, fire suppresion etc.

With Availability Zones you can now specific zone to which deploy resources; 1, 2 or 3. These are logical zones for your subscription. Another subscription may map to different physical zones for them however what is important is you can guarantee physical separation. You know things you deploy to AZ1 is a separate location to those deployed in AZ2 and so on. This gives a higher lever of resiliency from Availability Sets (which were all in one  facility). You do not use Availability Sets and Availability Zones for one service, you pick. Do you want resiliency at a rack level or resiliency at a facility level. Of course you can also have resiliency at a region level by deploying to multiple regions and using Azure Traffic Manager to provide a single entry point if its publically facing.

Initially the services and regions that support Availability Zones will be limited but will grow over time.

To use Availability Zones simple select a zone when deploying a resource. If you don't select a zone then Azure will just deploy and select which will also enable you to then use Availability Sets.

Q. When using the cloud shell via the Azure Portal, what does it store persistent data?
Dept - Azure

A. When you first use the Azure Cloud Shell via the portal (Bash or PowerShell) it will prompt you to setup storage. This storage is actually a disk image which is stored within an Azure Files instance share within a storage account. If you select the defaults then the following will be created:

  • A resource group names cloud-shell-storage-<region name>
  • A storage account names cs<unique GUID>
  • An Azure Files instance named cs-<user>-<domain>-<domain extension>-<unique GUID>

This can be viewed via the df command in CLI or Get-CloudDrive in PowerShell.

For example in my environment I have the following:

Azure Cloud Shell Portal

Notice the storage account name, the file share name (cs-john-savilltech-net<GUID then that a folder named .cloudconsole that contains the disk image for my user. Note it has a 5GB maximum size so that is the quota.

For more information see https://docs.microsoft.com/en-us/azure/cloud-shell/persisting-shell-storage.