3 ms·
So, as someone that works for an enterprise that uses AWS... if we went colocation, how would we replicate: SQS/SNS, DynamoDB, ECS (EC2 and Fargate), Lambda, K
by saberience 6y ago
So, as someone that works for an enterprise that uses AWS... if we went colocation, how would we replicate:
SQS/SNS, DynamoDB, ECS (EC2 and Fargate), Lambda, Kinesis, ECR, ALB, Aurora, S3, Glacier, EMR, EKS, multiple AZs, multiple regions, etc?
For us to get the same functionality as all of these services in colocated data centers would be an INSANE amount of work, we'd have to hire so many IT/hardware specialists for the networking, let alone hiring data storage tech specialists for stuff like Spark/Hadoop.
Looking only at costs for instances is only 10% of the story here.
- nucleardog 6y agoYeah, at least for us the value of AWS is not in "is it cheaper to run a boring old server here". It's in "how easily can we script and template all of our services and associated resources". It's in "when we need a highly durable and available queue, how much work/infra do we need". When you factor all that stuff in, no way it comes out cheaper to self host here. Just the couple full time employees we need to setup and maintain all the ancillary stuff would cost us more than our AWS bill.
- Daishiman 6y agoFor real. I think people don't understand that the software that cloud providers bring us just a _tremendous_ force multiplier. How many different vendors and licensing schemes would do you need to bring to your own data center to get an equivalent amount of functionality going? (I ask rhetorically; this is the equivalent of a few FTEs at the least).
- pwinnski 6y ago100% agreed. Every one of those AWS services can be reproduced in a colo, but it takes time and effort to set up a queueing solution which just exists already in AWS. It takes time and effort to set up notifications for storage and database events which are easy-as-anything in AWS. Even without getting into multiple availability zones, things like SQS/SNS, Dynamo, S3, and Lamda combine to make things very easy on day one with AWS. Could it be cheaper? Well, yeah, I'm sure. And if all you're doing is running EC2 instances, go somewhere else. But also, maybe look into some of the other stuff AWS provides!
- mark242 6y agoSomeone who is doing a cost comparison of running Wordpress and forums has absolutely no idea about any of those mentioned services and the power they bring. SQS is just such an amazing tool in a developer's toolkit that is one of those transformational pieces to how you write software. Combine that with Lambda to consume messages, S3 as your object storage, and Dynamo as your state management, and you unlock the capability of a single engineer to write applications that would have taken teams and teams of people only a few years ago. Again, does this mean anything to the Wordpress crowd? Probably not. But the ability to bring a new project to market quickly and grow that project is no longer bottlenecked by how fast you can get on your phone to your colo provider on Saturday night.
- ChymeraXYZ 6y agoI agree with the statement, but one thing to note is that if you were building for colocation you would probably build the whole thing in a different way. Not suggesting that it would be trivial or anything, but you probably would not replicate the mentioned services, more likely you would use other/different types of software packages (for example rabbitMQ for queues). It may not be the exact replica but it covers the use cases needed in your application (now no longer designed with "infinitely" scalable cloud). While one of the benefits of things like AWS and GCP is the availability of all kinds of services, but at the same time we are to some extent loosing control. I have personally had several cases where I was thinking "This thing would be so useful" but AWS/GCP/Pick your cloud did not have it and it would have been a hassle to jam that one piece of supporting software together with the core services, so it never got taken into use.
- Slartie 6y agoIf you hadn't tethered your software to proprietary AWS services in the first place, you wouldn't have the problem to "replicate" all of that on your own infrastructure. You would simply "have" that stuff - or better said: you'd have the parts that you actually need (having a giant grab bag of ready-to-use cloud services at your disposal tends to entice developers to use them, regardless of actual need, especially in "enterprisey" environments where just another service doesn't really ring a bell with anyone, corporate pays for everything anyway and every developer is constantly engaged in putting more tech buzz words on their CVs). Queueing and messaging systems, databases, key-value stores, backup solutions etc. have all been invented pre-AWS, and there are battle-tested solutions for all of that out there, actively being used by companies which did not choose to depend on AWS.
- closeparen 6y agoMy company has all of these things on-prem, but with teams of at minimum 5 FTEs backing each one. That's the point here: a small shop cannot necessarily afford to fill an oncall roster with Kafka experts or Postgres experts or whatever else is needed.
- bastawhiz 6y agoI run a business on AWS. I have a few terabytes of data on S3. It costs like $30/mo. I have about a half terabyte of data in RDS. That's about $40/mo, plus a couple thousand a year for the RIs. I run the company myself. I run SES for less than a dollar a month to handle all my transactional emails. If I move this out of AWS, I need that data replicated for redundancy. I need some meaty servers set up, and I need to maintain the boxes that run the storage and database software. I need to build out the observability software that I get for almost free with Cloudwatch. My database instances need to failover appropriately, which doesn't happen automatically. I need to monitor disk usage and add capacity as the databases grow. I need to set up and manage whatever firewall setup I otherwise get for free with VPCs and security groups. Managing my own email infrastructure is almost laughable. Spending more than about two and a half minutes on it each month outweighs the benefit of just running it on AWS. My time isn't free. I either need to hire someone to build this, I need to learn it and apply it correctly, or find some magic docker stuff that does it for me. Where is the cost savings of moving out of the cloud for me? If I'm spending all of my time in a SSH session installing kernel updates or diagnosing why my storage cluster is misbehaving, when am I supposed to actually build my product?