Cloud Tools for Azure: Powershell, Azure CLI, Azure Cloud Shell

Everything should start with a SOLID plan, not just influenced by the enthusiasm of a successful PoC, briefly tested and blessed/approved by the management where the implementation challenges are hidden in plain sight!

I wanted to write this article since I’ve started scriptinglibrary.com, but I will try to keep this article to a technical level where you can enjoy the first experience and avoid bad ones. Otherwise, you’ll find yourself overwhelmed or lost into the number of services and the possibilities offered by cloud computing.

Moving to the cloud successfully needs understanding the business requirements and translate the business needs into a meaningful design that could be effectively be managed and with the goal of delivering the desired outcome and value for all the stakeholders.

This is not marketing, it’s not my thing and this is not a sponsored article either… please bear with me and continue to read this article.

First impression matters

In my opinion, iteratively trying with attempts with no clear target or outcome in mind is a waste of resources and energy. The right place to start is read as much as you can, and ask for support to professional consultants to check, once again, if we have a solid plan that will not just last for a long time, but also, more importantly, could scale according to the business needs.

In this article, I will take Azure as an example, but the method and ideas are applicable to any other cloud provider.

You need a good updated training material and hands-on experience!

Start with the free resource available, the content is updated frequently and the free/trial subscription will be a good place to start:

  • https://docs.microsoft.com/en-us/learn/
  • https://www.microsoft.com/en-au/azurelearningpathways/

Dealing with constant change

What Cloud Computing brings to the table is more options and challenges than you can think while you’re starting. And the technical challenges are not the most difficult to conquer, in my opinion, it’s the culture shift for governance, operations, and the whole company and managing this smoothly and is a substantial change, especially because of the hybrid cloud adoption (the most common one) it means that the on-premises services need to be integrated with the cloud services.

There are some interesting reading that I strongly suggest and that I use and  suggest to every colleague to follow, for example:

There is no secret sauce and there are no secret recipes

Cloud Computing is exactly the opposite of a one-size-fits-all blueprint or scenario, but knowing what you don’t need is important as much as what you require. Knowing what you don’t know is equally important of knowing what you know.

Understanding your needs and requirements is the foundation for choosing a possible design, one possible adoption will have features and options that soon you realise that what you don’t need as well, so consider it as an anti-pattern to support it and consider it to turn off straight away.

Deploy the right tools and share the user experience

Nearly everything runs in the browser today, the UI is updated frequently and responsive, mobile applications are available as well, is it enough? My answer, in general, is NO!

I always trust the CLI over the GUI. When I started using a personal computer as a teenager, before the internet, the command line interface was the default choice and later on came a primitive GUI. With this imprinting, I found more effective CLI tools compared to Graphical User Interfaces, but we need to face the reality that there is a steep learning curve to get many users onboard and for that reason, it can’t be our only options.

Azure CLI and PowerShell

Overlapping of tools functionality can help cloud computing adoption if they are not competing on the same platform, but working together they can reach different users and speak to a larger audience.

My personal preference on MacOS (or WSL) using Azure CLI and Powershell For Windows.

Deploying Azure CLI

Downloading AZURE CLI https://docs.microsoft.com/en-us/cli/azure/?view=azure-cli-latest  and installing it on your fleet of workstation it’s an operation that can be completed in minutes regardless of the size of the organisation and the tools and experiences that you have.

These are some possible choices:

  • Using Brew (MacOS)

 

Once Installed you can start with the  Login command:

And explore what you have on your subscriptions.

There are plenty of resources to get you started: https://docs.microsoft.com/en-us/cli/azure/get-started-with-azure-cli?view=azure-cli-latest 

Azure Cloud Shell

The cloud shell is very flexible offering the Bash or PowerShell experience in a browser-base cli. https://docs.microsoft.com/en-us/azure/cloud-shell/overview?view=azure-cli-latest

Az Powershell Module

Microsoft Azure PowerShell – Cmdlets to manage resources in Azure. This module is compatible with WindowsPowerShell and PowerShell Core.

Installing the Az PowerShell module:

Connect with your Azure account:

Get the available VMs:

E.G. Start all VMs (but you can filter by resource group or name):

Leverage Visual Studio Code

Visual Studio Code is a very popular editor mostly for the number of extensions that are available.  If your users are programmers of some shape of form such Devs, Ops or DevOps folks, is more likely that they are already familiar with an editor that supports source control management and debugging  (also remotely) already.

I can guarantee that the will be more than happy to drive everything they need without even leaving their editor: https://code.visualstudio.com/docs/azure/extensions

 

 

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.