Live data from Hacker News

A million-dollar engineering problem

segment.com

191–200 of 265 posts

Re: A million-dollar engineering problem

#191

A friend of mine was annoyed that a small service he liked was shutting down. He contacted the developer who said that they were shutting it down because the server costs were higher than the money they were making. They were spending 5k a month on AWS crap and claimed it was impossible to get any lower. He helped them consolidate everything onto a single rented dedicated server costing 400 a month. Now the service i…

> At this point simply not using AWS is a competitive advantage. Respectfully, I'm going to disagree. I consult full time on AWS cost optimization / reduction / understanding. If you blindly run things on AWS without an understanding of the costing model, that'll work for a time. As you scale, you start to realize "oh my god it runs on money." There are myriad ways around that, but a blanket "never use AWS" isn't goi…

> I consult full time on AWS cost optimization / reduction / understanding.

Curious, have you ever consulted a client not to use AWS? As in "your cost optimization is going to be not using AWS and using $x instead"?

Re: A million-dollar engineering problem

#192
post #86

Earlier quoted context omitted.

"With Amazon you have so many options when it comes to storage, compute power, load balancing..." It used to be different, but today their most important offerings have open source equivalents. They are essentially off the shelf, because for your own projects there is no need to care about abuse or noisy neighbors. Most importantly, though, it's going to be cheaper and you still will be able to use cloud where it shi…

> It used to be different, but today their most important offerings have open source equivalents. Seriously? What about S3, RDS, VPC, IAM? The engineering $$$ (in time) to set up and maintain open source equivalents of these would not be cheap.

AWS isnt cheap either

Re: A million-dollar engineering problem

#193

A friend of mine was annoyed that a small service he liked was shutting down. He contacted the developer who said that they were shutting it down because the server costs were higher than the money they were making. They were spending 5k a month on AWS crap and claimed it was impossible to get any lower. He helped them consolidate everything onto a single rented dedicated server costing 400 a month. Now the service i…

If you have a more or less fixed workload then AWS ends up being a lot more expensive. If you have a highly variable workload and you have a bunch of servers sitting idle most of the time then it becomes more competitive. AWS lets a small startup go from one server to 10K servers without breaking sweat, at least in theory, but it's not for everyone. At the same time not everyone wants to build DCs with thousands of servers in different geographies all by their own.

But yeah, AWS generally is expensive, which is part of why it's making so much money.

It definitely makes business sense to try to avoid locking yourself in to AWS but at the same time it's a good place to ramp up or test your business ideas without needing to invest a lot of money in servers, real estate etc.

[You can probably substitute any other cloud provider for AWS here]

Re: A million-dollar engineering problem

#194
post #6

I've been joking with friends that my next job will be AWS efficiency guru. I've somewhat optimized our own use, but I think I could use similar, simple rules to get 20% out of a 500k / month budget. Give me what I save you in 2 months and I'll have a good business :)

Remember LowerMyBills.com. You will LowerMySaasBills.com

Re: A million-dollar engineering problem

#195
Given that Elite game [1] used to run on Sinclair with Z80 processor and 48kB of memory, any complaints about the costs nowadays sound ridiculous. If our software infrastructure was coded by Elite programmers, we would be able to run in at 0.01% of the cost.

[1] https://en.wikipedia.org/wiki/Elite_(video_game)

Re: A million-dollar engineering problem

#196

Had an interesting experience when I went to the pricing page for Segment - Had a little sales guy pop up in the lower right corner asking "Would (my enterprise employer name) like to know if you qualify for a volume discount?" I only recently started working (and web browsing) from an enterprise network, so maybe this has been done before, but it's my first time seeing it and I thought it was really interesting. Edi…

Built it using Drift, Clearbit and Madkudu.

Challenge: there's a race condition because the enrichment & scoring takes a little while, but the chat widget checks the drift database at the same time.

Source: I'm part of the team who built this @Segment

Re: A million-dollar engineering problem

#197

A friend of mine was annoyed that a small service he liked was shutting down. He contacted the developer who said that they were shutting it down because the server costs were higher than the money they were making. They were spending 5k a month on AWS crap and claimed it was impossible to get any lower. He helped them consolidate everything onto a single rented dedicated server costing 400 a month. Now the service i…

> simply not using AWS is a competitive advantage.

The way you wrote your comment about using a dedicated server implies that there are no other viable cloud providers besides AWS. That is the problem, people do not know or do not acknowledge the existence of a number of other cloud/VPS providers that, in most cases, would work perfectly fine for their startup, and be a massively better value.

Such as Digital Ocean, Linode, or many small relatively less well-known providers that are perfectly fine like UltraVPS etc.

Sure, some few people do actually need DynamoDB or some other ultra-scaling AWS service, but people who just need VPSs can get a much better deal elsewhere.

Re: A million-dollar engineering problem

#198

A friend of mine was annoyed that a small service he liked was shutting down. He contacted the developer who said that they were shutting it down because the server costs were higher than the money they were making. They were spending 5k a month on AWS crap and claimed it was impossible to get any lower. He helped them consolidate everything onto a single rented dedicated server costing 400 a month. Now the service i…

The problem is not AWS. The problem is poorly architected systems and software. We see a similar issue with the "we switched from PHP to Haskell on .NET in Azure and improved performance 3000x" -- the issue wasn't the fault of the language, it was the way it was used. You put bald tires that are over-inflated on a Porsche and you're gonna have a shitty experience. Sure, bare-metal is gonna have performance benefits o…

> You put bald tires that are over-inflated on a Porsche and you're gonna have a shitty experience.

This is off topic, but bald tires have better traction than grooved ones in dry conditions. (But the slightest bit of rain and they will not hold.)

Also tire inflation does not have a strong correlation with traction (there is some, but it's not large), so it's not so obvious that over-inflated means a bad experience.

Re: A million-dollar engineering problem

#199

> In some cases, we’re currently packing 100-200 containers per instance. I have a very basic "Docker 101" question here.. Can someone explain how you might get to >100 containers on a given instance? That seems to imply that there are multiple containers of the same microservice running on one machine. Why would you pack duplicate containers like that instead of using one larger container?

> Why would you pack duplicate containers like that instead of using one larger container? Microservices that are scaling horizontally to handle concurrent requests, etc. Depending on how seriously your architects take the "micro" in microservice, you may easily get to 100+ unique microservices/processes each running in their own Docker container.

That's not what's going on here (100-200 unique microservices). Aside from the fact that that's insane, they specifically state they want to "pack" multiple containers of the same service on one machine:

"You cannot run two containers of the same service on a single host because they will collide and attempt to listen on the same port. (no bin packing)"

So, what's the sense in doing that instead of one bigger container?

Re: A million-dollar engineering problem

#200

Earlier quoted context omitted.

A lot of people are in denial that there isn't using some magic efficiency to cloud services that other datacenters don't have. Primary cost savings on cloud VM's is from overprovisioning. The more abstracted away the service is from the hardware, the more they can overprovision without customers noticing. The 50%+ profit margins have to be coming from somewhere. AWS is not made of magic, it's made from largely the s…

This is just factually incorrect. AWS hard partitions all instance types, except T2 (which are overcommitted, and clearly advertised as such: "burstable"). So, if you provision an x1.32xlarge with 128 vCPU and 1.92TB of RAM, you get a single, dedicated host with that much CPU and memory. Nobody else gets it - it's dedicated to you 100%. The profit AWS is making is purely due to datacenter efficiency and being able to…

>The profit AWS is making is purely due to datacenter efficiency and being able to automate their operations at scale.

That's what they want you to think, but a lot of it comes in the form of ripping you off for bandwidth to actually get data out of EC2.

Post reply on HN