Module 3e - Describe Core Solution and Mgmt Tools - Best Tools for Managing and Configuring Azure Flashcards
General Knowledge: What’s Imperative vs Declarative Code? LOL
Imperative - tell it how to do shit. Imperative details each step to be performed to achieve a goal
Declarative - tell it what you want and let it do it for you. You detail the desired outcome. This allows for a more robust approach to deployments, provisioning large numbers of resources, reliability, etc.
General Knowledge: What are the two (2) broad categories of Azure management tools?
Visual Tools - full visually friendly access to Azure (Portal basically lol). Azure Mobile App as well
Code-based Tools - CLI, Powershell etc. ARM Templates. These are better for repeated use since you can save commands/code
What product options do you have for managing and configuring Azure?
Azure Portal
Azure CLI
Azure Powershell
The Azure Mobile App
ARM Templates
What is Azure Portal?
The web interface for all of Azure. Great for beginning to use. As you get more comfortable and your needs grow, you’ll likely switch to a programmatic approach
What is Azure Mobil App?
iOS and Android access to Azure resources.
- Monitor health and status of Resources
- Check Alerts, diagnose and fix issues
- Remote admin web apps and VMs
- Run Azure CLI or Powershell commands to manage Resources
What is Azure Powershell?
A Powershell Module that uses Azure Cmdlets or Azure CLI. Allows you to:
- Setup/teardown/maintain connected Resources
- Seploy infrastructure using imperative code (cmdlets and powershell code)
You can always capture script code for reuse so from a web browser via Azure Cloud Shell
Azure Powershell is only available on Windows Systems and on the web via Azure Cloud Shell (T/F)?
False. Azure Powershell available for Windows, Linux and MacOS.
What is Azure CLI and what’s the main difference between that and Azure Powershell?
Commandline tools that can be executed in Bash, which call Azure REST APIs. Same capabilities as Azure Powershell, with the only difference being the syntax used, relying on the “az” exe instead of Cmdlets.
Ex:
Get available subscriptions:
- *Azure CLI** - az account list
- *Azure PS** - Get-AzSubscription
List VMS:
- *Azure CLI** - az vm list
- *Azure PS** - Get-AzVM
Output as Table:
- *Azure CLI** - az account list -o table
- *Azure PS** - Get-AzSubscription | Format-Table
Either way, use what is most familiar. Gets you past the learning curve faster
What are ARM Templates and what are four (4) features?
Azure Resource Manager Templates. This is the DECLARATIVE option for managing Resources. You define your desired state, let Azure build it out for you.
- Uses JSON (easy to read and understand)
- Creates Resources in parallel (50 instances requested == All 50 are provisioned at the same time)
- Templates can execute Powershell or Bash scripts before/after
- Validation steps can be implemented to ensure proper Resource creation
Hint: OonD P I
What three (3) validation points ensure proper ARM Template Resource creation?
- Creation in proper Order based on Dependencies
- Creation in parallel
- Idempotent
When you need to repeatedly setup one-or-many Resources along with all their dependencies, which tools are best suited for this?
ARM Templates. Declarative JSON may contain the target Resources and validation steps for Resource creation.
Why not Azure Powershell or CLI? You COULD by scripting everything and saving those scripts, but there are no validation steps right away. Errors while running scripts ==> dependency Resources can’t be rolled back easily, deployments happen serially, etc.
When you come from a Windows administration background, when scripting, which tools are best suited for this?
Azure Powershell since it’s Window’s native. However you can get away with Azure CLI as well
When you come from a Linux administration background, when scripting, which tools are best suited for this?
Azure CLI since syntax closely resembles that of Bash commands.
When you need to perform one-off management/admin/reporting actions, which tools are best suited for this?
Azure Powershell or CLI. Script it, save it, etc. We kind of do this right now with Powershell for TEP administration
Azure Portal and the Mobile App work great too, but for cloud admins it may be less efficient to click around vs someone new to Azure who’ll appreciate the visual presentation
Why not ARM Templates? Templates can be used here as well but are intended to define infrastructure requirements for repeatable deployments
Use Case: When executives want to see data displayed visually, run custom reports in real-time and ascertain an idea on cloud-spend, what tool would you use?
Azure Portal. Only place to run reports on real-time data