Here are some of the pros and cons of using co-location or on-premises data centers versus the public cloud. In the following I have generally equated co-lo with on-premises data centers, with occasional notes where they differ significantly.
- Co-lo model – you have to buy all the hardware in advance. The lead time from ordering to having functional boxes is typically 3-4 months, so you must be able to predict where your workload will be at least 3-4 months in advance to ensure you have the infrastructure in place to handle it.
- Cloud – you can scale up the infrastructure in a matter of minutes, or at worst a few days (if you need to get approval to spend more money), so if the workload is growing faster than you predicted you can have the infrastructure in place quickly.
- Co-lo – since the infrastructure in a co-lo is fixed, rapid scaling is only possible within the limits of the infrastructure you have in place. This implies you must install sufficient capacity to handle all spikes in workload, even if those spikes only happen occasionally.
- Cloud – with the proper setup, cloud-based applications can scale within seconds of demand, which allows you to address workload spikes. The degree of scaling is limited, but the limits, again with the proper setup, can be orders of magnitude greater than the normal load.
- Co-lo – since you have to buy all the infrastructure in advance, this can have a significant impact on cash flow. If you don’t have sufficient cash available, this model is not possible. However, once you have the infrastructure in place your ongoing month-to-month costs tend to be lower than cloud, possibly much lower.
- Cloud – this is a pay-as-you-go model with no advance costs, so the cash impact is spread over many months, rather than in advance. This reduces the barrier to entry.
- Co-lo – your infrastructure is relatively fixed, so you have to have enough capacity in place to be able to handle spikes in workload. You must provision the infrastructure to handle the worst predicted spikes, even if those are relatively infrequent. If your workload fluctuates unpredictably or over a wide range, your costs may be much higher due to the fact you have to provision for the worst-case scenario.
- Cloud – with a pay-as-you-go model, if you are not able to predict your workload, or if your workload has occasional large spikes, you only pay for the additional capacity as you need it, and thus there is no need to have large amounts of unused capacity. On the other hand, if the workload is heavy but relatively consistent, the cloud will cost more, since you are paying for flexibility you’re not using.
- Co-lo – physical security is handled by the co-lo (for on-premises data centers, you are also responsible for physical security), but Cybersecurity is your responsibility. Since you have physical access to all the infrastructure, however, you have a controllable and well-known environment to secure. There is also the unreliable but rather effective advantage of being relatively anonymous – less visible to attackers.
- Cloud – physical security is handled by the cloud, but Cybersecurity is still your responsibility. Since you have no physical access to the infrastructure, however, you have a less controllable and known environment to secure. Cloud environments are also a “happy hunting ground” for attackers. Anonymity is less effective as a defense.
- Control – with a co-lo facility, you can configure the hardware and software however you want since you own the equipment.
- Reliability – in the cloud you can rely on the vendor to ensure the reliability of the infrastructure, which implies it will be done well, but you could potentially be the victim of a problem not related to your installation. With the co-lo model you have complete control and are relatively isolated, so potentially you can get better reliability, although in practice it’s likely to be worse.
- Vendor lock-in – if you use the proprietary tools and services of a cloud provider you cannot easily move your installation away from that cloud. There are no proprietary tools in the co-lo model, so you have the flexibility to move to another provider.
- Global availability – major cloud providers have data centers around the world, so it’s very easy to achieve a global presence using those data centers. At the same time, if they don’t have a data center in a particular area you cannot go there. Co-lo vendors vary in terms of footprint. Some of them, such as Equinix, have a very wide global presence and you can relatively easily acquire a presence in many countries. Others have a more limited footprint (this is especially true if you are using on-premises data centers) and you may have difficulty achieving a global presence.
In summary, with the public cloud you are paying a premium for flexibility. If you have the option of choosing, then a hybrid model is best, with unpredictable workloads in the cloud and consistent workloads in a co-lo.