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?