Choosing Azure or AWS on .NET WCF service deployment [closed] Choosing Azure or AWS on .NET WCF service deployment [closed] azure azure

Choosing Azure or AWS on .NET WCF service deployment [closed]


The headline difference between the two for Windows developers in Microsoft shops:

  • Amazon offer infrastructure as a service, IaaS. You choose the flavour of operating system you want and that's what you get, together with the associated network plumbing, storage services, and what-have-you.
  • Azure is a platform as a service, PaaS. This means that you get pretty much that Amazon offer but Microsoft will also update and maintain the operating system on the servers.

(If you're working with non-Microsoft technology such as Linux MySQL, Oracle or what-have-you then Amazon offer much stronger solutions.)

Both offer very easy access -- you can use Remote Desktop or command-line tools to get to the virtual machines on both systems for maintenance.

Both have easy deployment with integrated tooling for Visual Studio on both systems. Azure probably has the edge here as deployment through the UI here can automatically update services with multiple instances all in one go without downtime to the service. (I believe you can do this with EC2 but it does need a little scripting.)

So for a WCF application really the differences boil down to what you're prepared to pay for:

  • If you are happy maintaining Windows boxes, want to configure firewalls and load balancers by hand and need fine-grained control, but don't want to alter your application from how it runs on regular Windows servers -- then Amazon EC2 may be the best option.

  • If your needs are fairly straightforward and you want someone else to worry about the platform and most of the underlying infrastructure, and don't mind changing your application somewhat to take account of it -- Azure is probably the best choice.

Bear in mind that currently EC2 is somewhat less expensive for most situations than Azure. Here it's hard to give firm guidance as that might not be the case for your application: I suggest you fire up a spreadsheet and put in the numbers.


I just want to add to Jeremy's excellent answer and mention that you can get .Net PaaS on Amazon EC2 with a promising service called AppHarbor.