Skip to content

Latest commit

 

History

History
58 lines (46 loc) · 2.7 KB

File metadata and controls

58 lines (46 loc) · 2.7 KB

Azure basics

Interacting with Azure

  • 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.

Service-level agreement (SLA)

  • 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

Regions

  • 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.

Resource Group

  • 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)

Azure Resource Manager (ARM)

  • 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
  • You can control how things are deployed using Azure Policy on resource group, subscription, or management group level.

Egress charges

  • Moving data to Azure mostly is free.
  • From Azure to outside (without ExpressRoute or Content Delivery Network) you get extra egress charges.