Skip to content

Azure Compute

  • Serverless
  • Service Fabric Micro services
  • Azure Batch
  • Azure Kubernetes Service AKS

PaaS

  • App Service Plan is equivalent to a server with software stack and provisioned resources
  • whereas App Service is an application that uses resources

VM

  • VM can scale via Availability Set, VM Scale Sets, Azure Batch
  • VM Scale Set allows a group of identical, load-balanced VMs to be managed, configured as a unit
    • Number of VMs in a VM Scale Set can change dynamically depending on the load
  • Azure Batch enables scheduling a batch job with a pool of VMs
    • Azure installs application and stage data on VMs
    • runs identified tasks, re-queues work on failure
    • scales down the pool as work completes
  • Desired State Configuration DSC prevents drifts from the des*ired configuration
    • maintains server, roles, registry, files/directories, packages, env var
    • it's a powershell file attached to VM as a zip file
  • Accelerated Networking allows VMs to be on a faster, dedicated network. Not supported for all instance types
  • Dedicated Hosts and Dedicated Host Group allow dedicated physical servers.
    • It is possible to have both Availability Zone and Fault Domain
    • Can create multiple VMs, but all have to be same series as the physical server

Types

  • General or CPU: B (for dev), D (suitable for prod), DS, DC, A (low powered)
  • Compute optimized: F, FS series
  • Memory optimized: E, ES, M, G, GS and some D or DS (good for database, redis)
  • Storage optimized: High IO, data warehousing etc: LS services
  • GPU: N, NC, ND
  • High performance: most powerful and fastest, H Series

Availability Set

  • SLA for VMs using premium disks: 99.9% single instance, 99.95% Availability Set, 99.99% for Availability Zone
  • Availability Set
  • fault-domains share power and cabling, essentially a rack, provide protection from unplanned outages -- usually 2 or 3 per AZ
    • different fault-domains don't share hardware such as network, power, cooling etc
  • update-domains provide protection when performing planned maintenance -- can be up to 20 per AS
  • VHD is not TODO
  • Resiliency refers to ability of system to recover from failures
  • Availability refers to the time that system is functional and working

Availability Zone

  • VMs are spread across different data centers within the same zone
  • Not all zones have multiple data-centers yet

ScaleSet

  • Multiple instances in a set
  • Optional load balancing: 1) Load Balancer or 2) Application Gateway

Autoscaling

  • Min and Max number of instances
  • Scale-out: threshold in % CPU, and number of VM instances to increase by
  • Scale-in: threshold in % CPU, and number of VM instances to increase by

Templates

  • A Json file, either modify an existing one or save VM creation as template by selecting "Download Template for Automation" in final ste;
  • Template has: template.json, parameters.json and deploy*.*sh* files to deploy it
  • template.json
    • $schema : must not be changed
    • contentVersion: User modifiable for versioning
    • parameters: a dict of name and another dict for parameter properties (such as type)
    • variables:
    • resources: Use parameter values
    • outputs:
  • Needs a parameters.json file, which contains value for the parameters defined in template.json
  • instantiation required template.json + parameters.json

Functions

  • run-time debug logging: add calls to trace writer in code
  • App Insight delivers a lot more telemetry data
    • kudu allows looking at raw performance data

Logic App

  • Visual work-flow designer, with no code
  • Allows connecting APIs with authenticating only once

Event hub

  • is a messaging service
  • can emulate Kafka protocol
  • has a namespace that is similar to Kafka brokers, except it is a single endpoint
  • supports very large amounts of data
  • capacity measured by Throughput Units ~ 1MB/Sec and 1000 events/Sec ingress, egress double of ingress

IoT hub

  • collects data such as telemetry from IoT decides
  • allows communication back to device for sending commands

Stream Analytics

  • Process streaming data and provide analytics
  • Input Types: IoT Hub, Event Hub, Blob Storage
  • Output Types: Event Hub, SQL Server etc
  • Processing logic is a SQL like query: SELECT * INTO <output> FROM <input>
  • capacity measure in Streaming Units ~ 1MB/sec