views:

117

answers:

2

We have a server solution written entirely in unmanaged Visual C++. It contains complicated methods for really heavy data processing.

The whole thing contains millions lines of code, so rewritning it all in some other language is not an option. We could write some extra code or make isolated changes, but rewriting everything is out of the question.

Now we'd like to put it on a cloud. Which platform do we choose - Amazon EC2 or Windows Azure - and why?

+2  A: 

Does it require Administrative rights on the box (e.g. writing to registry, changing box configuration, installing components, etc)? If it does, you can't use Windows Azure today.

If it doesn't require admin privileges then the other things you need to think about are:

  • What is the architecture? How does it interact with the world? Files? databases?
  • What dependencies you have?
  • What is the usage pattern (burst? continuous?)
  • What would be the cost based on usage and the pricing of both offerings?

That would hopefully give you some more datapoints to help you make a decision.

Eugenio Pace
+1  A: 

That depends largely on how you think about costs, future value of the platforms, etc... Azure is still in its very early stages. There are definitely more people using EC2 today. I would recommend computing the costs between the two platforms as a starting point given your estimated usage. Do you want to use features that one platform has over the other? How does your app benchmark between the two platforms? Do you want to take advantage of spot pricing?

In either case I would recommend adding a thin shim layer to abstract you from whichever you choose and enable you to move in the future if you need to.

This is like windows vs. linux....there are no universal right answers, only opinions.

Steve