1. Windows Azure Outline
Uses
o Global corporate 500 company using Azure for improving data collection from
managers around the world and report dissemination speeds to improve
efficiency
o A bottling company using Azure for gathering assembly line data and
communicating that data back to corporate HQ
o Science departments using Azure to crunch numbers where they need raw
power without making huge capital investments
o Flickr uses Windows Azure to deliver photo sharing app on Windows Phone 7
Cross Concepts
o Subscriptions
Subscribe by signing up for an offer
Under a subscription you can create instances
o Affinities
Regions (North America, Asia, Europe, etc…)
Locating your related instances geographically close together for perf
reasons
o Virtual IP Addresses and Domains
Azure uses virtual IP addresses so you cannot point your domain to an
Azure Web Role using an IP address
Create a domain CNAME record to point to your Azure Web Role
Web Roles are assigned a yourapp.cloudapp.net domain
o Scale
Develop for scale
Non-stateful system architecture
Economies of scale for developing without being overcharged
o Performance issues have minimal budget impact on a
traditional capital expenditure basis but have recurring
impacts on budgets when this is turned into an
operational expense.
Ex: Chatty calls to the DB really are costing you
extra dollars every day, not just perf problems
o Leverage existing technologies
.NET
Web APIs and standards compliant – REST
Java or PHP available
o Licensing
Services include licenses required to operate the service, like Windows
Server 2008 for compute instances and SQL Server for SQL databases
Windows Azure Portal http://windows.azure.com
o Used for developers to manage their Windows Azure accounts
o Secure Certificate Store - http://msdn.microsoft.com/en-us/library/ee758713.aspx
Windows Azure
o Roles
Virtualization technology
Differencing Disk
o Allows technological efficiencies that make Windows
Azure cheaper to host at scale than on-premise
Types
Managed (auto-patched but limited control)
o Web – Allows one endpoint accessible from web
Outline created by Michael Spivey http://michaeljspivey.wordpress.com
2. One application per instance
Requires two running instances to get SLA
Web roles are accessible by
appname.cloudapp.net
o Worker – Not accessible from web
Requires two running instances to get SLA
Meant for background work like processing
queues
Full Control (not auto-patched)
o VM –accessible by Remote Desktop, has full IIS control
Can host multiple web sites on one instance
Includes Windows licensing – no need to buy
separate OS license
Sizes
Extra Small - $.05/hr
Small - $0.12/hr
Medium
Large
Guest OS
Different versions of guest OS are allowed for developers to
choose to run on
You can control upgrade path by setting automatic or manual for
upgrading guest OS
Under the hood guest OS is currently a Windows 2008 R2
version with a specific configuration
64-bit OS only
o Some WPF APIs are limited in 64-bit editions
Currently cannot use ink recognition APIs for
example even though the namespace and
classes are still available in VS when coding
o Pricing
Per Hour on Azure, running or not running
Different offers available, not just one offer for everyone
Special Introductory Offer
Consumption Offer
MSDN Premium Offer
o Programs to grow your skills for maximum advantage
Microsoft Platform Ready http://www.microsoftplatformready.com
Free technical support while you build app
o Development Tools
Azure SDK (currently v1.3) and tools for Visual Studio 2008
Azure SDK (currently v1.3) and tools for Visual Studio 2010
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1089b
6-4050-4307-86c4-9dadaa5ed018
SQL Azure
o Differences between SQL Azure and SQL Server
Syntax
Keywords – padding, etc…
Be careful using SQL Server Management Studio 2008 R2 to
generate scripts because even though it supports connecting
and running scripts on SQL Azure it will generate scripts that do
not run on Azure without modification
Primary key and indexes
SQL Azure requires one primary key on every table
Outline created by Michael Spivey http://michaeljspivey.wordpress.com
3. SQL Azure does not allow indexes on columns in a table except
for the primary key
SQL Azure does not allow full text search
A master DB is created in addition to the instance that you create and
pay for
The master DB is used to maintain your instance and is not
meant for you to manage
Firewall
OData format support - http://www.odata.org/
I’ve heard OData described as ODBC for the cloud
Pricing
Priced at DB size for an entire month
o DB size that you pay for is not how much you use, but is
the max you want to be able to store that month
o Ex: I want a 1GB DB and that is $9.99 a month
o There is a cost per data transfer/transaction
SQL Azure Data Sync (CTP)
Synchronizes bi-directionally on-premise and cloud database
instances
http://www.microsoft.com/en-us/sqlazure/datasync.aspx
SQL Azure Reporting (CTP)
Reporting Services for the cloud
http://www.microsoft.com/en-us/sqlazure/reporting.aspx
AppFabric
o A service bus that connects systems in the cloud
o PowerShell access available
o Provides
Middleware services
Cache service
Access Control Service
Federated Security Token Service
http://msdn.microsoft.com/en-us/library/ee732536.aspx
o Ported to Windows Server
http://msdn.microsoft.com/en-us/windowsserver/ee695849
Azure Storage
o Blobs
Block blobs
A blob consists of multiple blocks
Each block can be up to 4 MB
200 GB max blob size
Blobs up to 64 MB can be uploaded with a single API call
Optimized for streaming
REST API available
Page blobs
A blob consists of multiple pages
Each page can be up to 1 TB
1 TB max blob size
Optimized for random read and writes
REST API available
Large blobs are broken into pages that are up to 56 MB
Create containers to act as a folder for blobs
o Table
Is not relational
o Queues
Outline created by Michael Spivey http://michaeljspivey.wordpress.com
4. Provide reliable storage and delivery of messages
Message has to be 8kb or less
o Content delivery network
This is an option that you have to set explicitly to enable
This is used for blobs that will be read by many people around the world
o Redundancy
Data is backed up in two different locations within the same region
Must build your own mechanisms for backing up across different regions
o Security
ACL allows for the storage to be
Allowed or blocked during specific times
Allowed or blocked by user
o Pricing
Charge for amount stored per month
Charge per transaction
TCO Calculator
http://www.microsoft.com/windowsazure/economics/default.aspx#tcoCo
mpare-LB
Azure Drive
o Meant to provide an NTFS volume API running in the cloud for backward
compatibility with older apps
o Not meant for new development
o Implemented as a Windows Azure Page Blob containing NTFS-formatted VHD
Azure Connect http://www.microsoft.com/windowsazure/virtualnetwork/default.aspx
o Virtual Network
o Purpose is to set up IP-based connection between on-site and on-premise
networks
o Is currently in CTP stage
Windows Azure Marketplace
o DataMarket https://datamarket.azure.com/
Buy and sell premium data, including official health related data
OData format
Future Development Tools and Concepts
o Codename “Orleans”
Basically .NET with cloud abstractions
Organizations for the cloud
o Cloud Security Alliance - http://www.cloudsecurityalliance.org/
Demo
o Use VS 2010 to build a cloud app
o Create Azure Storage blob container
o Connect app to Azure Storage blob
o Deploy app
o Access app
Security
o Developer Guidance
Security Best Practices for Developing Windows Azure Applications
http://go.microsoft.com/?linkid=9751405
o Azure Operations
Azure operates in the Microsoft Global Foundation Services (GFS)
infrastructure, parts of which are ISO27001-certified
Cloud Industry Participants
o Amazon
o Rackspace Cloud (formerly Mosso)
Azure Philosophy
o Focus
Outline created by Michael Spivey http://michaeljspivey.wordpress.com
5. Increased focus on functionality/business logic
Reduced focus on hardware maintenance
Reduced focus on OS maintenance
o Scale
Develop for scale from the beginning
Scale up or down
o Management
Perf is not just a technical detail, but has a quantifiable monetary impact
Financial professionals might end up loving the cloud more than devs
Outline created by Michael Spivey http://michaeljspivey.wordpress.com