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