I'm currently operating at a cost of about $25k - $40k per month on AWS. I have about 30TB of data indexed in Elasticsearch, running a 4 node production cluster, and another 4 node staging cluster. Each system in the cluster is an m4.2xlarge, with a 10TB provisioned IOPS SSD. I have constant one off EMR jobs that I need to run, and I also make extensive use of Elasticache.

I currently have a bunch of data in S3 that has not yet been indexed, which is going to take my 30TB of data to well over 150TB, and I'm beginning to become concerned with my operating costs. I've only ever run infrastructure in the cloud, so I'm not very familiar with colocation. However, it looks like, for my use case anyway, the costs with colocation will be much cheaper in the long run than AWS.

As well, I have infrastructure engineers on the team who can handle data center tasks, etc. So, I already am paying for the labor aspect of this. My question: What factors come into consideration with a move like this? What are the pros and cons of each, and does it ever make sense to move from a cloud provider such as AWS to colo?

  • 4
    If your server needs are relatively stable (i.e. you don't need two EC2 instances one day and 500 the next) and you're staffed-up enough to manage the servers, it can make a lot of financial sense. It sounds like it might in your situation.
    – ceejayoz
    Oct 28, 2016 at 14:01

2 Answers 2


This is not a matter of opinion, it's generally a matter of comparing two numbers and seeing which is bigger.

You know what your current bill is with AWS.

You now need to add up the costs of all the equipment you'll need, service contracts for its lifetime (three years, possibly four), the cost of colocation (which you'll know once you know how much equipment you're buying), and the cost of the personnel to install and maintain it. Don't forget SLAs; if they're any good, they'll have a cost, too.

My personal feeling is that anyone spending a quarter of a million dollars a year on AWS should perform this exercise at least once a year. The difficult bit is working out how much equipment you'll need, and we can only give very limited help with that; but once it's done, you'll generally only need to uprate it periodically in accordance with any increase in your business requirements.

A final caveat: if colocation currently seems to you to be "much cheaper", you might be overlooking one or more of the above costs, or underestimating it. I agree that Amazon are out to make a profit from supplying your needs, but they have a lot of economies of scale that may not be accessible to you; I'd be surprised if either figure was very much larger than the other.


At what point do you consider moving from the cloud to co-location?

A very trite answer would be: If you need to ask here then you probably shouldn't. If you can't oversee what you'll need to do yourself to replace Amazon's cloud offerings then we can't really tell you either.

A slightly longer answer would be:
An often heard financial argument for using cloud is that you're trading CAPEX for OPEX. In the cloud you pay for what you need and actually use, rather than making long term investments (that weigh on your balance sheet). In the cloud you also leverage the engineering effort of the cloud providers engineers and you only need to focus on the area's where your company really adds value.

To move away from the cloud you'll need to invest time/money/effort up front to build up your own replacement infrastructure and services before you can migrate away. (You don't necessarily need to invest up front in buying hardware, you can lease that as well.) After your own infrastructure has been build up it needs to be maintained. Include what sizing your infrastructure up will cost and if sizing down would be possible: what might that cost/save.

We can't put euro or dollar amounts on that for you and tell you if that makes financial sense.

Other than financial aspects there can be engineering benefits to moving to your own infrastructure, your engineers can tailor exactly to your needs and business drivers, rather than trying to fit in with the standard services that Amazon makes available. The risk you have is that your engineers aren't better than Amazon's at building and maintaining your complete stack. It is quite different to leverage existing services as building blocks compared to making those from scratch and maintaining them.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .