Migrating this blog to Windows Azure Websites

So I’ve been wanting to use the new Windows Azure portal for a while now and with all the new features currently available one good way to do so was to try creating a website on Windows Azure. Of course the best candidate for this task was moving my blog from my current web host over to the Windows Azure cloud. Below are the steps I had to go through to perform this migration. I have broken them down to the 3 sections below.

1) Creating the website

2) Creating the FTP credentials

3) Migrating/Updating Data

4) Configuring custom DNS

As you can see below, once you log in to the new portal there are many different options. For the purpose of this migration I only needed to use the WEB SITES option. If you want to know how much better the new portal is in comparison to the old one check out my Lap Around the windows azure portal series which covered the old portal in a lot of detail. Also in case you are not aware, you can setup up to 10 websites on Windows Azure for free.

waz1

1) CREATING THE WEBSITE

To get started the first thing that needs to be done is clicking the website option and choose FROM GALLERY as shown below.

waz2

My blog currently uses the BlogEngine.NET blogging engine and one of the things that can be done as you can see in the following screenshot is choosing to setup a website from the gallery, there are many options to choose from and given my blog uses BlogEngine I selected that as shown below.

waz3

After selecting which type of website you wish to setup from the gallery you will be prompted to enter a name for the website which will be hosted under the azurewebsites.net domain name in the format of yoursite.azurewebsites.net. You will also be able to choose a region in which to deploy that website.

waz4

Once these have been setup the portal will show the deployment progress status as shown in the two screenshots below.

waz5

waz6

Once the status of the website shows as running you can browse to the site using the URL chosen. You can also view several statistics about your website such as the ones shown below. How nice does that look!

waz7

2) CREATING THE FTP CREDENTIALS

Now that the basics of the website have all been done, the next step is to actually create the FTP credentials so that we can log on to the site and copy/update data and files …etc. You will see in the screenshot below that the DEPLOYMENT/FTP USER section has no user specified and there does not seem to be an option to create an FTP logon. Turns out that the way to do so is to click on Reset deployment credentialswhich you can see in the screenshot above in the previous section.

waz8

Clicking on Reset deployment credentialswill present the dialog below which you can use to create an FTP logon.

waz9

waz10

Once the logon has been created by following the steps above you can connect to your website using an FTP client by using the FTP HOSTNAME URL and the credentials created. The next step is to upload your data using FTP.

3) MIGRATING/UPDATING DATA

To migrate your blog data for blog engine to the new website I think the best option is to just copy over the App_Data folder to the new location using FTP. You can also export your data using BlogML from the old site and then re-import that in the new destination. However, this will mainly contain blog posts, comments …etc. so other customisations will not come across. I’ve found it easier to just copy the App_Data folder across along with any custom folders I was using to keep data for links on the blog.

Once you’ve done this step then the migration is almost complete and the blog should be fully functional on yoursite.azurewebsites.net.

4) CONFIGURING CUSTOM DNS

Now that everything is up and running you may wish to point a custom domain name to your azure website. Custom domains for Windows azure websites are only available if you use the Shared or Reserved modes. If you want to keep using the Free mode you can only access your website using *yoursite.azurewebsites.net. *However, if you have an MSDN subscription then you may still be able to host on Windows Azure for free depending on the MSDN subscriber benefits you have included.

So to go ahead with creating custom DNS for your website the first thing to do is to switch to Shared mode by going to the SCALE tab and selecting Shared as shown below.

waz11

waz12

Once the change above is confirmed a new option will be enabled at the bottom of the portal, you will see the* MANAGE DOMAINS *option now enabled.

waz13

Clicking the manage domains option will then present the dialog shown below which provides all the details you need to configure your custom DNS entries.

waz14

With the above steps complete my blog has been migrated to www.wissa.net running over Windows Azure in the cloud! The longest processes in this migration were copying the data – you can use FTP Server to server if you want to by the way – and waiting for the DNS updates to propagate, other than that it all seemed fairly straightforward as this post shows.