330 likes | 405 Views
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
E N D
Windows Azure Tour Benjamin Day Benjamin Day Consulting, Inc.http://www.benday.comhttp://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 “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
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
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?
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
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
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
Demo 4: Deploy To The Cloud • Change the storage config to use production servers
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.configvsServiceConfiguration.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
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