slides - Benjamin Day Consulting, Inc.

advertisement
Windows Azure
Tour
Benjamin Day
Benjamin Day Consulting, Inc.
http://www.benday.com
http://blog.benday.com
About the speaker
• Owner, Benjamin Day Consulting, Inc.
– Email: benday@benday.com
– Web: http://www.benday.com
– Blog: http://blog.benday.com
• Trainer
– Visual Studio Team System, Team Foundation Server
•
•
•
•
Microsoft MVP for VSTS
Microsoft VSTS/TFS Customer Advisory Council
Microsoft Cloud Services Advisory Group
Leader of Beantown.NET INETA User Group
Agenda
• Big thanks to
– Steve Marx @ Microsoft
– Manuvir Das @ Microsoft
– David Aiken @ Microsoft
•
•
•
•
What is Windows Azure?
Develop Your Application
Deploy To Staging and Production
Some Stuff To Think About
The Azure Platform
The Azure Platform
The “cloud” in Cloud Services?
• Think data-center somewhere on the internet
• Allows you to run your app
• Allows you to read and write data
Ok. So what’s Windows Azure?
• Microsoft’s “cloud”
– Every cloud has an Azure lining?
• Custom version of Windows
– Optimized for utility computing applications
– Always runs virtualized on the Azure Fabric
• Azure Fabric
– Runs instances of your apps
– Handles “everything”
• Azure Storage
• Azure SDK for Visual Studio
Why Azure?
• “I’ve got my awesome data-center so…”
• No more worrying about…
– Buying, configuring, maintaining hardware
– Buying, configuring, maintaining the operating system
– Network infrastructure
• Routers, Switches, Load Balancers
– Your data-center’s power and internet connections
– Failovers
• Worry less about…
– App deployment
– Capacity planning
• Focus on writing your app
Simple Scale Out
• Changes in traffic
• Need more servers?
• Need fewer servers?
I want everything…
•
•
•
•
…and it should be easy.
Azure let’s you worry about writing your app
Don’t have to learn a whole bunch of new stuff
Leverage your existing dev skills
Azure: The Developer View
• Write it in Visual Studio
– New project types
– Debug your code
• .NET, ASP.NET, WCF, IIS7, LINQ
• Azure Storage
– Database in the cloud
– (with a few caveats)
• Desktop development versions of
– Azure Fabric
– Azure Storage
Demo 1: Hello, World
Hello, World: Discuss.
• Doesn’t look like much but…
– that’s “internet scale”-able
– Highly available
• Mostly stuff you already know
Debugging In The Cloud
• We can debug a service in Visual Studio
• How do you debug a service that has been deployed?
– Answer: you don’t
• Logging is the answer
• RoleManager.WriteToLog(eventLogName, message)
– Event log name values: Error, Information, Warning, Debug, Critical
Demo 1.1: Hello World + Logging
AZURE STORAGE
Azure Storage
• Simple database in the cloud
– Tables
• “structured storage”
– Blobs
– Queues
• You don’t worry about replication
• Scales like nobody’s business
• Development version
– DevelopmentStorage.exe
– Uses SQL Server Express
Table Storage
• Every row has RowKey & Partition Key
• RowKey = primary key
• PartitionKey
– Helps you tell Azure how to scale your data
– You have to think about how you’ll be querying
– By State? By Hour? Other?
RowKey
PartitionKey
FirstName
LastName
1
MA
Ben
Day
2
MA
John
Malkovich
3
WA
Bill
Gates
4
CA
Steve
Jobs
PartitionKey
• Your partitions could be on different servers
• Best practice: If you know your PartitionKey, add it to
the WHERE clause
• No PartitionKey in the WHERE  insane table scans
• Recommendation: More partitions is (probably) better
• Think hard about your partition key in the beginning
– Else, roll your own re-partitioning
Column Data Types
• Partition key and Row key
– String (up to 64KB)
• Other properties
–
–
–
–
–
–
–
–
String (up to 64KB)
Binary (up to 64KB)
Bool
DateTime
GUID
Int
Int64
Double
Demo 2: Azure Table Storage
MORE THAN JUST ASPX
Utility Compute without a UI
• Azure uses the concept of “Roles”
• Hello, World used a “Web Role”
• The other role is a “Worker Role”
– Think windows service in the cloud
Web & Worker
Demo 3: Worker Role and a Queue
• In a web role, create an ASP.NET page
– Creates a queue
– Writes to a queue
– Gets queue depth
• Worker Role
– Reads the queue
– “Processes” the message
DEPLOYMENT
Demo 4: Deploy To The Cloud
• Change the storage config to use production servers
MISCELLANEOUS
Things to think about
•
•
•
•
No foreign keys
No triggers
No stored procedures
In Table storage, strings can only be 64k
– You’ll need to use a mix of Blob and Tables
• Think hard about what config values you put in
web.config/app.config vs ServiceConfiguration.cscfg
The Big Questions
• When?
– Sometime in 2009
• An actual Service Level Agreement (SLA)
• More data-centers
– Now in US only
– Global at go-live
• What will it cost?
– It will depend on what you use
More resources
• My Blog
– http://blog.benday.com
– Sample code
– More Azure content to come…
• Steve Marx’s blog
– http://blog.smarx.com/
– Evangelist for the Azure team
• Azure.com
Final questions?
About the speaker
• Owner, Benjamin Day Consulting, Inc.
– Email: benday@benday.com
– Web: http://www.benday.com
– Blog: http://blog.benday.com
• Trainer
– Visual Studio Team System, Team Foundation Server
•
•
•
•
Microsoft MVP for VSTS
Microsoft VSTS/TFS Customer Advisory Council
Microsoft Cloud Services Advisory Group
Leader of Beantown.NET INETA User Group
Download