Microsoft Azure Cloud Shell Highlights: 7 Important Features

Azure Cloud Shell is an admin machine that runs inside the Azure environment. It is used to manage and control all your resources housed in Azure. This flexible tool allows system administrators and power users to work with a Windows-based PowerShell option or opt for Linux-based Bash experience.

The Azure Cloud Shell is easily accessible from anywhere because it runs in your native browser. Microsoft authenticates the access link in order to provide a secure link to your cloud-computing environment.  This innovative scripting tool has seven important features that set it apart. Let’s explore them to understand more about Azure Cloud Shell.

Azure Cloud Shell—At a Glance

  • Browser-based shell for Microsoft Azure
  • Runs on Ubuntu 16.04 LTS
  • Used to develop and manage Azure resources
  • Eliminates the need of installing, maintaining, and versioning a machine
  • Specially designed for interactive sessions
  • Terminates if left inactive for more than 20 minutes

Major Features of Azure Cloud Shell

Cloud Shell works on a browser-based model and eliminates all the installation hassles for IT teams. It helps streamline Azure resource management. There are a number of features that make a system administrator’s job a lot easier.  

Easy Resource Viewing

Listing resources in Azure Cloud Shell is a breeze. Simply use the cd and dir commands to navigate to under a specific subscription. To list the available VMs, Web Apps, Resources, and Resource Groups type cd VirtualMachines and then use the dir command to display a list of all resources of a specific type.

If you want to access a list of all the commands that are applicable in any given context, use the Get-AzureRMCommand cmdlet. A neat trick that lets you view all the cmdlets of any specified module say Azure Active Directory, is Get-Command -Module AzureAD. You can replace the module name with whichever module you need to target.

Monaco Editor

The text editor is a helpful feature that lets the user edit text files saved in Azure. You can also copy and paste code into the Azure Cloud Shell directly but sometimes saved scripts require changes. There is no need to download and edit the scripts, you can simply use the built-in text editor to modify code. Monaco offers a more direct and faster way to edit code.

PowerShell Drive

The PowerShell is a scripting language based on .NET and is an integral part of the Microsoft Azure stack. Users opting for the PowerShell console to manage Azure resources will notice that an Azure PowerShell drive is present by default. It allows you to treat Azure resources just like a typical Windows-based hierarchical file system. You can manage any Azure resource without leaving the Azure PowerShell drive interface.

Running Azure PowerShell will display an Azure: prompt, this signals that you can interact with the Azure resources using common PowerShell commands such as Get-ChildItem to find your subscriptions, New-AzureRmVM -Name $myVM  to create a new virtual machine, etc. Check the official Microsoft Azure tutorial for more commands. Keep in mind that online tutorials often contain rudimentary material, if you want to know the ins and outs of Azure administration and Cloud Shell sign up for expert Azure training and certifications such as Developing Azure solutions and Azure fundamentals.

 

Direct Access to Virtual Machines

A major advantage of Azure Cloud Shell is its ability to connect to Azure virtual machines. Simply use the Enter-AzureRmVM or Invoke-AzureRmVm command to display a console directly on your VM. Usually, VM management involves authentication schemes, which can get a bit messy. For instance, if you wish to run a command on an Azure VM via an on-site device, you’ll first need to create a firewall rule as well as set up a PowerShell Remoting session. You can avoid this hassle with Cloud Shell by simply running one of the above-mentioned commands to access your VMs.

Persist Data Across Sessions

Cloud Shell persists files across sessions by utilizing Azure File storage. When you first launch Cloud Shell, a prompt appears asking you to associate an existing file share or create a new file share in Azure Files. After this initial setup is completed, all future sessions will automatically use this attached file to persist your data across sessions. The storage you attached is mounted as $HOME\clouddrive and your $HOME directory is present in the .img extension on your Azure File storage.

Integration with Popular Open Source Tools

Microsoft ensured that Cloud Shell was flexible enough for a wide variety of users. As a result, Cloud Shell equipped with commonly used tools such as PowerShell modules, CLI tools such as a Linux shell interpreter, source control tools, text editing tools, database tools and more. Common open-source tools are pre-configured and don’t require authentication from the system.

Databases

Azure Tools

Editors

Build Tools

Linux Tools

Containers

Miscellaneous

MySQL client

PostgreSQL client

sqlcmd Utility

mssql-scripter

Azure CLI

Azure classic CLI

AzCopy

Service Fabric CLI

Batch Shipyard

blobxfer

vim

code

nano

emacs

 

make

maven

npm

pip

bash

zsh

dig

sh

tmux

 

Docker Machine

Kubectl

Helm

DC/OS CLI

iPython Client

Cloud Foundry CLI

Terraform

Ansible

Chef InSpec

 

Support for Popular Languages

Another feature that makes Azure Cloud Shell versatile is the built-in support for popular programming languages. Supported languages include Python, .NET, and Node.js. Check the table below for a complete list of languages supported and their specific versions.

 

Languages supported by Azure Cloud Shell

.NET Core (Version 2.0.0)

Go (Version 1.9)

Java (Version 1.8)

Node.js (Version 8.9.4)

PowerShell (Version 6.1.0)

Python (Version 2.7 and 3.5 (default))

 

This post is intended as an introduction to the powerful features of Azure Cloud Shell and works as a primer on the topic. If you want an in-depth view of how the Microsoft cloud environment works and how to manage it you should look into a proper Azure certification track.