c fowler intro-azure
DESCRIPTION
Introduction to Windows AzureTRANSCRIPT
Introduction to Windows Azure
Feat. 7 Deadly Sins of Cloud Development
Cory Fowler Consultant, ObjectSharp Microsoft MVP, Windows Azure @SyntaxC4 http://blog.syntaxc4.net gettag.mobi
I’m all in.
Agenda
1. Quick overview of Windows Azure offerings
2. 7 Deadly Sins of Cloud Development
3. …
4. Make money???
Windows Azure Compute
A Hosted Service is a container for an Application.
An Application must consist of at least one Role.
A Role is Scalable to meet the demand of traffic.
Windows Azure Compute
Windows Azure Compute
Ro
le
Web Ro
le
Worker Ro
le
VM ASP.NET
WCF
Fast CGI
Emulates IIS
Long Running Process
Emulates Windows Services
Windows Server 2008 R2
Customized Guest OS
Windows Azure Storage
Durable NTFS VHD [Mountable] Drives
Reliable Message Delivery for Applications Queue
Non-Relational Entity Storage Table
Files with accompanying Meta Data Blob
Windows Azure Storage
Windows Azure CDN nodes
SQL Azure
Feature Set
Web Edition Business Edition
1GB, 5GB 10-50GB
Data Types XML, Sparse Columns, Filestream
Partitions Full-text indexes SQL-CLR
Tables, indexes and views
Stored Procedures
Triggers
Constraints
Table variables, session temp tables (#t)
Spatial types, HierarchyId
SQL Azure
SQL Azure Data Sync
SQL Azure
SQL Azure Reporting
Virtual Network
On-Premise
Remote Office
Windows Azure
Web Role 1
Web Role 2
[IP-Sec Connectivity]
Windows Azure Connect
Virtual Network
Windows Azure Traffic Manager
Load Balance an Application using {0} based routing.
Performance – Route traffic to best suited Hosted Service based on ping.
Failover – Route traffic to standby Hosted Services while primary is offline.
Round Robin – Route traffic equally between configured Hosted Services.
AppFabric
On-Premise Partner/Customer Office
[Firewall] [Firewall]
Service Bus
AppFabric
Producer Consumer
Topics & Queues
AppFabric
Caching
Cache Layer
Web Site Instance
Web Site Instance
Web Site Instance
Web Site Instance
Web Site Instance
AppFabric
Access Control Service
WS-*
Google, Yahoo
OAuth 2.0
Websites and web
services Live ID
OAuth WRAP
Access Control
Service
Open ID Rules
Marketplace
Data Market Application Market
Under Utilization of Cloud Resources
Make the Cloud work hard for your money!
Sin
Sin: Under Utilization of Cloud Resources
Scaling Vertically Vs. Horizontally
Compute Size CPU Memory Instance Storage
I/O Performance
Extra Small 1.0 GHz 768 MB 20 GB Low
Small 1.6 GHz 1.75 GB 225 GB Moderate
Medium 2 x 1.6 GHz 3.5 GB 490 GB High
Large 4 x 1.6 GHz 7 GB 1,000 GB High
Extra large 8 x 1.6 GHz 14 GB 2,040 GB High
Sin: Under Utilization of Cloud Resources
Instrumentation Data Source Collected by
Default? Supported Role Types Storage Service
Windows Azure logs Web & Worker Table
IIS 7.0 logs Web only Blob
Windows Azure Diagnostic Infrastructure logs
Web & Worker Table
Failed Request logs Web only Blob
Windows Event logs Web & Worker Table
Performance Counters Web & Worker Table
Crash Dumps Web & Worker Blob
Custom Error logs Web & Worker Blob
Sin: Under Utilization of Cloud Resources
• Sizing a VM • Windows Azure Diagnostics • Overloaded Roles
Demo
Platform Monogamy
Sin
Sin: Platform Monogamy
Poorly Defined Release Cadence
Sin
Speed up Deployment
http://waawebroles.codeplex.com
Sin: Poorly Defined Release Cadence
ALM + Automation
http://deploytoazure.codeplex.com
Sin: Poorly Defined Release Cadence
Always Connected Assumption
Sin
Application
Demo
• Paging with Table Storage
Synchronous Application Design
Sin
Web Site
Web Site Web Site
Web Site Back-End Services
Admin Site
Application Roles
[Web Role] [Worker Role] [VM Role]
Define Scale Units
Sin: Synchronous Application Design
Account Container Item
BLOB Storage
TABLE Storage
QUEUE[S] Storage
http[s]://account.*.core.windows.net
NerdDinner images
videos Blobs
NerdDinner
NerdDinner
locations
dinners Entities
rsvp
resize Messages
Sin: Synchronous Application Design
Windows Azure Storage
Demo
• Using Windows Azure Storage for Asynchronous Tasks
Lack of Load Testing / Failover Testing
Sin
Demo
• Simulate Failure using Compute Emulator
Cloudy Reading
Resources
Blog http://blog.syntaxc4.net
GitHub http://github.com/syntaxc4
Windows Azure Platform Training Kit http://bit.ly/jXfyyD
Windows Azure Powershell Cmdlets http://bit.ly/m75gEc
Windows Azure Tools http://bit.ly/miooC4
Cloud Cover Show http://bit.ly/g4nQbT
Essential Resources for Windows Azure http://bit.ly/efmzGo