ict.ken.be

Delivering solid user friendly software solutions since the dawn of time.

Azure - The Big Picture - Notes

Categories: Azure Notes

by David Chappell
http://www.davidchappell.com

Execution Models

Virtual Machines (IaaS)
VHDs from Gallery or User-Supplied (by the hour used or unused)
Azure Management Portal
Rest API for scripting and creating VMs in batch
One OS disk and one or more data disks (all stored as blobs)
You can move the image in and out the platform
eg. App + Sql cluster, Sharepoint farm, on demand vm for testing, disaster recovery
Only failed hardware will be fixed.
Requires the most management.

Web Sites
Shared IIS or Dedicated IIS
Static Websites
Popular Web Applications eg. Drupal, ...
Custom Web Applications eg. ASP.Net, Node.js, ...
Upload through ftp, WebDeploy, Repository (TFS, Git)

Cloud Services (PaaS)
Platform as a service
Web Roles - run iis
Worker Roles
The environment is created for you using code configuration
Detect failed applications and starts new one
So you can not store state in your VM file systems!
eg. app must be very reliable and very scalable
Low admin cost.
Needed when not possible with other options
eg. Admin access to VMs, to install arbitrary software
Background processing with workerroles
Connect to Azure Virtual Network
Combining technologies is possible.

Data Management

Sql Database Service
Disks are stored as blogs
Multi tenant virtual servers
Automatic data replication (setup 5 min)
Limited to some hunderd of gigabytes, else you need Sql Federation.
An application can work with two or more federation members that can have separate dbs and schema
Sql Data Sync between different datacenters in cloud or on-premise (with some latency)

Table Storage - NoSql
Key Value storage
Across multiple machines
Tables are partitioned with entities
Entities have properties of various types
Entities have row keys unique in their partition
Partitions have keys
eg. simple, fast access to loosly structured data
eg. very large about of data (up to 100 terabyte)
Much cheaper then sql but no query options

Blob Storage
Named containers
Large amounts of data such as video
For backup eg. whole VHDs

Business Analytics

Sql reporting
BI Studio & RDL-Files

Hadoop
Open source
Big data analysis
Map reduce over different systems
Large amount of unstructured data
Assumes data is in blobs
hdfs data api
Hive (with excel import), Pig, ...
eg. Log files, sensors like RFID, clickstream data, ...

Networking

Virtual Network
Connect your on-premise network with cloud network of VMs
Setup a segment of VMs as VNET
VPN Gateway Device with IPsec Connection needed
eg. Single sign-on with active directory, Dev/Test environments

Connect
Direct connection from application to group of on-premise servers
Windows Azure ConnectSoftware with IPsec Connection
No need to setup a full VPN

Traffic Manager
Routes users to datacenters that are most close to them
1. User lookup application dns name
2. DNS server redirects the query
3. AWTM applies policies
3a. Performance: to closest
3b. Failover: to specific unless down
3c. Round Robin: spread equaly across datacenters
4. Return chosen datacenter
5. Access application in datacenter

Messaging

Queues
In cloud communication
Web role(front-end) instances to/from worker role(back-end) instances
1. Web role receives work
2. Web role sends message
3. Worker reads message
4. Worker does work
5. Worker delete message (or it will re-appear in the queue)

Service Bus
In cloud, on-premise, anywhere communication
Multi tenant, each user has its own namespace
Queues: one to one queued messaging (one way communication)
message with body and properties (key-value)
Topics: one to many publish and subscribe messaging using filters
Relays: two way bi-directional messaging (eg. servers behind firewalls)
each application opens outbound to relay, inbound communication is seen as incoming on outgoing tcp/ip
construction a stable ip

Caching

  • Caching: on the VM or distributed on an array of VMs (supports MemCached api)
  • CDN: Video stored in blob and distributed globally

Identity

  • Active Directory
  • Running Windows Server AD in Azure VMs eg. Sharepoint on a web farm
  • Using Azure Active Directory eg. Saas (software as a service) apps 
  • ACS for single sign on with FB, Google, ...

High-Performance Computing

  • HPC Scheduler

Media

  • Media Services
  • Media Ingest - copy video into cloud blogs
  • Encoding - translate formats
  • Content Protection
  • Ad Insertion
  • Streaming
  • Partner Components
  • Using CDN to distribute if you feel like

Commerce

  • Windows Azure Marketplace
  • Sell your azure application in the cloud
  • Selling datasets

SDKs

  • .Net, Java, PHP, Python, Node.js, C++
  • Commandline tools for deployment from and to Linux and Macintosh