In a prior post, I created a very long list of factors that companies need to consider when choosing an IaaS (Infrastructure as a Service). Not only is it a long list, there are a lot of infrastructures out there--all of them have different advantages and there are different reasons to use them. The question is how do you choose the infrastructure you want to use for your application stack and business requirements?
Some of these infrastructures are very mature, some of them are not so mature. Some have way more features than others or support things like multi-dependency or bare metal. Some infrastructures have more momentum or very high profile customers using it. And you may need to ask yourself, can you (or do you want to) run it on premise or is it something that needs to be only available in the cloud? And there are reasons for and against doing both of those, privacy reasons or cost reasons.
Given all of these factors, it's important to remember this one thing: Don't tie your applications to infrastructure.
Most infrastructures will probably perform as you need them for most typical use cases. You may want to step away from the infrastructure, and the most natural way to do that is with PaaS (Platform-as-a-Service)--which is an abstraction layer above the IaaS allowing you to deploy your Software-as-a-Service applications. So instead of focusing on the infrastructure, a different approach is choose the right PaaS.
Below is an excerpt of my recent webinar, One PaaS, Many Clouds. I show how you can use Stackato and run it on any infrastructure that you require (AWS, OpenStack via HP Helion Cloud, Microsoft Azure, vSphere, and a laptop).
Now you no longer have to worry about the nitty-gritty details of the infrastructure itself and experience the freedom to deploy your application on any cloud your business demands.