IaaS vs. PaaS
Azure is like a PaaS service, while AWS is similar to IaaS. However, don't think they operate as one or the other. They actually behave a little like both! An example: AWS' Elastic Beanstalk deploys an application to AWS easily and quickly with a simple upload. AWS takes care of the rest, in true PaaS fashion. So let's say that the majority of infrastructure for AWS is IaaS, and Azure is mostly PaaS.
Think About The Future
Ok, you've signed on with AWS, and want to switch providers. What about all of the AWS-specific code you've written? When you make that switch, this code will be useless and you'll need to rewrite everything. Don't avoid the AWS code altogether though, since then you aren't taking advantage of what the service has to offer. Basically, think about every bit of code before you type it since you will be the one stuck rewriting the code in the event of a switch.
There is a chance other cloud hosting services will begin the process of adopting a few of AWS' standards. If you take a look at Google's cloud storage page, you'll see that the XML and call are the same as AWS. In fact, Google is working towards implementing AWS' API. Eucalyptus says its API is already compatible with AWS' API. Other companies are also trying to standardize. It doesn't mean you won't be stuck re-coding everything when you switch, but at least you might have more options that allow you to stick with some of the code you already have.
What About Azure?
Sorry, you're just as stuck if you choose Azure. It relies on its own API as well, one that is unique and all its own. So again, choose Azure and stick with it, or spend your days recoding. One plus: Azure's API is simple like AWS'!
So you're either stuck with your provider, or stuck re-coding everything, no matter which you cloud hosting provider you choose. But is one better than the other? If you look in terms of compatibility in the future, AWS is the clear winner.
If you turn to the good old Google search, you'll find a slew of open-source APIs that claim to be compatible across multiple cloud services. The best thing that could happen would be more of these open-source APIs that are functional across multiple cloud platforms!
What about programmability?
Have you switched from either of these services? How much code did you need to rewrite?
to know more, please see: