Before reading this article, I highly recommend reading the following previous parts:
Creating Azure Web Role Project
This article offers a real taste of creating a complete Windows Azure service life-cycle by putting “Platform as a Service” into practice. At the end this, you will fully understand the complete flow for building a simple ASP.NET Web Role project (First “Hello World” program in Azure) under Windows Azure and the mechanism of deploying that simple application into the cloud climate.
Prerequisites
This article assumes you have at least a minimal understanding of .NET development, especially ASP.NET with C# and Object-Oriented Programming concepts. You will need the following hardware and software to complete the practice exercises in this article:
- One of the Windows 7 editions, Windows Server 2008 with Service Pack 2, or Windows 8
- Visual Studio 2010, or any latest edition
- Windows Azure SDK
- A computer capable of running the latest Visual Studio.
- Running Internet Information Service
- An Internet connection to work with Windows Azure
Getting Started
Now, let's get started with developing Windows Azure services. The objectives of this section is to get you started with a hands-on experience in building your own cloud services. In this example, you will develop, build and deploy a simple Windows Azure web role service to the cloud. Initially, we will build the complete service in the development fabric and then deploy it to the cloud.
Creating Web Role Project
The Web Role designed for making Web Sites or services accessible over HTTP typically contains multiple services and websites. It offers all the features of the Worker role, as well as supports IIS. To start with a cloud Azure service project, it is necessary to first configure all the relevant Azure SDK tools along with IIS. To debug and test your first Azure application in the compute emulator, first you need to start the Visual Studio IDE with administrative privileges. Then, go to New Project and select Cloud from the C# language bar and start an Azure cloud service project as in the following:
Even as the new project is being selected from a template, the following (an ASP.NET Web Role) appears on the right in the Windows Azure Solution panel, meaning that your solution will contain one Web Role built with ASP.NET itself. Hence, choose a web role and assign a meaningful name and proceed as in the following:
Then, Visual Studio creates a couple of essential files automatically that will be shown in the Solution Explorer. The project is identical to a standard ASP.NET web application, since you are creating an ASP.NET project and are binding it to a web role later. The Roles folder locates the significant configuration file, both for local and cloud deployment in the form of a .cscfg. The project is hosted inside a normal Visual Studio solution that also contains a cloud project as shown in the Solution Explorer.
Since this project is a simple hands-on exercise with the Azure service, open the Default.aspx the from hWorld web role and place the following simple construct containing a server-side label control and simple “Hello world” message in the heading as in the following:
- <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="hWorld._Default" %>
-
- <asp:Content ID="HeaderContent" runat="server"
- ContentPlaceHolderID="HeadContent">
- </asp:Content>
-
- <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
- <h1> Hello World, Windows Azure Service</h1> <br />
- <asp:Label ID=" lblTime" runat="server" />
- </asp:Content>
In the code-behind file, assign the current time to the Label within the Page Load event that will display the current time of the zone where the server is located as shown in the Listing.
- namespace hWorld
- {
- public partial class _Default : Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- lblTime.Text = DateTime.Now.ToString();
- }
- }
- }
Testing in Local Emulator
After we are done with the necessary form control placement and corresponding server-side coding, save the entire solution and debug it via F5 to test it in your local environment before deploying it into the cloud. As in the following, it is running as shown by the message as well as the server's current time.
Go to the Notification Area of the Windows Taskbar and click the Windows Azure icon. When you click the icon, you receive a comforting message saying that everything is fine with the compute emulator and storage emulator.
If you right-click the icon and choose Show Compute Emulator UI, you end up with the Local Emulator Interface. The tree in the left pane of the compute emulator window offers details about the local deployment of the “Hello World” project. In the user interface, you can see that the project contains a role named hWorld that has just one instance named 0. If you select this instance, the right pane of the window shows numerous trace messages. This pane reports all the events that the fabric has raised, together with some useful diagnostic information.
Deployement to Azure
You have now crafted a cloud project as a simple ASP.NET web application, but you haven't used any cloud-specific APIs yet. In this section while deployment, you examine the cloud project inside the solution and explore some cloud APIs that you can use for your pages.
Cloud Service Configuration
First of all, create a cloud service from the Azure portal named azHelloWord (it is recommended to keep the name the same for both the cloud service and the Visual Studio cloud service) as in the following:
Once the cloud services is created and configured as azHelloWorld properly, it shows its current status as in the following:
Package Building
Hereafter, create the package or bundle up the Azure cloud service from the Visual Studio IDE itself. Go to Solution Explorer, right over the Azure service and make a package as in the following:
Since the package will be deployed at a cloud service, choose the build configuration as Release.
Finally, the package will be created and can be seen in the project solution directory. There are two files created, one belongs to the original service and the second contains the necessary configuration file. The Service configuration file (azHelloWorld.Cloud.cscfg) contains the service account name under which the application will be deployed. It is used to define the cloud storage account name and its key using that the cloud storage can be accessed.
Uploading of Package
After creating the package, open the Azure development portal and open the cloud service azHelloWorld dashboard. Here, choose New Production Deployment as in the following:
In the deployment interface, upload both the cloud service file and the configuration files from the solution BIN folder as in the following:
Testing Cloud Service Live
The uploading process usually takes some time, if everything is correctly configured then the Azure portal will show the successful deployment of the services as in the following:
However, you can ensure the correct installation and configuration of cloud services from the dashboard itself, where it is showing the Running status as in the following:
Finally, test the cloud service by entering the URL as http://azHelloWorld.cloudapp.net into the browser and it shows the server time with the “Hello World” message as in the following:
Reference