Monday, March 14, 2011
Thoughts & practices in Developing Cloud based solutions in Azure
I'm working for a while in designing and developing cloud based solutions using windows azure platform. In addition, I love working in the cloud and the concept to focus on developing business requirements rather than the infrastructure preparation and servers setup. I like the concept of the configuration management since you can build your virtual network and the server configuration form an XML file and with few clicks your project is hosted and deployed.
In this post i will share some ideas and thoughts that you might face or have in your mind when you start developing cloud based solutions.
1) Project Types: Using VS 2010, you can build different types to be hosted in windows azure, You can build web sites, web application in addition to back end services. The websites & web applications are called WEB ROLES. and back end services are called WORKER ROLES.
2) Databases: You can deploy your existing database by creating scripts in SQL 08 R2 Management studio that can have schema+data,schema only,data only and connect to the cloud DB server and run those scripts. then you db is ready to be used. The management console in Azure gives you the connection string to connect to your db under SQL azure tab.
3) DB size: As we have till now, you have 2 editions for DB: Web or Business, Web edition allow you to create DB up to 5 GB. and Business Edition allows you to create DB up to 50 GB. since we pay as we use in the cloud, you might start your project with specific size and then you need to extend this. and this is a FAQ for most of developers that have created their dbs and need to extend the DB size in the cloud
To change your DB edition and size option, check out this link:
4) VM configuration: Every deployment in Azure is a VM in the data center. So, you can configure the VM size and all deployment configurations such as: RAM,Processor,Trust level,Virtual Network setup...etc on your project before deploy it in the cloud. You can do this by right click on the cloud service project and select properties option.
To know more about how to configure your cloud project in VS 2010, check out this link:
5) Make sure to change the custom dlls required property Copy Local = True in VS 2010. So you will have them in the deployment package.
6) Here is a general troubleshooting tips for hosted services:
Hope this helps.