If I had a penny for every .. yes, public clouds are wonderful tools, yes they are very flexible, yes they can get your applications online quickly and scale out resources as you need them.
But, consider this ...
- they are slow, at IOPS in particular
- they are expensive
- their TCO can be a lot higher than traditional alternatives
So why use them?! Well, that's a jolly good question to which I've still not heard a good answer.
I have evaluated (in particular) AWS a number of times with a view to applying it to solutions I have worked on, in each instance when punching the numbers I ended up with a ROFL.
I am seriously impression by companies who manage to justify using public cloud solutions in preference to private cloud or alternatives or indeed virtualisation solutions ... the cost differences can be staggering.
In the background I hear " yes, but resilience! " .. well, you can do Resilience and High Availability yourself, it doesn't "need" a public cloud. Indeed if you do it yourself it is likely to be cheaper, and if you do it right, probably more resilient. Not to mention that public clouds aren't exactly flawless when it comes to availability! Check AWS's latest outage for example ...
Ok, so there is one case; where the CAPEX required to purchase the equipment needed to service peak load is prohibitive, and the proposed service is very peaky .. but I have to think this is an edge case with regards to 'general requirements'.
Whereas the variable cost is a huge bonus in this instance, i.e. you only pay for stuff while you're using it, the flip-side is that you're billed by the second for cpu cycles, IOPS and network packets, which makes otherwise arbitrary operations that might make use of overnight slackness to perform batch processes (for example) very costly.
For some private cloud or virtual machine alternatives there are companies like OVH, DigitalOcean and Tagadab, or if you want to do it all yourself with a private cloud by grabbing some rackspace in a DC, there are solutions like OpenNebula and ProxMox - either way you might be surprised (staggered?) by how much you could save, especially on medium to large projects ...