Sky High With Azure
-
Upload
clint-edmonson -
Category
Technology
-
view
102 -
download
0
description
Transcript of Sky High With Azure
Take Your Applications Sky High with Cloud Computing and the Windows Azure Platform
Take Your Applications Sky High with Cloud Computing and the Windows Azure Platform
Clint EdmonsonArchitect EvangelistMicrosofthttp://www.notsotrivial.net
Sessions
Session 1 – Introduction to Windows Azure
Session 2 – Azure Data Storage Options
Session 3 – Construction to Deployment
Session 1:Introduction to Windows Azure
Session 1:Introduction to Windows Azure
Agenda
Understanding Windows Azure Core Services Getting Started Roles Developing Azure Applications
Agenda
Understanding Windows Azure Core Services Getting Started Roles Developing Azure Applications
What is Cloud Computing?
• A New Style of Computing Utility Model with Consumption Based
Pricing• Hosting, Storage, Database, Other
Services• Software as a Service (SaaS)• On-Demand Scale - Mammoth Capacity• High Availability and Reliability• Self-Service Management• Real and Here to Stay Additive to the Enterprise, Not Replacing
Why Are We Here?Because Cloud Computing is Huge
For Microsoft:
1 billion: Windows Live ID authentications each day
3 to 4 billion: the # of emails filtered daily from >6 million mail boxes by Forefront
2 billion: the # of queries each month on Bing
450 million: Hotmail users (now 15 years old)
100 million: users that get Windows Update worldwide, (now 12 years old)
20 million: Xbox Live users (now 9 years old)
+400,000: square footage of our new datacenters
For You:
A new paradigm
in computing
Platform Continuum
• Bring your own machines, connectivity, software, etc.
• Complete control• Complete
responsibility• Static capabilities• Upfront capital costs
for the infrastructure
• Renting machines, connectivity, software
• Less control• Fewer
responsibilities• Lower capital costs • More flexible• Pay for fixed
capacity, even if idle
• Shared, multi-tenant infrastructure
• Virtualized & dynamic
• Scalable & available• Abstracted from the
infrastructure• Higher-level services• Pay as you go
On-PremisesServers
Hosted Servers
Cloud Platform
IaaS, PaaS and IaaS
Infrastructure as a Service Platform as a Service Software as a Service
InfrastructureServers · Storage ·
Network
IaaSPlatform
OS & Application Stack
InfrastructureServers · Storage ·
Network
PaaSApplications
Packaged Software
PlatformOS & Application Stack
InfrastructureServers · Storage ·
Network
SaaS
Enterprise to Cloud
Corporate &Departmental Applications
Consumer to Cloud
Publicly AccessibleWeb Sites, e-
Stores & ISV SaaS Applications
Cloud Computing Examples
Hub Between Multiple
Companies
Enterprise to Enterprise
Company A Company BCompany
Driving Forces
ISVs & SaaS Applications Mid-Market Enterprise Enterprise Application Migration Start-ups & Experimental Initiatives Cloud Seen as a Fast Lane to Get to
Market Faster Seasonal Businesses Under Pressure to Dramatically Reduce I.T.
Costs Cloud Seen as a Competitive Edge
When is the Cloud Compelling?
App Characteristic Example
Massive scale Outback promo on Facebook
High reliability eCommerce apps (Coke, Dominos)
Variable load Online tax preparation (CCH)
Unpredictable lifetime Hurricane relief site
Requiring parallel processing Genome sequencing
Scale fast or fail fast Web sites (Kelley Blue Book)
Not good fit for in-house data center
Frequently updated app
Needing external storage Online video archive
No desire to manage infrastructure
SaaS apps (Quark’s Promote app)
Microsoft Data Centers
Vision Go Inside Energy Efficient
Containers
Chicago
San Antonio
Dublin
Amsterdam
Hong Kong
Singapore
Windows Azure
Fabric – Service Management Infrastructure
Hosting – Applications, Web Services, Workers
Storage – Blobs, Queues, Tables, X Drives Frictionless Upgrades
Compute Storage Management
Compute Storage Management
ManagementRelational data Connectivity Access control
SQL Azure
Core Database Functionality, Subset of SQL Server 2008
Database available in limited sizes 1GB, 10GB
Management SQL Data Sync
ManagementRelational dataCompute Storage Management
ManagementRelational data Connectivity Access control
Windows Azure AppFabric
Service Bus Access Control Service Management
Compute Storage Management
ManagementRelational data Connectivity Access control
Windows Azure Cloud Fabric
Multiple virtual instances Easy provisioning 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 DevFabricLocal Developer Simulation of AppFabric
Simulated “Cloud Experience” for Development Routes cloud requests to local machine Simulates data storage with local SQL server
database Azure SQL simulated with local SQL Server
database
Windows Azure Roles
Web Role A web role is used for web application
programming in ASP.NET or PHP Worker Role
A worker role is used for performing work on behalf of the web role.
Worker Roles are used to improve scalability by increasing parallelism and asynchronicity
Often used for background work and batch processing
DemoHello Azure
Windows Azure Role Details
Web Roles Define a single HTTP endpoint and a single HTTPS endpoint
for external clients Worker Roles
Define internal endpoints for HTTP, TCP May receive work from Windows Azure Storage Queues
Web and Worker Roles Can make outbound HTTP/S or .NET Framework class library
socket connections to Internet accessible resources Can access Windows Azure Storage services via REST APIs
or the Windows Azure Storage Client Library.
Service Management
Automated Service ManagementProvisioning, Patching, Upgrades
Fabric
Self ManagementDeploy, Promote, Scale, Upgrade
Management Portal
Programmatic ManagementProgrammatic deployments upgrades, etc. API for doing what the portal does
Management API
DemoLive Windows Azure Application In The Cloud
Application Concerns—Hardware
Server Instances Plan for peak usage scenarios Plan for redundancy to reduce down time Make up-front capital expenditures
Servers Networking / Load Balancers Software Licensing
Hardware Diagnostics & Failure Recovery Detection of failures Repair or replacement Backup parts on-hand
Azure Solution– Hardware
Hardware Acquisition No up-front capital expenditures Windows Azure provides redundancy Windows Azure scales to meet peak usage
Hardware Diagnostics & Failure Recovery Windows Azure detects hardware failures Windows Azure dynamically repairs itself
Azure Solution – Azure Network Security Network Security
Network Topology & Connectivity Created as needed from configuration
Firewall Rules & Maintenance Provided and configurable
De-Militarization Zone (DMZ) Provided
Institutional Resistance to Change Moves many security concerns to the cloud
Developer Experience
Leverage Existing Skills in .NET, SQL Server, WCF Use Familiar tools – Visual Studio, SSMS RESTful HTTP cloud services, supports Java, PHP,
Python Cloud apps can be developed locally / offline SDK Cloud Simulator – Dev Fabric, Dev Storage Extensive training kit with TONs of samples
Developer ExperienceUse existing skills and tools
Getting Started with Windows AzureThe Windows Azure Platform Portal
Provision Deploy Promote Stop/Start Scale Upgrade Delete
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
No SDK Required for SQL Azure
Conclusion
You are now Windows Azure savvy… You’ve seen Windows Azure in action… You’ve learned about the platform and its
components and core services You understand instance roles You know the tools you will need to begin You’re excited to use this new technology And you can hardly wait for session 2 on
data…
Q & AQ & A
Windows Azure Developer Platformhttp://www.microsoft.com/windowsazure/developers/
Channel 9 videoshttp://channel9.msdn.com/azure
Windows Azure Platform Training Kithttp://www.azure.com
Microsoft PDC 2009http://microsoftpdc.com/
Windows Azure SDKhttp://www.microsoft.com/windowsazure/developers/
Resources – Windows Azure Platform
Session 2:Azure Data Storage OptionsSession 2:Azure Data Storage Options
Agenda
Windows Azure Platform Data Storage Options
Getting Started with Azure Data Storage Getting Started with SQL Azure Data
Storage
Azure Platform Data Storage Options• Windows Azure Data Storage
• Blobs• Unstructured data storage
• Tables• Semi-structured or tabular data storage
• Queues• Buffered delivery data storage
• Drives• Durable NTFS volumes that Windows Azure
applications can use - beta launched week
• SQL Azure• Relational data storage
Getting Started with Windows Azure Data Storage
Windows Azure Data Storage
Account Name / Key
AccountName A unique name identifying the Azure Data Storage
AccountKey A blob of encrypted data used for authentication
Windows Azure Data Storage - Blobs Unstructured data storage Partitioned by container Unlimited containers
DemoWindows Azure Data Storage - BlobsThe GuestBook Application
Azure Storage Explorer
“Azure Storage Explorer is a useful GUI tool for inspecting and altering the data in your Azure cloud storage projects including the logs of your cloud-hosted applications. All three types of cloud storage can be viewed: blobs, queues, and tables.”
http://azurestorageexplorer.codeplex.com/
Windows Azure Data Storage – Tables (Terms Part 1)Windows Azure Table provides scalable, available, and durable structured (or semi-structured) storage in the form of tables. Table – contains a set of entities. Entity (Row) – Entities are the basic data items
stored in a table. Property (Column) – This represents a single
value in an entity. PartitionKey – The first key property of every
table. The system uses this key to automatically distribute the table’s entities over many storage nodes.
Windows Azure Data Storage – Tables (Terms Part 2) RowKey – A second key property for the
table. This is the unique ID of the entity within the partition it belongs to.
Timestamp – Every entity has a version maintained by the system.
Partition – A set of entities in a table with the same partition key value.
Sort Order – There is a single index provided for the CTP, where all entities in a table are sorted by PartitionKey and then RowKey
Windows Azure Data Storage - Tables The tables are scalable to billions of entities and
terabytes of data, and may be partitioned across thousands of servers.
The tables support ACID transactions over single entities and rich queries over the entire table.
Simple and familiar .NET and REST programming interfaces are provided via ADO.NET Data Services.
DemoWindows Azure Data Storage - TablesThe GuestBook Application
Windows Azure Data Storage - Queues Buffered delivery data storage Read at least once Delete to remove message, otherwise is
returned to queue Partitioned by Queue Name
DemoWindows Azure Data Storage - QueuesThe GuestBook Application
Windows Azure Data Storage – Drives Beta just announced this week Implemented as a page blob containing an
NTFS volume VHD Fixed size from 16 MB to 1 TB
APIs Create Drive, Initialize, Get Mounted Drives Mount, Unmount, Snapshot Read, Write
Your VMs can mount up to 16 drives
SQL Azure Features
Supported Tables, Indexes,
Views Stored Procedures Triggers Constraints Table Variables Temp Tables
(#Name)
Not Supported Physical Server
Access Catalog DDL Common Language
Runtime Service Broker Reporting Services Analysis Services Distributed
Transactions and Queries
SQL Azure
Initial Services Database – Core SQL Server database
capabilities
Future Services Data Sync – Enables the sync framework Additional SQL Server capabilities available as
a service: Business Intelligence and Reporting
New services: Reference Data and Secure Data Hub
SQL AzureDeployment
Web Portal(API)
SQL AzureTDS
DB Script
SQL AzureAccessing databases
Web Portal(API)
SQL AzureTDS
Your App
Change Connection String
Database Replicas
Replica 1
Replica 2
Replica 3
DB
Single Database Multiple Replicas
Single Primary
SQL AzureDatabase Monitoring & Recovery
Web Portal(API)
SQL AzureTDS
Your App
!
SQL Azure Server Creation
SQL Azure Firewall Maintenance
Simple rules Easy one-screen portal maintenance
SQL Azure Database Connection String An administrative user is created with the
server User has system administrator permissions
like sa” Server=tcp:itte80vcfq.database.windows.net
; Database=FabrikamAzureDB;User ID=SaPaulM;Password=myPassword;Trusted_Connection=False;Encrypt=True;
DemoSQL Azure Database Management
Database Management using SQL Management Studio
Database Migrations
Scripts Transfer Schema
Bulk Copy Program (BCP) Transfer Data
SSIS (SQL Server Integration Service) Transfer Schema and Data
Database Migrations (Cont.)
The SQL Azure Migration Wizard helps you migrate your local SQL Server 2005 / 2008 databases into SQL Azure. The wizard walks you through the selection of your SQL objects, creates SQL scripts suitable for SQL Azure, and allows you to migrate your data.”http://sqlazuremw.codeplex.com/
SQL Azure and Windows Azure Table Comparison
SQL Azure Tables Fully structured Strongly typed Relational (RDMS) Highly scalable
Windows Azure Tables Semi-structured Loosely typed Non-Relational (Not
RDMS) Massively scalable
Q & AQ & A
Resources
Azure Portal http://windows.azure.com
Tools SQL Azure Migration Wizard
http://sqlazuremw.codeplex.com/
Azure Storage Explorer http://azurestorageexplorer.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35189
Windows Azure Management Tool (MMC) http://cloudfex.com/cs/blogs/cloud/archive/2009/05/17/windows-azure-management-tool-m
mc.aspx
Windows Azure Forums http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thre
ads
ResourcesWindows Azure Data Storage
• Haridas, Jai. “Windows Azure Tables and Queues Deep Dive”. Microsoft PDC. 2009. http://microsoftpdc.com/Sessions/SVC09
• Calder, Brad. “Windows Azure Blob Deep Dive”. Microsoft PDC. 2009. http://microsoftpdc.com/Sessions/SVC14
Resources – White Papers
Windows Azure Table – Programming Table Storage http://go.microsoft.com/fwlink/?LinkId=153401
Windows Azure Blob – Programming Blob Storage http://go.microsoft.com/fwlink/?LinkId=153400
Windows Azure Queue – Programming Queue Storage http://go.microsoft.com/fwlink/?LinkId=153402
Session 3:From Construction through Deployment
Session 3:From Construction through Deployment
Agenda
Build Web Application Migrate Web Application to Windows
Azure Deploy to the Cloud Migrate Data to SQL Server Migrate SQL Database to SQL Azure Deploy SQL Azure Database Migrate Web Application to the Cloud
Objective
Understand the process of building and deploying web applications and databases to Windows Azure and SQL Azure.
Part 1 - Developing and Running Application From the Local Dev FabricDevelopment Workstation
Dev FabricWeb App
The Cloud
DemoPart 1 - Developing and Running Application From the Local Dev Fabric
Part 2 - Deploy A Web ApplicationFrom Dev Fabric to Windows Azure Staging
Cloud Fabric
Staging
Production
Development Workstation
Dev Fabric
Web AppWeb App
DemoPart 2 – Deploy A Web ApplicationFrom Dev Fabric to Windows Azure Staging Area
Guest Partition
Enterprise baseVHD3
Physical Server HardwareCPU, memory, disk, and network
Maintenance OS1
Hypervisor
Host Partition
Server CoreVHD
Host Differencing
VHD
2
Guest Partition
Guest Partition
Guest Differencing
VHD
WebVHD
Service 1Bits
Server Core base VHD
Guest Differencing
VHD
WorkerVHD
Service 2Bits
Guest Differencing
VHD
WorkerVHD
Service 3Bits
4
5
6
7
Part 3 - Deploy A Web ApplicationFrom Windows Azure Staging to Production
Cloud Fabric
Staging
Production
Web AppWeb App
DemoPart 3 – Deploy Our Windows Azure Application From The Windows Azure Staging Area into Production
Part 4 - Developing and Running ApplicationWith SQL Server From the Local Dev Fabric
Development Workstation
Dev FabricWeb App
SQL DatabaseThe
Cloud
DemoPart 4 – Developing and Running Application With SQL Server From the Local Dev Fabric
Part 5 - Developing and Running ApplicationWith SQL Server From the Local Dev FabricDevelopment Workstation
Dev FabricWeb App
SQL Database
Cloud Fabric
Staging
Production
SQL Azure
SQL Database
DemoPart 5 - Developing and Running ApplicationWith SQL Azure From the Local Dev Fabric
Part 5 - Developing and Running ApplicationWith Windows Azure and SQL AzureDevelopment Workstation
Dev FabricWeb App
SQL Database
Cloud Fabric
Staging
Production
SQL Azure
SQL Database
Web App
Web App
Web App
Part 7 - Revising Application Configuration
Development Workstation
Dev FabricWeb App
SQL Database
Cloud Fabric
Staging
Production
SQL Azure
SQL Database
Web App
Web AppWeb App
Config
Pricing The moment you’ve all been
waiting for!
Elastic, scalable, secure, & highly available automated service
platform
Compute
$0.12/hour
+ Variable Instance Sizes
Per service hour
Highly available, scalable, and self managed distributed
database service
Web Edition
Per database/month
$9.99/month(up to 1 GB DB/month)
Business Edition
$99.99/month(up to 10 GB DB/month)
Per database/month Storage Per GB stored &
transactions$0.15 GB/month
$0.01/10K transactions
Windows Azure platform AppFabric Service Bus & Access ControlScalable, automated, highly available services for secure
connectivity
Access Control
$0.015/10k Message Operations
Per Message Operation $0.015/10k Message
Operations
Per Message Operation
Service Bus
Pay for computing and storage
Windows Azure Instance Sizes
Unit of Compute Defined
Small
$0.12
Per service hour
Medium
$0.24
Per service hour
Large
$0.48
Per service hour
X Large
$0.96
Per service hour
Variable instance sizes to handle complex workloads of any size
Small
1 x 1.6Ghz (moderate IO)
Medium
2 x 1.6Ghz (high IO)
Large
4 x 1.6Ghz (high IO)
X-Large
8 x 1.6Ghz(high IO)
Equivalent compute capacity of a 1.6Ghz processor (on 64bit platform)
1.75 GB memory
3.5 GB memory 7.0 GB memory 14 GB memory250 GB storage(instance storage)
500 GB storage(instance storage)
1000 GB storage
(instance storage)
2000 GB (instance storage)
Pay per “processor”
North America Region
S. Central - US Sub-region
N. Central – US Sub-region
Europe Region
W. Europe Sub-region
S.E. AsiaSub-region
Asia Pacific Region
E. AsiaSub-region
$0.10 GB Ingress
$0.15 GB Egress
$0.10 GB Ingress
$0.15 GB Egress
$0.30 GB Ingress
$0.45 GB Egress
N. Europe Sub-region
Windows Azure Platform Data Transfer Priced per GB transferred/month (prices shown in USD)
No Charge For Off Peak Ingress Promotion (ends 6/30/10)
On-board to Windows Azure platform at no charge Off peak times defined as: 10pm-6am Mon-Fri & from 10pm-Fri to 6am-Mon for weekends in each designated regional time zones
below North America
PST = UTC-8 Europe
WET = UTCAsia Pacific
SST = UTC+8
Pay for data transfer in & out
Q & AQ & A
Resources - Deployments
Kerner, Mathew. “Windows Azure Diagnostics, Logging and Monitoring in the Cloud.” Microsoft PDC. 2009. http://microsoftpdc.com/Sessions/SVC15
More Information On Stuff We Wanted To Talk About But Didn’t Have Time For…
AppFabric Smith, Justin. “REST Services Security Using the
Access Control Service”. Microsoft PDC. 2009 http://microsoftpdc.com/Sessions/SVC19
Diagnostics Kerner, Mathew. “Windows Azure Diagnostics,
Logging and Monitoring in the Cloud.” Microsoft PDC. 2009. http://microsoftpdc.com/Sessions/SVC15