This week I attended TechEd Europe in Amsterdam. Accompanying me was Mikael Sand, a BizTalk professional from Sweden. I have met Mikael a couple times before and we always have some good discussions over BizTalk, beer, politics and sports. This time I have asked him some questions for the BizTalk Community Series and here is his story.
Mikael Sand, a 30-something integration architect specializing on the Microsoft stack. He lives just south of Stockholm with his wife Catarina and 4-year old son Gabriel.
Mikael’s expertise is what he would like to call “the flow of the message”. He is constantly thinking in flows and services. Mikael’s primary tool for implementing these flows is of course BizTalk Server and quite often he resorts to using that for all the work he does, so I guess the short answer is Mikael is an architect.
Mikael’s opinion on BizTalk is:
“BizTalk as a product is, what I would like to call “incomplete”. There are still a lot of room for improvement with tooling, tracking for instance. The schema editor has looked the same since the 2004 version.”
“What I like about it is the next to no amount of code you usually need to write. Other integration engines I have seen makes you write code and quite often the same code over and over again. This is for instance the case of Azure Service Bus at the moment. A more “configure driven” approach might be on the way.”
Mikael has recently bought a house that now pretty much consumes his free time. What is left he uses to sing as he is a tenor in a local choir. As for sports Mikael does not really follow any particular sport. However, near his old home town of Gothenburg there is a football team that he likes. The “Angels” or “Blue white” has sparked his interest since he was very young. Yet he also likes American football, which he would like to say is his favorite sport. Mikael watches it whenever he can. From time to time he will try to catch a baseball game as well.
To the readers of this blog Mikael would like to say that they have found a very useful resource in the internet when it comes to BizTalk, the past and the future. To the readers of his blog he would say: “Thank you for visiting I really hope I can help. I get quite a lot of hits but I have no idea what they are reading.”
Mikael thanks for your contributions to the community and your story. It has been great fun hanging out with you during the TechEd in Amsterdam.
Cheers,
- Steef-Jan
Saturday, June 30, 2012
Saturday, June 23, 2012
Visual Studio Service Bus Explorer versus Standalone Service Bus Explorer
In a previous post I explored a new feature of the Windows Azure SDK 1.7. in Visual Studio, the Service Bus Explorer. I demonstrated the capabilities of this feature in Visual Studio, creating new queues, topics, subscriptions and rules. The same capabilities are present in the Service Bus Standalone tool (Windows Forms Application) built by Paolo Salvatori.
INTRODUCTION
The stand alone tool can be download from MSDN Code Gallery. You can then open the compressed file. Subsequently open the solution in Visual Studio 2010 or 2012 RC. Build and run it. To use the tool you need to connect to the Service Bus. In menu bar you select Menu –> Connect. In dialog that pops up you fill in the details.

You click Ok an connection with the Service Bus will be made.

You can now start creating and using queues, topics and subscriptions similar as with explorer in Visual Studio. However, the user experience is different as the Standalone version offers more functions when you right click the queues, topics, and subscriptions.
TESTING QUEUES CAPABILITY
To test one of the capabilities I started with creating a Queue. Select Queues and then right click. Select Create Queue.

Fill in the details (in this case only name) and click Create. As soon as you click Create you see in the Log what happens on Service Bus.

If you look at log closely you see that I made an error the first time calling the Queue MySecond Queue (with space) in the name. All the actions are logged. Next I select my created Queue and right clicked. Select Send Messages. A dialog pops up and I can fill in details, create a custom message, load message, and so.

When I click Start a message will be send.Again you will see this in the log.

When I refresh MySecondQueue I can see the message count is 3, and spot other property values.

If I right click this Queue and select Receive All Messages than all messages from the queue will be received and that is visible in the log.

If you refresh the Queue again you will see that the message count has dropped and some other values have changed too.

CONCLUSION
In my short survey/exploration I can conclude that the standalone Service Bus Explorer offers more capabilities than the one built in Visual Studio. Second the stand alone offers better User Experience in opinion. Last but not least the stand alone brings more flexibility and control. I have not finished yet with my exploration and testing the stand alone version of the Service Bus Explorer. However, I can recommend you using this tool over the built in Visual Studio one. In case you want to control the Service Bus from Visual Studio only than you have to live with limitations it has compared to the Stand alone version. I must say I am impressed and I wondered why I did not look at this tool before.
Cheers,
- Steef-Jan
INTRODUCTION
The stand alone tool can be download from MSDN Code Gallery. You can then open the compressed file. Subsequently open the solution in Visual Studio 2010 or 2012 RC. Build and run it. To use the tool you need to connect to the Service Bus. In menu bar you select Menu –> Connect. In dialog that pops up you fill in the details.
You click Ok an connection with the Service Bus will be made.
You can now start creating and using queues, topics and subscriptions similar as with explorer in Visual Studio. However, the user experience is different as the Standalone version offers more functions when you right click the queues, topics, and subscriptions.
TESTING QUEUES CAPABILITY
To test one of the capabilities I started with creating a Queue. Select Queues and then right click. Select Create Queue.
Fill in the details (in this case only name) and click Create. As soon as you click Create you see in the Log what happens on Service Bus.
If you look at log closely you see that I made an error the first time calling the Queue MySecond Queue (with space) in the name. All the actions are logged. Next I select my created Queue and right clicked. Select Send Messages. A dialog pops up and I can fill in details, create a custom message, load message, and so.
When I click Start a message will be send.Again you will see this in the log.
When I refresh MySecondQueue I can see the message count is 3, and spot other property values.
If I right click this Queue and select Receive All Messages than all messages from the queue will be received and that is visible in the log.
If you refresh the Queue again you will see that the message count has dropped and some other values have changed too.
CONCLUSION
In my short survey/exploration I can conclude that the standalone Service Bus Explorer offers more capabilities than the one built in Visual Studio. Second the stand alone offers better User Experience in opinion. Last but not least the stand alone brings more flexibility and control. I have not finished yet with my exploration and testing the stand alone version of the Service Bus Explorer. However, I can recommend you using this tool over the built in Visual Studio one. In case you want to control the Service Bus from Visual Studio only than you have to live with limitations it has compared to the Stand alone version. I must say I am impressed and I wondered why I did not look at this tool before.
Cheers,
- Steef-Jan
Wednesday, June 20, 2012
BizTalk Community series: Introducing Randy Aldrich Paulo
BizTalk community is very much alive. Around the world sessions are given to the community by BizTalk Server MVP’s and members of the BizTalk community. The BizTalk events site will give you a good overview of events taking place around the globe. Besides the events there is a lot more activity going round in the community. Forums, TechNet Wiki, blogs and the publication of books.
One of the members that is active in the community is Randy. I sent him an email a few weeks ago with a couple of questions and he responded. So here is another story of a BizTalk community member I like to bring to the foreground: Randy Aldrich Paulo.
Randy Aldrich I. Paulo is 28 years old and from the Philippines. Last couple of years he is living in the Netherlands (Leiden) with his wife and two wonderful children ages 3 (son) and 8 (daughter).
Randy currently works as a BizTalk Consultant for a company in Sassenheim and aside from BizTalk development,he also works on ETL solutions using (SSIS) and multi-tiered .NET development (WCF/ASP.Net). His diversified experience and knowledge gives him an edge when it comes to deciding the right combination of technology to solve a specific problem.
Randy is a MCPD (web) and has a MCTS in BizTalk 2006/2010 and WCF 4.0. He maintains a blog, which contains posts focused on the previously mentioned technologies. From time to time he updates them based on his experiences to help developers and server administrators alike.
Randy started his career working as open source Web Developer using PHP and mySql. Later on he made a switch to ASP Classic and COM+. In retrospective:
“I think this is one of the good decision that I have ever taken. And also during that time I was introduced to BizTalk 2000. At first I thought what a horrible application that from time to time I couldn’t explain why it works when it shouldn't work and why it works when it shouldn't, and since I was only allowed to use Microsoft products at that time (volume licensing) that's why I was stuck with it. I still remember building my own AIC and register it as a COM+ and the schemas and maps are just lying somewhere in the network.When Microsoft release BizTalk Server 2004 that's where things get slightly organized and from there onwards I love building integration solutions with it. Most of the time I do BizTalk development & administration and I am aiming to be BizTalk architect in the near future.”
Since Randy has worked with earlier versions of BizTalk he was able to see how BizTalk evolved and matured as a product. He is happy with how the product is now, yet he is partly sad because in the future they're planning to rename the product (BizTalk). Some of the buzz around it worries him.
Randy feels BizTalk is a strong brand and I agree with that. A brand that overtime has gained the trust of many companies and organizations. It is a reliable middleware application server. Randy is hoping that Microsoft would at least retain the BizTalk name.
“It is like a brand that comes to mind whenever you speak of integration in a Microsoft context.”
Rest assure that with the latest developments and announcements during Tech-Ed North America, BizTalk will be amongst us for quite some time.
In his spare time Randy likes to watch movies, TV-series and playing competitive online games like StarCraft II. He also from time to time browses the MSDN forums providing answers if he can (Randy’s MSDN Profile). In the Philippines, as it might sounds weird (since they're not as tall as the Dutch) the number #1 sport is basketball. So when Randy was growing up he became a huge fan of Michael Jordan and played lots of basketball. He also likes watching soccer games especially when the Dutch team is playing.
Last but not least a final quote from Randy:
“Aside from mastering BizTalk, one should've at least a theoretical knowledge of different Microsoft Technologies as there's no one solution for a real complex problems/scenarios. And you can't just use BizTalk for everything.”
I would like to thank Randy for his time and contributions to the community.
One of the members that is active in the community is Randy. I sent him an email a few weeks ago with a couple of questions and he responded. So here is another story of a BizTalk community member I like to bring to the foreground: Randy Aldrich Paulo.
Randy Aldrich I. Paulo is 28 years old and from the Philippines. Last couple of years he is living in the Netherlands (Leiden) with his wife and two wonderful children ages 3 (son) and 8 (daughter).
Randy currently works as a BizTalk Consultant for a company in Sassenheim and aside from BizTalk development,he also works on ETL solutions using (SSIS) and multi-tiered .NET development (WCF/ASP.Net). His diversified experience and knowledge gives him an edge when it comes to deciding the right combination of technology to solve a specific problem.
Randy is a MCPD (web) and has a MCTS in BizTalk 2006/2010 and WCF 4.0. He maintains a blog, which contains posts focused on the previously mentioned technologies. From time to time he updates them based on his experiences to help developers and server administrators alike.
Randy started his career working as open source Web Developer using PHP and mySql. Later on he made a switch to ASP Classic and COM+. In retrospective:
“I think this is one of the good decision that I have ever taken. And also during that time I was introduced to BizTalk 2000. At first I thought what a horrible application that from time to time I couldn’t explain why it works when it shouldn't work and why it works when it shouldn't, and since I was only allowed to use Microsoft products at that time (volume licensing) that's why I was stuck with it. I still remember building my own AIC and register it as a COM+ and the schemas and maps are just lying somewhere in the network.When Microsoft release BizTalk Server 2004 that's where things get slightly organized and from there onwards I love building integration solutions with it. Most of the time I do BizTalk development & administration and I am aiming to be BizTalk architect in the near future.”
Since Randy has worked with earlier versions of BizTalk he was able to see how BizTalk evolved and matured as a product. He is happy with how the product is now, yet he is partly sad because in the future they're planning to rename the product (BizTalk). Some of the buzz around it worries him.
Randy feels BizTalk is a strong brand and I agree with that. A brand that overtime has gained the trust of many companies and organizations. It is a reliable middleware application server. Randy is hoping that Microsoft would at least retain the BizTalk name.
“It is like a brand that comes to mind whenever you speak of integration in a Microsoft context.”
Rest assure that with the latest developments and announcements during Tech-Ed North America, BizTalk will be amongst us for quite some time.
In his spare time Randy likes to watch movies, TV-series and playing competitive online games like StarCraft II. He also from time to time browses the MSDN forums providing answers if he can (Randy’s MSDN Profile). In the Philippines, as it might sounds weird (since they're not as tall as the Dutch) the number #1 sport is basketball. So when Randy was growing up he became a huge fan of Michael Jordan and played lots of basketball. He also likes watching soccer games especially when the Dutch team is playing.
Last but not least a final quote from Randy:
“Aside from mastering BizTalk, one should've at least a theoretical knowledge of different Microsoft Technologies as there's no one solution for a real complex problems/scenarios. And you can't just use BizTalk for everything.”
I would like to thank Randy for his time and contributions to the community.
Sunday, June 17, 2012
Exploring the Service Bus Relay, Queues,Topics and Subscriptions with Visual Studio 2012 RC and Windows Azure SDK 1.7
Introduction
In my post on Future BizTalk Server Release and Microsoft Integration Strategy I discussed the three pronged Microsoft integration strategy:- On-premise BizTalk (a CTP of next version will be released this summer)
- BizTalk IaaS (Infrastructure as a Services), Windows Azure offers services like Virtual Machine and Virtual Network to enable to have your BizTalk infrastructure in the cloud;
- BizTalk PaaS (Platform as a Services) with EDI/EAI integration capabilities using the Service Bus.
- Overview and Roadmap of Windows Azure Service Bus
- Achieving Enterprise Integration Patterns with Windows Azure Service Bus
In picture above you see different solutions, devices that through services bus communicate with Line of Business applications (SAP, Oracle E-Business Suite), SharePoint and many other systems and applications.
The Windows Azure Service Bus offers capabilities that allow you to create solutions in the cloud that are based on message-oriented-middleware technologies including reliable message queuing and durable publish/subscribe messaging. Ergo its is a messaging infrastructure in the cloud. This means that Service Bus can act as a broker for asynchronous messaging (decoupling). Therefor this infrastructure can support publish-subscribe, temporal decoupling, and load balancing scenarios similar to BizTalk Server. Queues, Topics and Subscriptions are services (entities) of the Service Bus that provide durable, asynchronous messaging.
Relay is an entity that allows you to pass-through message (relay) from one system/application to another. Relay service that sits in Service Bus brings the ability to securely expose Windows Communication Foundation (WCF) services (even orchestrations or LoB Services) that reside within your enterprise network to the public cloud, without having to open up a firewall connection or requiring intrusive changes to your enterprise network infrastructure.
Note: Notifications topics and bridges are services (entities) in Service Bus that will be available later and are currently not present.
Get started
To get started I created a new VM with Windows Server 2008 R2 with Visual Studio 2012 RC and Windows Azure SDK 1.7. Now the SDK can also be used with Visual Studio 2010 SP1. You can use either VS2010 or VS2012 with this SDK.
Samples
The sample on the relay is a 101 sample on using the Relay. The other sample is more a walkthrough, using Queues, Topics and Subscriptions in the service bus by using the Service Bus Explorer. There illustrative to show the capabilities of these services if you are not familiar with them. You’ll need either Visual Studio 2010 SP1 or Visual Studio 2012 RC, Windows Azure SDK 1.7 (June 2012) and a namespace in Service Bus. Relay samples in this post and the walkthrough with the Service Bus Explorer is done in Visual Studio 2012 RC.
Create a namespace
To create a service namespace:
- Log on to the Windows Azure Management Portal. If you end up in the new portal then select preview and choose Take me to the previous portal (Managing the Service Bus is still done in the old portal).
- In the lower left navigation pane of the Management Portal, click Service Bus, Access Control & Caching.
- In the upper left pane of the Management Portal, click the Service Bus node, then click the New button.
- In the Create a new Service Namespace dialog box, enter a Namespace, and then to make sure that it is unique, click the Check Availability button.
- After making sure the namespace name is available, choose the country or region in which your namespace should be hosted (make sure you use the same Country/Region in which you are deploying your compute resources), and then click the Create Namespace button.
- The namespace you created will then appear in the Management Portal and takes a moment to activate. Wait until the status is Active before continuing.
Service Bus NuGet Package
The Service Bus NuGet package is the easiest way to get the Service Bus API and to configure your application with all of the Service Bus dependencies. The NuGet Visual Studio extension makes it easy to install and update libraries and tools in Visual Studio and Visual Web Developer. The Service Bus NuGet package is the easiest way to get the Service Bus API and to configure your application with all of the Service Bus dependencies.
To install the NuGet package in your application, do the following:
- In Solution Explorer, right-click References, then click Manage NuGet Packages.
- Search for "WindowsAzure.ServiceBus" and select the Windows Azure Service Bus item. Click Install to complete the installation, then close this dialog.
Building a SIMPLE Relay Sample
To build a sample that will make use of relay service you need to create a WCF-service. The following steps show how to build a very basic service that can be exposed in the Service Bus.
- Within Visual Studio, create a console application
- Add the Windows Azure Service Bus NuGet package to the projects. This adds all of the necessary assembly references to your projects.
- Add a class to project and give it a descriptive name.
- Rename the class to HelloRelayContract and then implement code like below:
- Add a new class to the project and rename it HelloRelay and then implement code like below:
- In program.cs implement the following code:
- In order to perform management operations, such as creating a relay connection, on the new namespace, you need to obtain the management credentials for the namespace.
- Select the namespace you just created from the list show below:
- The Properties pane on the right side will list the properties for the new namespace:
- The Default Key is hidden. Click the View button to display the security credentials:
- Open app.config and make the appropriate adjustments like below:
- You can past the default key in the issuerSecret attribute.
- Now that you have build and configured the service you can run the console application that will act as host for the service.
- Copy the address in your browser and you will get result like below:
Service Bus Explorer
One of new tools available through the SDK is the Service Bus Explorer. With the SDK installed you have access to several Azure features from Server Explorer.
To access the service bus through the Server Explorer:
- Right click the Windows Azure Service Bus.
- Select add new connection.
- Fill in the namespace, Issuer Name and Issuer Key.
- Click Ok
- You now have access to Service Bus
QUEUES, TOPICS AND SUBSCRIPTIONS USING THE SERVICE BUS EXPLORER
To build a sample that will make use of queues, topics and subscriptions. These services support brokered messages. With the service explorer I can manage the service bus without using the portal (see previous paragraph). You can create queues through code or through using the explorer. Using the explorer you can right click Queues and add a new Queue.
Fill in a name, change some the values if necessary, click options and click Ok. You will then see your queue in Service Explorer.
You can right click the created queue and select Send Test a Message. You will then see dialog pop up with the message.
You will notice in the properties of the queue that the message count is 1.
With topics you can do the same. Right click topics and select Create New Topic….
Fill in a name, change some the values if necessary, click options and click Ok. You will then see your topic in Service Explorer.
Before you can send a message to the topic you need to create a subscription. Select subscriptions and right click. Select Create New Subscription ….
Fill in a name, change some the values if necessary, click options and click Ok. You will then see your topic in Service Explorer.
Like queues you can send a test message through the topic.You can right click the created topic and select Send Test a Message. You will then see dialog pop up with the message. In subscription properties you will see message count is 1.
On the subscription you can right click and select Receive Message. A dialog will pop up with the message.
Now you can create more subscriptions in the topic and then sent a test message. You will then see that both subscriptions in the topic will have that message. Now you can use rules to determine, which subscription will get which message. This is new functionality with topics and subscriptions. You can within a subscription add a rule. Open the desired subscription and right click rules. Select Create New Rule…. A dialog will appear.
Give it a name and add a Sql Filter Expression. Click Ok. You now have created a rule on the subscription.
Note: The Overview and Roadmap of Windows Azure Service Bus session of Teched NA will provide more context on Service Bus explorer. It will also demo using queues and topics with new Worker Role with Service Bus template.
Call to action
To learn more besides the two sessions from TechEd I suggest to look at Developing Applications that Use the Service Bus on MSDN, Alan Smith’s Developers Guide to AppFabric and resources listed below:
- Windows Azure Code Samples, Toolkits, and Accelerators
- Windows Azure Training Kit
- White Papers on Windows Azure
- Service Bus Explorer (Windows Azure Sample)
- How to integrate a BizTalk Server application with Service Bus Queues and Topics
- How to integrate a WCF Workflow Service with Service Bus Queues and Topics
Cheers,
- Steef-Jan
Friday, June 15, 2012
Will BizTalk Server be first class citizen? Yes, Microsoft will strongly invest in BizTalk Server now and in the future!
Almost two years ago I posted a story on the BizTalk roadmap and made a statement that it here to stay. I ended the post with:
“My thinking with current evolution of BizTalk is that it will become a first class citizen with Microsoft offerings.”
I am not Nostradamus or a fortuneteller yet my feeling back then told that BizTalk is not dead yet. With such a strong and vibrant community and over 10.000 customers I could not imaging that Microsoft would stop investing in it. Another story that confirmed my thinking and of many others I think was the well known and written post “Is BizTalk Server Going Away At Some Point? Yes. Dead? Nope.” by Richard Seroter July last year.
Year 2012 Microsoft is still investing in BizTalk and bringing out the next version beginning of 2013. A lot of features/enhancements are revealed during TechEd North America. Kent Weare, BizTalk MVP from Canada has been cranking out some excellent posts on what Microsoft will be bringing out in the near future or what has been released now. His focus during the TechEd has been mainly been on integration and he elaborates a lot on Microsoft strategy (see also my post on Future BizTalk Server Release and Microsoft Integration Strategy). Here is list of blog post (reports) Kent wrote while attending the TechEd NA:
Cheers,
- Steef-Jan
“My thinking with current evolution of BizTalk is that it will become a first class citizen with Microsoft offerings.”
I am not Nostradamus or a fortuneteller yet my feeling back then told that BizTalk is not dead yet. With such a strong and vibrant community and over 10.000 customers I could not imaging that Microsoft would stop investing in it. Another story that confirmed my thinking and of many others I think was the well known and written post “Is BizTalk Server Going Away At Some Point? Yes. Dead? Nope.” by Richard Seroter July last year.
Year 2012 Microsoft is still investing in BizTalk and bringing out the next version beginning of 2013. A lot of features/enhancements are revealed during TechEd North America. Kent Weare, BizTalk MVP from Canada has been cranking out some excellent posts on what Microsoft will be bringing out in the near future or what has been released now. His focus during the TechEd has been mainly been on integration and he elaborates a lot on Microsoft strategy (see also my post on Future BizTalk Server Release and Microsoft Integration Strategy). Here is list of blog post (reports) Kent wrote while attending the TechEd NA:
- Microsoft TechEd North America 2012-Day 1
- Microsoft TechEd North America 2012-Day 2
- Microsoft TechEd North America 2012-Day 3
- Application Integration Futures – The Road Map and what's next on Windows Azure
- Building Integration Solutions Using Microsoft BizTalk On-Premises and on Windows Azure - Javed Sikander and Rajesh Ramamirtham
- Microsoft TechEd North America 2012-Day 4
- Application Integration Futures: The Road Map and What's Next on Windows Azure
- Building Integration Solutions Using Microsoft BizTalk On-Premises and on Windows Azure
- Overview and Roadmap of Windows Azure Service Bus
- Achieving Enterprise Integration Patterns with Windows Azure Service Bus
- Windows Azure Virtual Machines and Virtual Networks
- Windows Azure Today and Tomorrow
Cheers,
- Steef-Jan
Tuesday, June 12, 2012
Capturing Image of Windows Azure Virtual Machine and creating an new Virtual Machine with the Image
In my previous post I showed how to provision a Virtual Machine in Windows Azure. The Virtual Machine was used to create a BizTalk 2010 Development environment. Now in this post I would like to go into creating an image of this Virtual Machine and then use it to create a new Virtual Machine.
An image is a virtual hard disk (VHD) file that is used as a template for creating a virtual machine. This can be useful when you want to create multiple virtual machines that are set up the same way. Another reason can be to capture the image as you do not want to use it for a while and prevent incurring costs.
To capture a Virtual Machine you need to perform a few steps. One is to sysprep the virtual machine. For Window Server 2008 R2, like my BizTalk Development environment, I followed instructions from article "How to Capture an Image of a Virtual Machine Running Windows Server 2008 R2". After sysprepping your machine you need to capture it. Sysprepping the machine according to the article will shutdown the virtual machine and changes the status of the machine in the Management Portal to Stopped. Capturing the VM means selecting it. You will then fill some details in dialog box.

Now notice the name I gave to the image. This name was deemed invalid after I clicked check mark. The error was:
Failed to capture image BizTalk_Development of virtual machine BTS2010.
The image name is invalid.
I renamed it to BizTalkDev. It went trough and took a while before image was captured.

That is basically it. Image is created and Virtual Machine is deleted and you’ll not be billed.
If you want to create a new virtual machine you can select your image from the Gallery. Steps below a similar if you create a Windows 2008 R2 machine from scratch. From My Images you will see images you have created. In my case only BizTalkDev is available.

Next step (2) is filling in details for the VM Configuration.

Following step (3) is filling in details for VM mode.

Last step (4) is selecting the availability set in case you require a group a virtual machine in case of outages (i.e. higher availability).

Click the check mark and Virtual Machine is being provisioned. This may take a while before it is up and running. When it is up and running I can connect to machine again through remote desktop. You will then run into some issues with access to SQL Server database.
Update 24-06-2012:
Post from Johan Hedberg (Fellow BizTalk MVP): "Creating a new BizTalk machine from a sysprep image in Windows Azure Virtual Machines, and making it work":
The problem when logging on to SQL Server after the name change is that you no longer have access with the administrative account, Administrator, since this is really oldmachine\administrator. So you need another administrative account, ie SYSTEM to fix your login for you.
The post will explains how to fix the problem. I myself first thought I made an error somehow. Since I installed SQL Server in mixed mode I could log into SQL Server using the sa account. I removed administator account and then added it again with sysadmin role. I could thenm fire up BizTalk administration, SQL Server and Visual Studio without a problem.

This way I can spin up a Virtual Machine with BizTalk when I want it and remove it when I done. I can use it to spin up a few machines in case I want to work with a team or for training purposes at a client. There can be many more useful scenario’s than the ones I mention here.
If you are experiencing problems with Virtual Machines you can ask questions in the Windows Azure Virtual Machines for Windows forum or study the online documentation.
My experience so far with Virtual Machines and the Windows Azure Portal are positive. However, there is a glitch as you can read. Virtual Macines have potential, yet there is still work to do. The User Experience (UX) with Portal is very satisfactory to me. I must say Microsoft Windows Azure team have done a good job.
Finally I also like to thank Thiago Almeida (Microsoft New Zealand) for giving me some tips that lead to this post.
Cheers,
- Steef-Jan
An image is a virtual hard disk (VHD) file that is used as a template for creating a virtual machine. This can be useful when you want to create multiple virtual machines that are set up the same way. Another reason can be to capture the image as you do not want to use it for a while and prevent incurring costs.
Capturing a Virtual Machine
To capture a Virtual Machine you need to perform a few steps. One is to sysprep the virtual machine. For Window Server 2008 R2, like my BizTalk Development environment, I followed instructions from article "How to Capture an Image of a Virtual Machine Running Windows Server 2008 R2". After sysprepping your machine you need to capture it. Sysprepping the machine according to the article will shutdown the virtual machine and changes the status of the machine in the Management Portal to Stopped. Capturing the VM means selecting it. You will then fill some details in dialog box.
Now notice the name I gave to the image. This name was deemed invalid after I clicked check mark. The error was:
Failed to capture image BizTalk_Development of virtual machine BTS2010.
The image name is invalid.
I renamed it to BizTalkDev. It went trough and took a while before image was captured.
That is basically it. Image is created and Virtual Machine is deleted and you’ll not be billed.
Creating a virtual machine from the Image
If you want to create a new virtual machine you can select your image from the Gallery. Steps below a similar if you create a Windows 2008 R2 machine from scratch. From My Images you will see images you have created. In my case only BizTalkDev is available.
Next step (2) is filling in details for the VM Configuration.
Following step (3) is filling in details for VM mode.
Last step (4) is selecting the availability set in case you require a group a virtual machine in case of outages (i.e. higher availability).
Click the check mark and Virtual Machine is being provisioned. This may take a while before it is up and running. When it is up and running I can connect to machine again through remote desktop. You will then run into some issues with access to SQL Server database.
Update 24-06-2012:
Post from Johan Hedberg (Fellow BizTalk MVP): "Creating a new BizTalk machine from a sysprep image in Windows Azure Virtual Machines, and making it work":
The problem when logging on to SQL Server after the name change is that you no longer have access with the administrative account, Administrator, since this is really oldmachine\administrator. So you need another administrative account, ie SYSTEM to fix your login for you.
The post will explains how to fix the problem. I myself first thought I made an error somehow. Since I installed SQL Server in mixed mode I could log into SQL Server using the sa account. I removed administator account and then added it again with sysadmin role. I could thenm fire up BizTalk administration, SQL Server and Visual Studio without a problem.
This way I can spin up a Virtual Machine with BizTalk when I want it and remove it when I done. I can use it to spin up a few machines in case I want to work with a team or for training purposes at a client. There can be many more useful scenario’s than the ones I mention here.
If you are experiencing problems with Virtual Machines you can ask questions in the Windows Azure Virtual Machines for Windows forum or study the online documentation.
My experience so far with Virtual Machines and the Windows Azure Portal are positive. However, there is a glitch as you can read. Virtual Macines have potential, yet there is still work to do. The User Experience (UX) with Portal is very satisfactory to me. I must say Microsoft Windows Azure team have done a good job.
Finally I also like to thank Thiago Almeida (Microsoft New Zealand) for giving me some tips that lead to this post.
Cheers,
- Steef-Jan
Monday, June 11, 2012
BizTalk IaaS solution: Provisioning Developer Environment
One of the new Windows Azure services is Virtual Machines (see announcements). Virtual Machines in Window Azure support the ability to deploy and run durable VMs in the cloud. You can easily create these VMs using a new Image Gallery built-into the new Windows Azure Portal, or alternatively upload and run your own custom-built VHD images.

As you see from the screenshot above there are compatible operating systems and images available in the online gallery;
* Log into Windows Azure Management Portal (you need an account with Windows Azure, for instance you can start with a trail)
* Choose new Virtual Machine

* Fill in the details

* Click Create Virtual Machine

* Now the VM is being provisioned.This may take a few minutes.


* Connect to VM using Remote Desktop. It may take a few minutes before you can remotely connect with your VM.
* You have to wait until Status is Running. Status is going from stopped to starting, to running (provisioning) to Running.
* You can now connect to machine through Remote Desktop

* I had to run some update (windows update)
* Logged of as small instance is not enough resources for installing BizTalk I switch to Medium.

* I then save configuration and waited until provisioning was done
* Now it is time to install Visual Studio, SQL Server and BizTalk Server 2010
* After some time you will see resource utilization in the portal

1. Select an Image

2. Fill in details

3. Choose VM Mode, DNS Name, Region and Subscription you have

4. Choose whether or not you need a Availability set

5. Now VM is being provisioned.

Installation of SQL Server, Visual Studio and BizTalk took a few hours. Now I have my BizTalk development environment running up in the cloud. Now this will cost me for a month (pay as you go) according to calculator around 130 dollars.

My rationale is and I may be little of is that I have one medium VM, 100 Gb of storage and some bandwidth. According to question mark of the Virtual machine:

It may be possible I just have to pay the 115 dollar for VM only (best to study the pricing, billing and metrics section on the portal). You get billed by the pay as you go model. Now if you stop the machine you still get billed!

The billing stops if you delete the Virtual Machine!

As you can see setting up a VM looks pretty easy, though there are some considerations:

The same experience I have is shared by fellow MVP Saravana (see his post BizTalk 2010 Environment in Windows Azure Virtual Machine (IaaS)). Having VM’s in the Windows Azure offer new possibilities if it is around hosting your virtual machines. It shows Microsoft’s investment and movement towards IaaS offering like competitors Amazon.
Cheers,
- Steef-Jan
Virtual Machines
Virtual Machines give you application mobility, allowing you to move your virtual hard disks (VHDs) back and forth between on-premises and the cloud. You can migrate existing workloads such as Microsoft SQL Server or BizTalk Server to the cloud, or bring your own customized Windows Server or Linux images, or select from a gallery.As you see from the screenshot above there are compatible operating systems and images available in the online gallery;
- Windows Server
- Windows Server 2008 R2 SP 1 May 2012
- Windows Server 2008 R2 with SQL Server 2012 Evaluation
- Windows Server 2012 RC
- Linux:
- OpenSUSE 12.1
- CentOS 6.2
- Ubuntu 12.04
- SUSE Linux Enterprise Server 11 SP2
- Custom images
Creating a Virtual Machine in Windows Azure
Steps I performed to create a VM are as follows:* Log into Windows Azure Management Portal (you need an account with Windows Azure, for instance you can start with a trail)
* Choose new Virtual Machine
* Fill in the details
* Click Create Virtual Machine
* Now the VM is being provisioned.This may take a few minutes.
* Connect to VM using Remote Desktop. It may take a few minutes before you can remotely connect with your VM.
* You have to wait until Status is Running. Status is going from stopped to starting, to running (provisioning) to Running.
* You can now connect to machine through Remote Desktop
* I had to run some update (windows update)
* Logged of as small instance is not enough resources for installing BizTalk I switch to Medium.
* I then save configuration and waited until provisioning was done
* Now it is time to install Visual Studio, SQL Server and BizTalk Server 2010
* After some time you will see resource utilization in the portal
Create a VM through Image Gallery
It is also possible to create a VM through using the Image Gallery:1. Select an Image
2. Fill in details
3. Choose VM Mode, DNS Name, Region and Subscription you have
4. Choose whether or not you need a Availability set
5. Now VM is being provisioned.
Installation of SQL Server, Visual Studio and BizTalk took a few hours. Now I have my BizTalk development environment running up in the cloud. Now this will cost me for a month (pay as you go) according to calculator around 130 dollars.
My rationale is and I may be little of is that I have one medium VM, 100 Gb of storage and some bandwidth. According to question mark of the Virtual machine:
It may be possible I just have to pay the 115 dollar for VM only (best to study the pricing, billing and metrics section on the portal). You get billed by the pay as you go model. Now if you stop the machine you still get billed!
The billing stops if you delete the Virtual Machine!
As you can see setting up a VM looks pretty easy, though there are some considerations:
- Setting the environment using iso’s/media from local disk takes time, and I think it is better to create an image (VHD) locally and then upload that one;
- Uploading your installation media to disk on VM may take some time too, depending on the latency. Another option is to download the media from MSDN subscription or through Volume License subscription (latency is low, pretty amazing download speed);
- You need at least a medium VM to have some performance for you BizTalk development, so there are some costs involved. Now 115 US is the introduction price (preview), when it becomes general available the prices will go up a bit;
- Having your VM’s in the cloud for BizTalk development you’ll still may need access local systems, which you like to integrate with. Now these systems may not be accessible from your cloud VM. Yet you can resolve this by Windows Azure Virtual Network. This enables you to provision and manage virtual private networks (VPNs) in Windows Azure as well as securely link these with on-premises IT infrastructure (on-premise systems);
- If for some reason you do not have internet access then your environment is not accessible;
- Finally you will have to decide if having a BizTalk development environment in Windows Azure is fit-for-purpose (depending on your organizations IT strategy/policy).
BizTalk Server running in the VM on Windows Azure
Last bit is of course running BizTalk Server itself. Installation of all components for development environment went smoothly and exact the same as setting it up locally. BizTalk operates the same as having it running in VM locally on your laptop.The same experience I have is shared by fellow MVP Saravana (see his post BizTalk 2010 Environment in Windows Azure Virtual Machine (IaaS)). Having VM’s in the Windows Azure offer new possibilities if it is around hosting your virtual machines. It shows Microsoft’s investment and movement towards IaaS offering like competitors Amazon.
Cheers,
- Steef-Jan
Subscribe to:
Posts (Atom)