Types Public – Available On self Service Basis Hybrid – Many into one Private – For Proprietary software's
Problems which lead to the innovation Piracy Software Cost Hardware Cost Man Power Security Issues Support for different Hardwares
Who are the Major players involved in developing a cloud OS ?
Agenda 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
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
Have a look at Data Center of Azure at the initial stage of the project
Simple Scale Out Changes in traffic Need more servers? Need fewer servers?
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
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
More Than Just ASPX
Utility Compute without a UI Azure uses the concept of “Roles” There are two types of roles: Web role Worker role
Web & Worker
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
How will the interface look like ?
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.config vs ServiceConfiguration.cscfg
SaaS – Software as Service Take a look at this !
Final year projects Current market ? Landing a job in Microsoft ? Where to find the learning resources ?
Thank You Gopinathan.Rm Find me @ www.twitter.com/gopinathanrm email@example.com firstname.lastname@example.org www.fb.me/gopinathanrm www.teknicalerror.blogspot.com