News for hackers. Stuff that matters.
Re:The Container Throttling Problem by YokoZar on Sunday December 26, 2021 @07:22AM (#29691847)
> The gains for doing this for individual large services are significant (in the case of service-1, it's [mid 7 figures per year] for the service and [low 8 figures per year] including services that are clones of it, but tuning every service by hand isn't scalable.

This point seems wrong to me, bound too much by requiring solutions to be done by a small team of engineers who already have a mandate to work on the problem.

With numbers like that Twitter could, profitably, hire dozens of engineers that do literally nothing else. Just tweak thread pool sizes all day, every day, for service after service. Even though it's a boring, manual, "noncomplex" thing, this type of work is clearly valuable and should have happened years ago.

Most likely Twitter's job ladder, promotion process, and hiring pipeline is highly incentivizing people to avoid such work even when it has clear impact. They are very much not alone in that regard.

Re:The Container Throttling Problem by xyzzy_plugh on Sunday December 26, 2021 @08:42AM (#29692276)
I solved this same problem for a company also in 2019 (as the CPU quota bug hadn't been fixed yet) and it resulted in something like 8 figures of yearly cost savings.

You are correct in that most companies are not equipped to staff issues like this. Most places just accept their bills as a cost of doing business, not something that can be optimized.

Re:The Container Throttling Problem by _jal on Sunday December 26, 2021 @09:59AM (#29692839)
A side effect of deciding systems engineers can be replaced by devops.

In reality, you want both. A good systems person can save you a ton of money.

Re:The Container Throttling Problem by ithkuil on Sunday December 26, 2021 @03:54PM (#29696252)
A nice approach is to staff a DevOps team with people from diverse backgrounds; some more towards the system side of the spectrum and some more towards the dev side of the spectrum. As long as everybody knows a little bit of the other side. This helps ok avoiding a culture where devs "throw some code over the fence" and sysops people just moan that devs are careless and/or that they should do things differently, but without a clear way of showing exactly how differently things should be made (and also without a clear understanding of what devs ended up choosing the way they choose)
Re:The Container Throttling Problem by bradknowles on Monday December 27, 2021 @12:26AM (#29699606)
Who does DevOps teams anymore? Don’t you know that all devs should also be ops, and you can cut your staff in half?

Seriously, some employers I’ve know seem to take exactly that approach. Just fire all the ops guys, and tell the devs that they’re now going to be doing DevOps.

Re:The Container Throttling Problem by ithkuil on Monday December 27, 2021 @06:38AM (#29701628)
Oops I clearly didn't mean a dedicated DevOps team; I mean a team that develops and runs a product, what DevOps originally meant (and not the glorified developer tools team that often people have nowadays with that name)
Re:The Container Throttling Problem by waynesonfire on Monday December 27, 2021 @01:38PM (#29705296)
Devops developed and ran product? Never heard of that. What disconnected manifesto did you read?
Re:The Container Throttling Problem by ithkuil on Tuesday December 28, 2021 @04:17AM (#29711921)
Is the word product rather than service that bothers you or the fact that DevOps develop and operate?
Re:The Container Throttling Problem by eloff on Sunday December 26, 2021 @09:25AM (#29692581)
This. I've never worked anywhere that had dedicated ongoing effort to cost reduction in compute services. It's always a once every couple of years thing to look at the cloud spending and spend a little effort dealing with the low hanging fruit.
Re:The Container Throttling Problem by karmakaze on Sunday December 26, 2021 @01:34PM (#29695039)
I can see how there are diminishing returns when optimizing but I would never say that server bills are not a metric to be aware of and address. I've always had some idea of what's practically achievable in terms of efficiency within a given architecture and aim for something that gets a good amount of the way there without undue effort. I also enjoy thinking of longer term improvements for efficiency whether that could improve latency or the bottom line and at the same time know that's secondary to providing additional value and gaining customers during a growth period.
Re:The Container Throttling Problem by joshuamorton on Sunday December 26, 2021 @04:46PM (#29696694)
> With numbers like that Twitter could, profitably, hire dozens of engineers that do literally nothing else. Just tweak thread pool sizes all day, every day, for service after service. Even though it's a boring, manual, "noncomplex" thing, this type of work is clearly valuable and should have happened years ago.

The issue is that once you hire a dozen engineers to do this (say for 5M a year in total), and they do it for a year, they save mid 8 figures (keep in mind this was the largest service, so the savings across other services will be smaller).

Then can they keep saving mid 8 figures every year?

I'll paraphrase something I previously wrote privately, but imagine you have some team that's able to save 10% of your fleetwide resources this year. They densify and optimize and improve defaults. So you can now grow your services by 10% without any additional cost increase, and you do! The next year, they've already saved the easiest 10%. Can they save 10% again? Can they keep it up every year? How long until they're saving 3% a year, or 1% a year? And that's if you keep the team the same size, where its clearly loosing money! If you could afford a dozen people to save 10%, you can only really afford 1-2 to save 1%, but then you're likely to get an even smaller return.

Unless you expect to be able to maintain the same relative value of optimizations every year, 3 or 5 years out, its not worth it to hire an FTE to work on them.

I should note that I've experienced this myself: I was working in an area where resource optimization could lead to "significant" savings (not 8 figures, but 6 or maybe 7). My first 6 months working in this area, I found all sorts of low hanging fruit and saved a fair amount. The second six months, 5-10x less ROI. I gave up even trying in the third six moths, if I come across a thing, I'll fix it, but its no longer worthwhile to look.

Re:The Container Throttling Problem by ZephyrBlu on Sunday December 26, 2021 @05:13PM (#29696886)
If you're looking in the same area/domain, what you're saying is almost certainly true.

If you're looking across the business as a whole, it seems likely that there is a lot of this kind of work lying around because there is not much incentive for people to tackle it as described in this comment: https://news.ycombinator.com/item?id=29691847.

Re:The Container Throttling Problem by joshuamorton on Sunday December 26, 2021 @06:19PM (#29697325)
I'm replying to that comment.

The issue is still the same: what do you do in the second year (or the third), after you've fixed all the low hanging fruit. If it takes a constant amount of time to investigate a particular service, it's not even worth examining the long tail, because the investigation is costlier than the savings. So once you've saved the high 8 figures by fixing the low hanging fruit in the biggest 20 services or whatever, what next?

The broader point is that while it is often very worthwhile to have individual employees work on optimizations, it is much less often worthwhile to task teams entirely with optimizations, especially in the way you describe. Having some group in charge of generalizable fleetwide optimizations is possibly useful. Doing some kind of resource quota thing where you get fewer resources than you're forecast to need (to force you to do some kind of local optimization) may make sense, but having a strike team whose job it is to tune JVM parameters isn't useful. A central team writing a document on best practices, setting better defaults, or using/building some kind of grid-search optimizer are all probably better investments.

Re:The Container Throttling Problem by ptc on Sunday December 26, 2021 @06:55PM (#29697547)
The answer is you build a team that builds tools to make optimization easier for everyone in the engineering organization. One individual team can't optimize every application, but if you make it easy for every engineering team to profile their applications and debug performance problems, you've enabled every team to continuously optimize the low-hanging fruit. In effect, you're no longer solving one-off 8-figure problems, you're optimizing the time of other engineers which is something that pays off in perpetuity.

Good large engineering organizations have these teams, and understand their value. For smaller companies, it's not as clear if you can reasonably fund a team for that kind of work.

Re:The Container Throttling Problem by YokoZar on Monday December 27, 2021 @08:56PM (#29709441)
> The issue is still the same: what do you do in the second year (or the third), after you've fixed all the low hanging fruit.

Then you destaff the team, collect your tens of millions of dollars, and be happy about a successfully finished project? The problem with going too far down this line of reasoning is that you leave even low-hanging fruit laying around forever.

Re:The Container Throttling Problem by joshuamorton on Monday December 27, 2021 @09:35PM (#29709653)
What you seem to be missing is that "destaffing" a team of a dozen people is really expensive and painful, and people don't generally sign on to jobs where we say "yeah you'll be doing this for two years and then you'll have to find a new role".

Like I've said twice now, you can solve this problem without stupid business practices, and the you're arguing with a straw man. If you have to say "going too far down this line", you're no longer responding to the argument presented, but a bad faith misrepresentation. That's inappropriate on HN.

Re:The Container Throttling Problem by ghusbands on Sunday December 26, 2021 @10:57AM (#29693418)
Certainly, at one place I worked, the higher-ups were very clear that any work on cost reduction was wasted and devs and ops should always work on increasing net income, not decreasing costs. It was consistently claimed that cost reduction can only get you small percentage decreases, whereas increases in income are larger and compound better.
Re:The Container Throttling Problem by kevin_nisbet on Sunday December 26, 2021 @01:14PM (#29694823)
I've had similar messages articulated to me by my manager, and have found myself articulating similar messages to my team.

In my team, the key is for the state of the project/product we manage, cost optimization is likely one of the lowest ROI activities we can spend too much time on. That doesn't mean we don't tackle some clear low hanging fruit when we see it, or use low hanging fruit as training opportunities to onboard new team members, but that we need to be conscious on where we make investments, and for the stage we're at, the more important investment is into areas that make our product more appealing to more customers.

I think it's easy to say someone, like an intern could pay for themselves with savings. But this to me overlooks that someone has to manage that intern, get them into change management, review the work, investigate mistakes or interruptions from the changes, etc. And then they're still the lowest earning employee, since most of us aren't hired to pay for ourselves, but actually to turn a profit for the company.

So while I'm not sure I agree with the message "whereas increases in income are larger and compound better.", I certainly understand and have pushed a similar message, that we be conscious on where we're spending our time, and that we're selecting the highest impact activities based on the resources and team we have. Sometimes that may be fixing high wastage, but very frequently that will be investing into the product. And I think for the stage of the product we manage, that is the best choice for us.

Re:The Container Throttling Problem by avianlyric on Sunday December 26, 2021 @11:25AM (#29693706)
The big difference between cost reduction and income increase, is that one has a hard limit on possible upside, whereas the other does not. You can reduce your costs by more than your total costs, but it’s quite possible to increase your income by many multiples of your existing income.

Result is that maximising income is generally better than reducing cost. Of course, as with all generalisation, there are situations where this approach doesn’t hold true. But as a high level first order strategy, it’s a good one to adopt.

Re:The Container Throttling Problem by ClumsyPilot on Sunday December 26, 2021 @02:49PM (#29695665)
"one has a hard limit on possible upside, whereas the other does not."

Thats plain wrong, the gloval market for cars, bicycles and what have you has a limited size. Every large company that's a market leader understands that.

Re:The Container Throttling Problem by beiller on Sunday December 26, 2021 @04:11PM (#29696419)
Would capturing 100% of the market granting a monopoly essentially grant unlimited upside? Cause you can just jack the price to absurdity? Also wouldn't reducing cost to zero have an infinite upside as well? Basically zero cost you can produce infinite output. Gettin real pedantic here heh.
Re:The Container Throttling Problem by bradknowles on Monday December 27, 2021 @12:31AM (#29699646)
My experience has been that each additional multiple of revenue has a certain amount of effort increase that is relatively fixed. Likewise, each additional percentage of cost reduction has an effort cost that is relatively fixed.

If you do the math, then increasing your revenue by 2x doesn’t cost 2x the effort. But one additional percentage point of cost reduction might well cost 2x the effort.

Sadly, most employers I’ve known do not seem to understand this thing called math.

Re:The Container Throttling Problem by wolf550e on Sunday December 26, 2021 @11:44AM (#29693917)
You meant to write "You cannot reduce your costs"
Re:The Container Throttling Problem by R0b0t1 on Sunday December 26, 2021 @03:50PM (#29696210)
This was verified by (what should be) a famous Harvard Business school study. Quality before cost, revenue before expenses, and there is no three.
Re:The Container Throttling Problem by JHer on Monday December 27, 2021 @07:01AM (#29701772)
Could you share a link or give the name of the study, so that I can read it?
Re:The Container Throttling Problem by tomrod on Sunday December 26, 2021 @11:54AM (#29694015)
The higher ups need some basic economics education, it appears. Certainly you shouldn't invest everything in long term returns, but you should be open to it.

Instead, when something has a payoff of 3 years, executives get antsy in orgs that have a 2-year cycle on exec positions.

Re:The Container Throttling Problem by lostdog on Sunday December 26, 2021 @01:34PM (#29695033)
You can do similar types of work, but target speed increases instead. Getting all the batch jobs to finish faster can help developer productivity, and is even worthwhile at a new startup.
Re:The Container Throttling Problem by mnutt on Sunday December 26, 2021 @12:03PM (#29694093)
There was a startup I talked to at one point that had a service where they’d run an agent on your instances that would collect performance data and live tune kernel parameters, and they had some AI to find the best parameters for your workload. No idea how well it worked, but it seems like a potentially good application of AI.
Re:The Container Throttling Problem by servytor on Sunday December 26, 2021 @12:35PM (#29694385)
Do you remember the name for it? Sounds really useful.
Re:The Container Throttling Problem by wmf on Sunday December 26, 2021 @06:53PM (#29697526)
Was it Granulate?
Re:The Container Throttling Problem by mnutt on Thursday December 30, 2021 @12:23AM (#29733918)
Yes, that was it.
Re:The Container Throttling Problem by syngrog66 on Sunday December 26, 2021 @01:00PM (#29694672)
Log4Shell.com
Re:The Container Throttling Problem by spockz on Sunday December 26, 2021 @02:16PM (#29695363)
Afaik, Twitter already has significant and mature infrastructure in place to run a plethora of different instances on shadowed traffic and compare settings. It is used at least by the people working on the optimised jre.
Re:The Container Throttling Problem by vegetablepotpie on Sunday December 26, 2021 @09:23AM (#29692569)
They could hire contractors or consultants to do the job, no? That class of worker would not be concerned about promotion opportunities. For some reason they haven’t done that either.