2 ms·
> This gets compounded when applications start fighting for resources on the same machine and you get unanticipated interactions. One strategy for dealing with
by __MatrixMan__ 3y ago
> This gets compounded when applications start fighting for resources on the same machine and you get unanticipated interactions.
One strategy for dealing with this is to use something like k8s to run the various components in different pods. That way you can size each pod such that there are always enough resources set aside for that component, and if it starts getting too big for its britches, you know about it before the whole thing comes crashing down (because they're the britches for just that component).
Seems innocent enough, but bearing in mind that internet traffic is bursty, you end up with a situation where your pods are 90% empty 90% of the time because they're all sized for the worst case scenario. The compute you're paying for goes unused most of the time but AWS will still be billing you for 100% it.
It's a sort of cancer of the request/response world that we live in. I think we need to go back to the 90's and make a different choice about the web. pub/sub maybe. The cases where we can't tolerate a few minutes of latency are quite small--provided that the data appears out-of-date during that time instead of the app being unusable, which is how we're handling it now.
- mrcode007 3y agoIt’s infeasible on the desktop because for each application you now have a management memory overhead where the container subsystem in the operating system eats up memory for book keeping data structures. Now imagine 1000 apps running and having memory eaten up by running 1000 containers on your desktop.
- __MatrixMan__ 3y agoI don't disagree, but I think that container overhead is the smaller part of the problem. It was recently recommended to me that we should just allocate double the max we've ever seen it consume--switch from 99% unutilized to 99.9% unutilized. Better to be conservative than to get paged in the middle of the night.