How to move win svc to cloud and connect to db on premises


  • Hi All,

    I have a console app that I'm going to convert to a Windows Service. It runs on my VM on premises. It connects to my prod db on premises via linked server, takes that data and manipulates it as required, then dumps it to my db on the cloud (Azure). So far its just using a conn string to connect to Azure. This needs to run every day to get the previous days data.

    I want to move this service to a VM on Azure. I want to use the Preview portal architecture because nobody can tell me what's going to happen to the current silverlight portal that would use Azure Connect. How can I do this? I'm a developer but not a network engineer. Are there any basic tutorials to help me:

    a.) Setup a VNet (do I even need to do this)

    b.) Setup a VM on Azure that I can deploy my app on (not too stressed about this step, I can figure it out)

    c.) Have my service run on the VM in Azure AND connect to my db on premises

    Thank you so much for any assistance and/or direction!

    Tuesday, June 26, 2012 3:46 PM


  • First off, the preview portal is just a management tool, not an architecture. There is no direct correlation between the portal and the various services such as Windows Azure Connect. The preview portal is preview because its not yet feature complete so I would caution anyone from attempting to draw any conclusions about the life expectancy of any existing Windows Azure services/products based on solely on their lack of presence in the preview portal.

    That said, I think you're on the right path. You're going to want to use either Windows Azure connect (for a point to point connection between your hosted service and the on-premises database) or Windows Azure virtual networks (if you have a compatible VPN gateway). Then you can either deploy your existing service as a virtual machine in Windows Azure, or perhaps consider migrating it to a worker role. The later is nice because you won't be responsible for maintaining the guest OS for the virtual machine, Windows Azure cloud services will do this for you.

    Just be careful about the connectivity to your on-premises database. Many organizations refuse to allow in-bound connections on port 1433 (the default SQL port if I'm recalling it correctly). So even if you can establish a trust relationship, you may need to do some additional convincing to get them to allow it given the lack of a 100% trustable, fixed IP address for Windows Azure hosted resources. In this case, you may be stuck hosting an on-premises proxy service for any database interaction or setting up something like a port bridge via the Windows Azure Service Bus.

    • Marked as answer by ssfti Tuesday, June 26, 2012 8:46 PM
    Tuesday, June 26, 2012 8:37 PM