Porting a Windows EXE to Microsoft Azure

Answered Porting a Windows EXE to Microsoft Azure

  • Tuesday, September 11, 2012 10:18 AM
     
     

    I'd like to port a graphical application, Gliftex, to Windows Azure.

    Basically I imagine that I have to do the interface in a language like C# or JavaScript and call an exe or library with the appropriate parameters to create an image to hand back to the user.

    The GUI of Gliftex is parametric, there is no mouse drawing involved, so I imagine that it is a good candiate for cloud computing.

    But I'm having some trouble finding even basic "EXE to Azure" porting examples or info.

    Where should I be looking? Any examples about this sort of port?

    Am I mad?

All Replies

  • Tuesday, September 11, 2012 10:24 AM
     
     

    Hi,

    I have a demo where I run a couple of DOS applications in Azure by starting a process and passing command line parameters to the applications. (I was using them for image processing.)

    If you can use command line options for Gliftex you could probably use the same technique. I have some code samples in this blog post:

    http://geekswithblogs.net/asmith/archive/2012/06/25/150043.aspx

    Regards,

    Alan


    Free EBook: "Windows Azure Service Bus Developer Guide" http://www.cloudcasts.net/devguide/

  • Tuesday, September 11, 2012 1:31 PM
     
     

    That brings back memories! I used 16 transputers in parallel in Japan to make ray traced animations in the 1980s:

    http://www.ransen.com/ci.htm

    You code looks quite complex to me. I think it assumes I know my way around Azure, and I don't. :(

  • Monday, September 24, 2012 9:23 AM
    Moderator
     
     Answered
    In simple scenarios, you can use Process.Start to start exe processes on Windows Azure. If you want a scalable solution, you can take Alan's approach, which allows you to render a single scene using multiple worker role instances at the same time.
    Please note Windows Azure cloud machines are virtual machines. They don't have graphic cards. So it is needed to use CPU to render everything. A common scenario is to use a cloud service to generate complex images and videos, store them somewhere, and allow clients to download the files later (or view on a web site). The process is usually slow, so a load balanced solution may be needed. If you want the client to see feedback immediately, it is recommended to use a client side application that takes advantage of GPU.
    • Marked As Answer by Owen Ransen Monday, September 24, 2012 10:08 AM
    •  
  • Monday, September 24, 2012 10:08 AM
     
     

    Please note Windows Azure cloud machines are virtual machines. They don't have graphic cards. So it is needed to use CPU to render everything.

    Thanks for the reply and that extra information. Luckily Gliftex does not use any specific GPU functions and in fact creates files (PNG or EPS) before even trying to render them.

    Also I'm not looking to have single files rendered by multiple machines.


    http://www.ransen.com Cad and Graphics software