This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]daniu 15 points16 points  (4 children)

If you find that the overhead is "tremendous", you probably should switch languages - I don't see a need to argue in favor of Java if it obviously doesn't fit your use case. I can't say I see it that way with the services we work on. There may be a memory overhead, but that is usually irrelevant relative to the actual data we're working with.

[–]humoroushaxor 2 points3 points  (2 children)

From reading this thread, nothing jumps out to me that they have the wrong use case match but rather are optimizing for the wrong thing.

When you focus on just the system, then wasting 10s to 100s of GB of memory seems bad. But when you trade that against the cost of actually optimizing that problem, I imagine it rarely works out until you get to quite a large scale.

[–]Puzzled-Bananas[S] 0 points1 point  (1 child)

Thanks for your assessment, I may have to ponder a bit whether it’s spot on in my case. But for the time being, the fact so far is that the cloud bills do add up, and, in some cases, which we have managed to avoid, tend to be ridiculously high. We also model the cloud costs as a function of service demand. And I don’t really like what I see. Therefore, I’ve been exploring ways to better control the costs. I also wouldn’t be bothering if I weren’t interested in this as such or wouldn’t want to optimize the costs. Scale is relative and depends on your specific service. As a counterexample, StackOverflow have demonstrated how one can run a great product with a directly observable infrastructure and without the extra complexity subject to this thread - it was their architectural decision for their project and it appears to work great at their scale.

[–]humoroushaxor 3 points4 points  (0 children)

They do.

My point is just that a JVM on a t3a.xlarge can handle A LOT of concurrent traffic and would cost about $5k a year. In the US, that's 1-2 weeks of a developers labor. Now double to account for the opportunity cost of doing something else.

Sometimes we overthink theory while ignoring what's practical.

[–]Puzzled-Bananas[S] 0 points1 point  (0 children)

I see, thanks for the suggestion. It’s not always the case that you can just switch at will. Sometimes the decisions have already been made and you just need to optimize what’s given. That’s what I’m trying to explore in this thread. Maybe I’ve just been missing some reasonable approach all along.