I've attended the AWS Summit in San Francisco today, and while sitting in one of the sessions I had a small epiphany: Amazon's strategy for AWS is right out of Microsoft's old playbook (what is it about Seattle?).
In essence, they build a vast number of capabilities without any reference to or consideration of other products and services. Anything you need to do, there is an obscure and proprietary way to do it that is easier than doing it yourself. If you're developing on AWS, you are an AWS developer. Now, this strategy worked rather well for Microsoft. And it's one way to live - they take care of your needs one way or another. But don't think that you'll be moving your application back in-house or to another provider any time soon.
Interesting that, at a time when everyone is moving toward device and operating system independence for client systems, some are locking themselves into a particular third party infrastructure. Is it a good idea to design an application architecture in a way that functions on a single-source data center?