Introduction of Cloud in Visual Studio 2010
In this article I am going to
explain a brief introduction of cloud programming in Visual Studio 2010.
Important terms:
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.
Details:
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.
3)
Deployment.
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:
Microsoft.Windows.Azure.Diagnostics,
Microsoft.Windows.Azure.ServiceRuntime,
and Microsoft.Windows.Azure.StorageClient.
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.
Process:
·
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.
|