3 HOW do I build a Windows Azure solution?

advertisement
Building Solutions with Windows Azure
Dan Kasun
Sr. Director, US Public Sector Developer & Platform Evangelism
Microsoft Corporation
dankas@microsoft.com
http://www.dankasun.com
Agenda
1 WHAT is Windows Azure?
2 WHY would use Windows Azure?
3 HOW do I build a Windows Azure solution?
4 WHEN is it best to consider Windows Azure?
5 WHERE do I get more information?
Agenda
1 WHAT is Windows Azure?
2 WHY would use Windows Azure?
3 HOW do I build a Windows Azure solution?
4 WHEN is it best to consider Windows Azure?
5 WHERE do I get more information?
It’s an Operating System
Simple
In theAnswer?
Could.
Introducing Windows Azure
Web applications
WEB & CLOUDS
Third party cloud
Developer Experience
Use existing skills and tools
Compute Storage Management
Relational data Management
ON-PREMISES
Connectivity Access control
Windows Azure
 Compute – Applications, Web Services, Workers
 Storage – Blobs, Queues, Tables
 Management – Fabric, Staging & Production
Compute Storage Management
Manageme
nt
Relational data Management
Connectivity Access control
SQL Azure
 Core Database Functionality, Subset of SQL Server
 Database available in limited sizes 1GB, 10GB
 Management
 SQL Data Sync
Compute Storage Management
Relational data Management
Connectivity Access control
AppFabric
 Service Bus
 Access Control Service
 Management
Compute Storage Management
Relational data Management
Connectivity Access control
Developer Experience
 Leverage Existing Skills in .NET, SQL Server, WCF
 Use Familiar tools – Visual Studio, SSMS
 RESTful HTTP cloud services, supports PHP, Python
 Eclipse integration
 Cloud apps can be developed locally / offline
 SDK Cloud Simulator – Dev Fabric, Dev Storage
Developer Experience
Use existing skills and tools
Windows Azure Platform Consumption Prices
Pay as you go and grow
Elastic, scalable, secure, & highly
available automated service platform
Highly available, scalable, and self
managed distributed database service
Compute
Storage
Web Edition
Business Edition
Per service hour
Per GB stored & transactions
Per database/month
Per database/month
$0.12/hour
+ Variable Instance Sizes
$0.15 GB/month
$0.01/10K transactions
$9.99/month
(up to 1 GB DB/month)
$99.99/month
(up to 10 GB DB/month)
Windows Azure platform AppFabric Service Bus & Access Control
Scalable, automated, highly available services for secure connectivity
Access Control
Per Message Operation
$0.015/10k Message Operations
Prices shown in USD only
Service Bus
Per Message Operation
$0.015/10k Message Operations
International prices are available
Agenda
1 WHAT is Windows Azure?
2 WHY would use Windows Azure?
3 HOW do I build a Windows Azure solution?
4 WHEN is it best to consider Windows Azure?
5 WHERE do I get more information?
Windows Azure Benefits
Get Your Costs
Under Control
Increase
Agility
Faster
Time to Market
Less I.T.
Outsource
ITHeadache
Headaches
Focus
Focus
onon
Your
Business
not
Business
Infrastructure
 Lower TCO
 Predictable,
controllable
cost model
 Convert
CapEx to
OpEx
 Eliminate idle
IT capacity
 Efficient use
of IT dollars
 Bypass
procurement
process
 Fast
deployment
 No
competing
with other
projects
 Instant scale
 Agile IT
enables an
agile business
 Outsource
scalability, HA,
reliability, SLA
 No need to
anticipate
future
capacity
 One-click
promotion
 Automated
patching and
updating
 Reduced
complexity
 IT becomes
invisible and
democratize
d
 Competitive
edge through
innovation
 Reduce risk
 Freedom to
experiment
 Freedom to
experiment
Competitive Differentiators
• Automated service management
• Leverage existing skills and developer tools
• Breadth of Microsoft’s cloud offerings—many services
beyond hosting and storage
• S+S strategy—cloud and enterprise software offerings
• Cloud-enterprise integration at security, data,
communication, or network level
• Marketplace for data and applications
Agenda
1 WHAT is Windows Azure?
2 WHY would use Windows Azure?
3 HOW do I build a Windows Azure solution?
4 WHEN is it best to consider Windows Azure?
5 WHERE do I get more information?
Main Components
 Cloud Fabric
 Web Roles
 Worker Roles
 Storage (Including SQL Azure)
 Dev Fabric
 App Fabric (Access Control, Service Bus)
Windows Azure Cloud Fabric
 Multiple virtual instances
 Easy provision of applications
 Detect failures
 Spin up new instances to replace the failed ones
 How many instances and what role they will play
 Load balances and DNS
 Elasticity of the service… scaling up/down number
of instances
Windows Azure Roles
Windows Azure Roles
Web Role
 for web application programming in ASP.NET or PHP
Worker Role
 for performing work on behalf of the web role
 may be written in .NET, Ruby, Java
 to improve scalability by increasing parallelism and
asynchronicity
 used for background work
Developer Experience
 Leverage Existing Skills in .NET, SQL Server, WCF
 Use Familiar tools – Visual Studio, SSMS
 RESTful HTTP cloud services, supports PHP,
Python
 Cloud apps can be developed locally / offline
 SDK Cloud Simulator – Dev Fabric, Dev Storage
The Windows Azure SDK
Windows Azure SDK Features
 C# and VB Visual Studio project templates
 Windows Azure Cloud Service solution with multiple roles.
 Tools to manage and configure roles
 Local Development Fabric
 Local Development Storage services
 Local Cloud Service debugging support
 Cloud Service package and deployment builder
Note:
 No SDK Required for SQL Azure
Storage
 Blobs, Drives, Tables, Queues
 Designed for the cloud
 3 replicas
 Guaranteed consistency
 Accessible directly from the internet via REST API
 .NET Client library supported
 Does not require compute
 Storage account drives unique URL, e.g.:
 https://<youraccount>.blob.core.windows.net
Service Lifecycle
 Create service package
Binaries + Content + Service Metadata
 Deploy via web portal or Service Management API
 Add & remove capacity via web portal or API
 Deployed across fault domains
 Upgrade with zero downtime
Management Experience
Provision
Deploy
Promote
Stop/Start
Scale
Upgrade
Delete
Design Considerations
 Scale and availability are the design points
 Storage isn’t a relational database
 Stateless
 Stateless front ends, store state in storage
 Use queues to decouple components
 Instrument your application (Trace)
 Once you are on - stay on
 Think about patching & updates
Step by Step Development Guide
1. Set up a Windows Azure account
 Configure account and storage
2. Get a developer tool, like Visual Studio 20008 or 2010
3. Download and install the SDK and add-in
 Note, the dev fabric requires SQLExpress
4. Build and test application locally
5. Configure Windows Azure Storage
 Through code when your app starts
 Using a storage management tool (links at end)
6. Package application for deployment
7. Deploy app into staging or production
8. Start the application
9. Much rejoicing!
Demo
Building Our First Cloud Application
With Microsoft Windows Azure
Agenda
1 WHAT is Windows Azure?
2 WHY would use Windows Azure?
3 HOW do I build a Windows Azure solution?
4 WHEN should I consider Windows Azure?
5 WHERE do I get more information?
Comput
e
Comput
e
Workload Patterns Optimal For Cloud
Inactivity
Period
Average Usage
Usage
Average
Time
Time
On & off workloads (e.g. batch job)
Over provisioned capacity is wasted
Time to market can be cumbersome
“Predictable Bursting“
Comput
e
Comput
e
“Unpredictable
Bursting“
Successful services needs to grow/scale
Keeping up w/ growth is big IT challenge
Complex lead time for deployment
Average Usage
Average Usage
Time
Time
Unexpected/unplanned peak in demand
Sudden spike impacts performance
Can’t over provision for extreme cases
Services with micro seasonality trends
Peaks due to periodic increased demand
IT complexity and wasted capacity
Common Scenarios
Scenario
Example
Hosting of consumer web sites
• Online store
• Social networking site
• Health portal
Hosting corporate/department
apps
• HR benefits employee portal
• Business intelligence
dashboard
ISV Multi-tenant SaaS applications • Sales force automation
• Project management portal
B2B hubs for apps/data sharing
• Supply chain management
• Industry exchange
Data archiving & content
repositories
• Online digital library
• Video archive
Where the Cloud is Compelling
Characteristic
Example
Apps that need massive scale
Social networking site
Apps that need high reliability
911 call center
Apps with variable load
Online tax preparation
Apps with unpredictable lifetime
Hurricane relief site
Apps requiring parallel processing Genome sequencing
Apps that must scale fast or fail
fast
Start-up online service
Not good fit for in-house data
center
Frequently updated app
Apps needing external storage
Online video archive
TCO Analyzer Tool
Quickly determine
“quantitative” value of using
Windows Azure Platform
services
TCO of development and
running Windows Azure
Platform vs. traditional
delivery channels
Estimation “of” and
conversion “to” on-premise
solution to Windows Azure
Platform services
http://www.microsoft.com/windowsazure/tco/
(TCO estimate over 3-year period)
Real World TCO Analysis
Public sector governance suite of
applications & services
Leading provider of B2B sales &
marketing solutions to F100
Needs secure, scalable, elastic, &
comprehensive platform
Reduce IT complexity & shift
resources to core businesses
$74K
$62K
$540K
$277K
On Premises
Azure
On Premises
Azure
Agenda
1 WHAT is Windows Azure?
2 WHY would use Windows Azure?
3 HOW do I build a Windows Azure solution?
4 WHEN is it best to consider Windows Azure?
5 WHERE do I get more information?
Getting Started
 SET UP AN ACCOUNT TODAY!
 http://www.microsoft.com/windowsazure/offers/
 Intro offer is FREE (up to 25 hours)
 MSDN Subscribers should use the MSDN offers
 A credit card is required to set up the account
 Learn about Azure
 http://azure.com/partnerquickstart
 Training Kit: http://bit.ly/AzureTraining
 http://channel9.msdn.com/azure
 Download Azure SDKs and tools
 http://microsoft.com/windowsazure/tools/
 Build with Azure
 Get involved with local community
 User Groups · Code Camps · Cloud Camps
Promotions
Introductory FREE Offer
Development Accelerator
No-cost developer starter offer.
Provides no-cost allocation to run
a cloud service.
Accelerates cloud development.
Flexible (on/off) consumption for
scaling. Predictable payment and
discounted price.
MSDN Premium
• Available to all partner/customers
• 6 mo subscription (38%-45% discount)
• Available to MSDN Premium subscribers
• Limit of one per customer
• Offered as a unit (can order multiple)
• 12-month term, 1 per subscription
• Overage at Standard
Consumption rates
• Cancel first 30 days; or after first 6 mos
• Overage at partner Consumption rates
• Overage at Standard Consumption
rates
• Limited time to sign up (thru 6/30/10)
Amount of No-Cost Service:
CORE: $59.95/mo
($55.95 for partners)
Amount of No-Cost Service:
Windows Azure
Compute 25 Hrs/mo
Storage 0.5 GB/mo
Bandwidth 0.5 GB/mo*
Storage Transactions 10K/mo
SQL Azure
1 Web Edition DB (1GB DB)
90 day trial
Service Bus and
Access Control Service
Messages 100K/mo
Amount Included in Base
Compute 750 hrs/mo
Storage 10 GB/mo
Storage Transactions 1M/mo
NET - Messages 1M/mo
Data Transfers 7GB In / 14GB Out*
EXTENDED: $109.95/mo
($104.45 for partners)
Amount Included in Base
Same as Core except also includes*
1 SQL Azure Business Edition DB (10
GB)
Mobilize committed .NET developer
base. Enable them to build, deploy,
manage multiple cloud projects
within MSDN subscription.
Windows Azure
Compute 750 hrs
Storage 10 GB
Storage Transaction 1M
SQL Azure - 3 Web DB (1 GB)
Service Bus and Access Control
Service Messages 1 Million
Data Transfer 7GB In/14GB Out*
MSDN / BizSpark Offer
Resources
 Partner Quickstart
 http://www.azure.com/partnerquickstart
 Channel 9 videos
 http://channel9.msdn.com/azure
 Microsoft Learning Plans
 http://microsoftlearningplans.com
 Windows Azure Training Kit & Whiteboard Videos
 http://www.azure.com
 Windows Azure Storage Tools
 Azure Storage Explorer (open source on CodePlex)
http://azurestorageexplorer.codeplex.com/
 Cerebrata Cloud Storage Studio
http://www.cerebrata.com/Products/
CloudStorageStudio/Default.aspx
Summary
 WHAT is Windows Azure?
 WHY would use Windows Azure?
 HOW do I build a Windows Azure solution?
 WHEN is it best to consider Windows Azure?
 WHERE do I get more information?
Thanks and Q&A
 dankas@microsoft.com
 http://www.dankasun.com
 http://blogs.msdn.com/publicsector
 SET UP AN ACCOUNT TODAY!
 http://www.microsoft.com/windowsazure/offers/
 Intro offer is FREE (up to 25 hours)
 MSDN Subscribers should use the MSDN offers
 A credit card is required to set up the account
 Training Kit: http://bit.ly/AzureTraining
Download