Shaun Xu

The Sheep-Pen of the Shaun



Shaun, the author of this blog is a semi-geek, clumsy developer, passionate speaker and incapable architect with about 10 years’ experience in .NET and JavaScript. He hopes to prove that software development is art rather than manufacturing. He's into cloud computing platform and technologies (Windows Azure, Amazon and Aliyun) and right now, Shaun is being attracted by JavaScript (Angular.js and Node.js) and he likes it.

Shaun is working at Worktile Inc. as the chief architect for overall design and develop worktile, a web-based collaboration and task management tool, and lesschat, a real-time communication aggregation tool.


My Stats

  • Posts - 119
  • Comments - 501
  • Trackbacks - 0

Tag Cloud

Recent Comments

Recent Posts


Post Categories

Image Galleries


This is the 3rd post of my Windows Azure Evolution series, focus on the new features and enhancement which was alone with the Windows Azure Platform Upgrade June 2012, announced at the MEET Windows Azure event on 7th June. In the first post I introduced the new preview developer portal and how to works for the existing features such as cloud services, storages and SQL databases. In the second one I talked about the Windows Azure .NET SDK 1.7 on the latest Visual Studio 2012 RC on Windows 8. From this one I will begin to introduce some new features. Now let’s have a look on the first one of them, Windows Azure Web Sites.



Windows Azure Web Sites (WAWS), as known as Antares, was a new feature still in preview stage in this upgrade. It allows people to quickly and easily deploy websites to a highly scalable cloud environment, uses the languages and open source apps of the choice then deploy such as FTP, Git and TFS. It also can be integrated with Windows Azure services like SQL Database, Caching, CDN and Storage easily.

After read its introduction we may have a question: since we can deploy a website from both cloud service web role and web site, what’s the different between them? So, let’s have a quick compare.

OS Windows Server Windows Server
Virtualization Windows Azure Virtual Machine Windows Azure Virtual Machine
Language C#, VB.NET C#, VB.NET, PHP
Database SQL Database SQL Database, MySQL
Architecture Multi layered, background worker, message queuing, etc.. Simple website with backend database.
VS Project Windows Azure Cloud Service ASP.NET Web Form, ASP.NET MVC, etc..
Out-of-box Gallery (none) Drupal, DotNetNuke, WordPress, etc..
Deployment Package upload, Visual Studio publish FTP, Git, TFS, WebMatrix
Compute Mode Dedicate VM Shared Across VMs, Dedicate VM
Scale Scale up, scale out Scale up, scale out

As you can see, there are many difference between the cloud service and web site, but the main point is that, the cloud service focus on those complex architecture web application. For example, if you want to build a website with frontend layer, middle business layer and data access layer, with some background worker process connected through the message queue, then you should better use cloud service, since it provides full control of your code and application. But if you just want to build a personal blog or a  business portal, then you can use the web site. Since the web site have many galleries, you can create them even without any coding and configuration.

David Pallmann have an awesome figure explains the benefits between the could service, web site and virtual machine.



Create a Personal Blog in Web Site from Gallery

As I mentioned above, one of the big feature in WAWS is to build a website from an existing gallery, which means we don’t need to coding and configure. What we need to do is open the windows azure developer portal and click the NEW button, select WEB SITE and FROM GALLERY.


In the popping up windows there are many websites we can choose to use. For example, for personal blog there are Orchard CMS, WordPress; for CMS there are DotNetNuke, Drupal 7, mojoPortal. Let’s select WordPress and click the next button.


The next step is to configure the web site. We will need to specify the DNS name and select the subscription and region. Since the WordPress uses MySQL as its backend database, we also need to create a MySQL database as well.


Windows Azure Web Sites utilize ClearDB to host the MySQL databases. You cannot create a MySQL database directly from SQL Databases section.

Finally, since we selected to create a new MySQL database we need to specify the database name and region in the last step. Also we need to accept the ClearDB’s terms as well.


Then windows azure platform will download the WordPress codes and deploy the MySQL database and website. Then it will be ready to use.


Select the website and click the BROWSE button, the WordPress administration page will be shown.


After configured the WordPress here is my personal web blog on the cloud. It took me no more than 10 minutes to establish without any coding.



Monitor, Configure, Scale and Linked Resources

Let’s click into the website I had just created in the portal and have a look on what we can do. In the website details page where are five sections.

- Dashboard

The overall information about this website, such as the basic usage status, public URL, compute mode, FTP address, subscription and links that we can specify the deployment credentials, TFS and Git publish setting, etc..


- Monitor

Some status information such as the CPU usage, memory usage etc., errors, etc.. We can add more metrics by clicking the ADD METRICS button and the bottom as well.


- Configure

Here we can set the configurations of our website such as the .NET and PHP runtime version, diagnostics settings, application settings and the IIS default documents.


- Scale

This is something interesting. In WAWS there are two compute mode or called web site mode. One is “shared”, which means our website will be shared with other web sites in a group of windows azure virtual machines. Each web site have its own process (w3wp.exe) with some sandbox technology to isolate from others.


When we need to scaling-out our web site in shared mode, we actually increased the working process count. Hence in shared mode we cannot specify the virtual machine size since they are shared across all web sites. This is a little bit different than the scaling mode of the cloud service (hosted service web role and worker role).


The other mode called “dedicate”, which means our web site will use the whole windows azure virtual machine. This is the same hosting behavior as cloud service web role. In web role it will be deployed on the virtual machines we specified and all of them are only used by us. In web sites dedicate mode, it’s the same.

In this mode when we scaling-out our web site we will use more virtual machines, and each of them will only host our own website. And we can specify the virtual machine size in this mode.


In the developer portal we can select which mode we are using from the scale section. In shared mode we can only specify the instance count, but in dedicate mode we can specify the instance size as well as the instance count.


- Linked Resource

The MySQL database created alone with the creation of our WordPress web site is a linked resource. We can add more linked resources in this section.



For the web site itself, since this feature is in preview period if you are using shared mode, then you will get free up to 10 web sites. But if you are using dedicate mode, the price would be the virtual machines you are using. For example, if you are using dedicate and configured two middle size virtual machines then you will pay $230.40 per month.

If there is SQL Database linked to your web site then they will be charged separately based on the Pay-As-You-Go price. For example a 1GB web edition database costs $9.99 per month.

And the bandwidth will be charged as well. For example 10GB outbound data transfer costs $1.20 per month.

For more information about the pricing please have a look at the windows azure pricing page.



Windows Azure Web Sites gives us easier and quicker way to create, develop and deploy website to window azure platform. Comparing with the cloud service web role, the WAWS have many out-of-box gallery we can use directly. So if you just want to build a blog, CMS or business portal you don’t need to learn ASP.NET, you don’t need to learn how to configure DotNetNuke, you don’t need to learn how to prepare PHP and MySQL. By using WAWS gallery you can establish a website within 10 minutes without any lines of code.

But in some cases we do need to code by ourselves. We may need to tweak the layout of our pages, or we may have a traditional ASP.NET or PHP web application which needed to migrated to the cloud. Besides the gallery WAWS also provides many features to download, upload code. It also provides the feature to integrate with some version control services such as TFS and Git. And it also provides the deploy approaches through FTP and Web Deploy. In the next post I will demonstrate how to use WebMatrix to download and modify the website, and how to use TFS and Git to deploy automatically one our code changes committed.


Hope this helps,


All documents and related graphics, codes are provided "AS IS" without warranty of any kind.
Copyright © Shaun Ziyan Xu. This work is licensed under the Creative Commons License.


Gravatar # re: Windows Azure Evolution - Web Sites (aka Antares) Part 1
Posted by Stacy on 6/13/2012 1:49 AM
Can I have Web Sites and, within my web site code hit a queue and have a worker pick it up. In other words, combine the web sites and workers?
Gravatar # re: Windows Azure Evolution - Web Sites (aka Antares) Part 1
Posted by Shaun Xu on 6/13/2012 10:43 AM

I theory, yes you can. Since you can write code and upload into the web site, and underlying the web site is hosted on the windows azure virtual machine so it basically same as a web role. The benefit of web site it quick and easy development and deployment.
Gravatar # re: Windows Azure Evolution - Web Sites (aka Antares) Part 1
Posted by Al on 8/5/2012 4:11 PM
How to create more than 1 mysql?
Gravatar # re: Windows Azure Evolution - Web Sites (aka Antares) Part 1
Posted by Shaun Xu on 8/6/2012 10:07 AM

It's not supported currently to create more than one MySQL when creating a WAWS. But the work around would be, create another (dummy) WAWS with a MySQL database, link it to the one you had created. And then when removing the (dummy) WAWS do NOT remove the linked resource.

Gravatar # re: Windows Azure Evolution - Web Sites (aka Antares) Part 1
Posted by Steph on 9/28/2012 2:08 PM
Thanks for explaining the difference between cloud service and web sites! I am wondering what is the difference between web sites and virtual machine, apart from virtual machine are more customizable? Does web site just mean microsoft set up a virtual machine with windows server for your website? What would be the implication for fee and usage of instances? Thanks!
Gravatar # re: Windows Azure Evolution - Web Sites (aka Antares) Part 1
Posted by Shaun on 9/28/2012 3:49 PM

You may have more customization in Virtual Machine. Your web site may co-located with others in the same virtual machines if you selected "free" or "shared" mode. In "reserve" mode the web site works like web role very much.

The price of virtual machine is mainly from the size of the machine you selected, plus the storage and bandwidth you used. But web site has lower cost.
Gravatar # re: Windows Azure Evolution - Web Sites (aka Antares) Part 1
Posted by Debasis Patra on 4/9/2013 1:45 PM
nice post dude...

currently i am learning about developer experience on azure platform as part of my course.

hope you can help me to share your experience.

Eager to hear from you...

debasis, India
Post A Comment