Last week Microsoft announced set of capabilities in Windows Azure 2.0. You can watch the video here at http://meetwindowsazure.com
One of the key capabilities that was delivered was the ability to create and run persisted Virtual machine in Windows Azure as “Infrastructure as Service (Iaas)” initiate. Every cloud vendor now clearly understand the customer migration story to the cloud. The ultimate goal is to have PaaS, platform as a service, where customer don’t need to worry about the underlying infrastructure. They don’t need to worry about things like dynamic scaling, backups, load balancing etc. Customer just deploy their application in the cloud and take advantage of the elastic scale. The current Azure web role is a classic example, you build the website and deploy it into Windows Azure and you can spin more web roles if your site goes viral.
There are lot of speculation around cloud and not all the customers are ready to make the switch. The customer migration story will look as shown below from on-premise to PaaS. Hence cloud vendors like Microsoft are providing an intermediate offering called “Infrastructure as Service”.
The concept is very simple and existed in on premise world for a very long time, it’s virtualization. Customers either provision a brand new virtual machines in the Azure cloud or they bring their existing virtual machines (VHD files) to the cloud and boot it up. To make things more attractive there are supporting services like Virtual Network, which allows customers to create their own private network in Windows Azure and join it with their existing on premise network.
How can we take advantage of IaaS for BizTalk?
The focus for BizTalk 2010 R2 is mainly around increasing the offering around Hybrid solutions “Ready for cloud”. There will be more connectivity options to cloud solutions like Service Bus Relay, Queues, Topics etc and the whole lot of EAI capabilities which will fall under platform as service (PaaS) offering.
You don’t need to wait till BizTalk 2010 R2 is released, customers can take advantage of the Iaas Azure offering today to enhance their productivity. There are some common use cases for using Azure IaaS for BizTalk. Here are the top two
- Provisioning development environments, and
- Provisioning functional QA environments
BizTalk server is a complex product and it requires considerable amount of time to setup even a basic developer machine. There are various dependencies like SQL server, Visual Studio, Office, BizTalk server etc. Companies normally go through a length procurement/approval process to provision BizTalk environments.
In the remaining of the article we will take a look at how easy it is to setup a development/QA BizTalk 2010 environment in the Windows Azure cloud, for your day to day work
To setup a BizTalk 2010 / SQL 2008 R2 Development (or QA) environment in a Windows 2008 R2 server running in Windows Azure. Typically a developer machine will be a single box installation, where you install and configure all the components in a single server.
Step by Step process
Let’s first list out the set of steps we are going to perform:
- Provision a Windows Server 2008 R2 Virtual Machine
- Download and Install the required components
- RDP into the server and start using it.
Provision a Windows Server 2008 R2 Virtual Machine
Log in to the azure management portal via the link http://manage.windowsazure.com and on the LHS click “Virtual Machine”. In the bottom pane click the “+ NEW” link and then select “Virtual machine” again, the screen will look as displayed here:
Enter a friendly name for the DNS name, example: “AZBIZTAL001”. Make sure you select the image “Windows Server 2008 R2” from the drop down box, since we are going to install BizTalk 2010 which is only supported in Windows Server 2008 R2 (not on 2012 RC). Enter your password in the two text boxes “New Password” and “Confirm Password”. Leave rest of the stuff default and click on “Create Virtual Machine”.
You will see various status on the screen for next few minutes, approximately after 15 minutes your brand new Windows Server 2008 R2 machine will be ready for you.
RDP into the server
Once the server is provisioned, you will see the following panel at the bottom of the screen. Just click on the “Connect” link.
A RDP file will get download, click the button “Open” to open it, which will pop the security warning. We will ignore it for time being and simply click the “Connect” button. A log screen will be displayed as shown below, enter the password you specified on the previous step while provisioning the VM.
Certificate warning will pop up, ignore it for now and click OK, you’ll be logged into the machine.
Download SQL/BizTalk installers from MSDN
Once you logged into the virtual machine, then there is absolutely nothing different in installing and configuring your BizTalk server. It’s pretty much like accessing one of the machines in your local environment or spinning your local VM. You got complete administration rights on the server and you are allowed to install whatever you want.
You download the following components from MSDN (from the virtual machine itself)
- SQL Server 2008 R2
- BizTalk Server 2010
The connection seems to be pretty good, at the download speed of nearly 6MB/second, SQL server 4GB ISO file downloaded in about less than 10 mins, and BizTalk 2010 500MB zip file in couple of minutes.
You will need an ISO extractor to mount the SQL server ISO file, I downloaded and installed the PowerISO which I been using for few years now. After installation of PowerISO you need to restart the machine. Once restarted, mount the SQL ISO file and install SQL Server 2008 R2 normally.
After SQL installation is complete, install
BizTalk 2010, like how you’ll do it normally, and then run the configuration wizard to configure it (I created a local service account before running the configuration)
Finally your BizTalk environment is up and running in the Windows Azure, and I even created a simple messaging only application and confirmed everything is working.
Here is my BizTalk administration console
How will the future look like
In this article we provisioned our BizTalk 2010 test environment from scratch. The only time we reduced is picking up the Windows Server 2008 image. Because there were no pre-provisioned images for BizTalk server at this time.
In the future things will improve, there will be pre-provisioned ready to use images available for BizTalk (along with all the pre-requisites) and you should be ready to go in 10-15 minutes.
There are also options to keep your own images in the gallery (MY IMAGES) and create new VM’s based on that, which we will see in future articles.
Mind the Cost
You need to be aware of the cost of running your VM in Windows azure. Check the pricing for Azure Virtual machines here. The following table summarizes the cost of running your Virtual machines in Windows Azure.
For this demonstration we used a Small compute instance and we are on Preview stage. Hence our pricing will be $0.08/hour or roughly $60/month.
Important: You’ll continue to incur the cost of compute hours even if you shut down the virtual machine. As soon as you click on the shut down link on the bottom pane, the portal clearly shows the below warning message: Quite neat.
The only way you can avoid being billed is by shut down and delete the Virtual machine. There are options to do a sysprep on the server, capture the image on BLOB storage and later remount/restart the virtual machine. We will explore that option in the future article.
You also need to take care of licensing implications, there are new rules to follow as described here License Mobility through SA and Windows Azure There is no mention of BizTalk at the moment in the licensing page, but I believe things will improve with BizTalk 2010 R2.