In this article I am going to explain a brief introduction of cloud programming in Visual Studio 2010.
Cloud: Cloud computing is internet based computing, whereby shared resources, software and information are provided to computers.
Windows Azure: Windows Azure is a Microsoft cloud computing platform. The Windows Azure platform offers an intuitive, reliable and powerful platform for the creation of web applications and services. The Windows Azure platform is comprised of Windows Azure: an operating system as s service; SQL Azure: a fully relational database in the cloud; and .NET Services: consumable web based services that provide both secure connectivity and federated access control for applications.
Role: Role is an element or individually scalable component running in the cloud. Each instance corresponds to a Virtual Machine in the cloud.
Web Role: Web Role is similar to a web application running on IIS. It is accessible via http or https endpoint.
Worker Role: A worker role is used to host background processing application behind a web role.
Storage Services: Scalable storage solutions to provide support to sustain scaling in load. Blob, queue and table storage services in Microsoft Azure storage.
Microsoft SQL Azure: Cloud based relational db service built on SQL Server technology.
Development Fabric: It is a local Simulation environment: enables local development and testing of cloud applications.
Visual Studio 2010 provides support for programming cloud based services. There are three areas where Microsoft provides developers with a hook into cloud-based programming:
1) Development and configuration tool.
2) Local testing environment.
Install Windows Azure tools for Visual Studio to get started with cloud programming.
To create a new Role, you can create a new Project and use one of the templates such as ASP.Net Web Role template, WCF Service Role template, and ASP.Net MVC role template.
Web Roles contain additional references to assemblies compared to standard ASP.Net web app such as:
The cloud service project is a deployment project that defines which roles are included, their definition and configuration files.
A simulation environment is provided locally through IIS to develop and test cloud-based services. Development Fabric provides a local test environment enabling developers to develop and test cloud based applications on local machines.
· First develop and build the application locally using Windows Azure Development Fabric and using local storage.
· Once the application is tested locally, run in mixed mode - run the application locally using a Windows Azure Storage Account.
· After everything is validated in mixed mode, deploy and test your application on Windows Azure using a Windows Azure storage account and id.
· Each Windows Azure Hosted Service has a private staging deployment area and a public Production deployment area. Windows Azure account id can be provisioned online on windows.azure.com. The provisioning process provides options to set a friendly account name, select affinity groups etc. Affinity groups indicate tight coupling for storage and hosted services, where possible. When you deploy the application to Staging on Windows Azure, the Role is in Allocated state. Once you click Run, the Role is in Initializing state. When the Role is ready, it moves to the Started State. For testing your application in the staging environment, you can navigate to the staging URL which is a URL starting with a guid.
· Once everything is tested, the Role can be promoted to Production area. From this stage, the Role is available to end users.
· For on-going changes/fixes, you can modify the development environment. In order to maintain separate storage for staging and production, separate storage bindings for the deployment and staging. When you expect the load to increase, the instance count can be increased by modifying and re-deploying the service configuration file.