Cloud is definitely better if you need to scale out, but if you need either raw performance, have requirements for particular hardware (e.g. Backblaze with their custom disk shelves, certain hardware appliances, tape backup requirements), or if you want the cheapest cost per month then a colo may be right for you. Remember it's cheaper because you're paying for the sysadmin time and remote hands, versus Amazon with their people.
You could also do hybrid approach - colo for core infrastructure and cloud to scale out, but that's more difficult to setup.
At a certain scale of colo or with very heavy security requirements you'll find it's cheaper to have your own datacenter.
You could also do hybrid approach - colo for core infrastructure and cloud to scale out, but that's more difficult to setup.
At a certain scale of colo or with very heavy security requirements you'll find it's cheaper to have your own datacenter.