Microsoft Azure and Graphics Mill

Cloud technologies are becoming more and more popular. Aurigma is working on a new Graphics Mill version set for release later this year and we designed it from the ground up to allow deploying it in Microsoft Azure. Based on customer feedback, we anticipate that this feature is going to be very popular.

Here is a handy guide to the Azure support contained in the new Graphics Mill. Azure has three modes of operation, called execution models (Introducing Windows Azure). Graphics Mill works with specific Azure models in the following manner:

  1. Web Sites. There is easy deployment right from Visual Studio, which is a plus, but unfortunately with limited administrative capabilities. Specifically, Graphics Mill does not allow references to unmanaged binaries unless they are already a part of Azure. Graphics Mill is built on the Microsoft Visual C++ 2010 Redistributable Package, while Azure supports the 2008 version only. Theoretically you can add unmanaged binaries to the bin folder, however when ASP.NET executes the app, it will not use the /bin folder but instead it copies all managed assemblies into its ASP.NET cache without its unmanaged dependencies. This prevents Graphics Mill from running and we don't have a workaround at this time.
  2. Virtual Machines. This works the same way as if you install your web application on a Windows Server. As long as you have the Microsoft Visual C++ 2010 Redistributable Package installed, Graphics Mill works great.
  3. Cloud Services. This is a very capable and flexible execution module when using Graphics Mill. When properly configured, Azure automatically creates virtual machines with all necessary pre-installed software. In particular, you can configure Azure to install the Microsoft Visual C++ 2010 Redistributable Package right before an instance is created. Check this link for some details on how to accomplish this: Best Practices for Running Unmanaged Code in Windows Azure Applications.

To sum up, Graphics Mill interacts with Azure in the following ways:

  1. For Web Site models, there is no real support unless Microsoft adds Visual C++ 2010 by default, which we expect soon but this is not currently supported.
  2. The Virtual Machine model works great, as long as you have the Microsoft Visual C++ 2010 Redistributable Package installed.
  3. Cloud Services are supported as long as they are configured to install Microsoft Visual C++ 2010 Redistributable Package on startup.