- Azure is based on REST APIs
- You can use Portal, PowerShell, Azure CLI that wrap REST APIs.
- Azure Cloud Shell: Browser-accessible shell on portal that can run PowerShell, Azure CLI and even more like
git
/bash
/pip
/maven
etc. - 💡 Azure CLI can often handle everything that other wrappers can and even more.
- A guarantee that Azure gives to customers for different offerings.
- Guarantees Monthly Uptime Percentage
Monthly Uptime % = (Maximum Available Minutes – Downtime) / Maximum Available Minutes x 100
- Azure has different regions
- Each Azure Region has one or more (often 3) availability zones.
- Each availability zone is made up one or more data-centers.
- Data centers have independent power, cooling and networking.
- Each region includes a pair in its country (>500 kms away if it's possible)
- Pairs enables system update isolation where regions are updated in queue[^fn1]
- Azure region pair is highly prioritized during recovery
- Services with geo-redundant storage uses paired region automatically.
- Logical group to manage resources together
- Groups values e.g. analyzing and forecasting resource consumption and spending.
- You can create policies on resource group
- A resource is an object in Azure (Azure object)
- Each object in Azure has ARM files associated with it.
- Can be deployed directly from Visual Studio
- They are JSON text files.
$schema
(required) : URL of the JSON schema file describing the version.contentVersion
(required) : Version of the template (e.g. 1.0.0.0)resources
(required): Resource types that's deployed or updated in the group.parameters
: Customizable values that are provided when deployment executed.variables
: JSON fragments in template to simplify language expressions.outputs
: Values that are returned after deployment.
- 💡 Secure any username, password parameters in JSON files.
- Usually parameters (
azuredeploy.parameters.json
) and the file (azuredeploy.json
) is separated. - ❗ Hard to create from stratch.
- 💡 Have a base and modify later.
- Create a resource, copy its auto-generated ARM from Automation blade.
- Use Azure QuickStart templates
- Maintained by Microsoft + Community (on GitHub)
- Provides "Deploy to Azure" button
- 💡 Have a base and modify later.
- You can control how things are deployed using Azure Policy on resource group, subscription, or management group level.
- Moving data to Azure mostly is free.
- From Azure to outside (without ExpressRoute or Content Delivery Network) you get extra egress charges.