Earlier quoted context omitted.
Because they're constrained by Windows and Microsoft licensing, scaling out was never an easy option for them.
What constraints? Windows Server licenses are bought per-core and the company can easily afford plenty more. This is a non-issue.
“You don't need this overengineered goo for your project.”
91–100 of 107 posts
Re: “You don't need this overengineered goo for your project.”
#92Earlier quoted context omitted.
> Stackoverflow is notable because they went down the C#/MVC/SQL Server route from the start, which meant much better performance per server And also notable because everything is under an expensive license, so big performant servers is the cheaper option. Edit: everything = Windows servers for their .NET app ( apparently in the process of migrating to .NET Core) and SQL Server
License costs are usually per-core, not per-server. It's the same whether you have a single large server or multiple small ones.
Re: “You don't need this overengineered goo for your project.”
#93Earlier quoted context omitted.
Nevertheless, it is true that Stack Overflow has focused on backend performance and scaled vertically a long way, further than is fashionable. Just not so far as only using two servers for everything .
Because they're constrained by Windows and Microsoft licensing, scaling out was never an easy option for them.
I've not really looked at hosting anything on windows before, do they have unusual licensing terms in such a way that it would be a significant cost?
Re: “You don't need this overengineered goo for your project.”
#94StackOverflow didn't use that either and instead chose to invent their own query builder/mapper known as Dapper.
Re: “You don't need this overengineered goo for your project.”
#95I love these Twitter takes. They say something to get attention but if you look at it for more than a second it's.. it's just nothing data Comparing a troubleshooting guide to running a site on a couple of servers is a bit too different for me. Compare it to a troubleshooting guide for those two servers, let's see how they stack up. No using any "ask {specific person}" either Don't get me wrong, kubernetes is overkil…
It's worth mentioning that the diagram is explicitly incomplete. The yellow endpoints are fixes but except for "END" the other endpoints are all either "unknown state" (i.e. "I have no idea what's broken") or problems that aren't addressed in further detail like "The issue could be with Kube Proxy" or even "Consult StackOverflow".
I'm not sure what a complete diagram would even look like but I don't think there's any way to infer complexity by looking at them in comparison.
Re: “You don't need this overengineered goo for your project.”
#96Earlier quoted context omitted.
What constraints? Windows Server licenses are bought per-core and the company can easily afford plenty more. This is a non-issue.
But adding a new server includes having to buy new licenses, which is a consideration you don't have with OSes that under licensing. It costs extra money, and used to be per socket when their infrastructure was conceived.
Why does this make scaling out "never an easy option for them"?
Re: “You don't need this overengineered goo for your project.”
#97Earlier quoted context omitted.
And if they don't like your politics, they simply pull the plug.
You mean morally indefensible politics and misinformation propaganda? Oh no. Anyway. I mean these politics are pushed by rich Americans and foreign interests, surely they have the means to start their own hosting platform. It's the same that advocate in favor of businesses rejecting customers because of free market.
It's not just based on particular politics. It can be any behavioral screw-up done by you or any employee, at any point in your life, real or perceived, that crosses the current cultural expectations. The surface area of risk is ridiculously huge.
Re: “You don't need this overengineered goo for your project.”
#98Earlier quoted context omitted.
100% and one of the great things about k8s is that this diagram applies to essentially any application. Standardisation is awesome.
Unfortunately as a k8s user in the real world every container is slightly different and has numerous hacks in it to make it compatible with k8s in some way or another. So no.
At a previous employer, we had a k8s cluster with a bunch of machines that were designed to a) load a filesystem kernel module inside the container (yes inside, not outside), b) mount /dev from the host in the container with Docker, and c) mount hard drives from the host /dev inside the container using the "mount" command.
In a twist that should surprise no one, those containers don't work well. And they failed to work in crazy, confusing ways for which there is no documentation to troubleshoot, because who in their right mind would do something like that?
I've had better luck in places that have a Platform as a Service team that owns the k8s infra. They generally have a lot more pushback to say "no, you're not going to do that on our cluster" which helps to tamp down some of the crazier ideas.
Re: “You don't need this overengineered goo for your project.”
#99Earlier quoted context omitted.
What is really interesting to me is that they just have a very small number of each kind. It's not like they have 50 redis servers, it's just 2. 2 looks more like a smaller project ar first, but it's great proof that a lot can be achieved by doing engineering.
They are probably able to do it with little because they understand what they are doing. There are too many developers and teams that don't understand the underlying principles and limitations of the technology they use. In a good case those developers get schooled by experienced engineers, but frequently they end up in an important position in some big enterprise software company and makes life miserable for many pe…
Sure, maybe a junior dev can make a simple forum, or you could make a web app that duplicates the functionality of SO at low loads in a weekend. But, when you're serving an average of 500 requests per second, you need to know what you're doing. And, IMO, this "knowing what you're doing" is the difference between knowing how to engineer a system and how to write an application.
Re: “You don't need this overengineered goo for your project.”
#100Earlier quoted context omitted.
You mean morally indefensible politics and misinformation propaganda? Oh no. Anyway. I mean these politics are pushed by rich Americans and foreign interests, surely they have the means to start their own hosting platform. It's the same that advocate in favor of businesses rejecting customers because of free market.
This doesn't seem to be as easily defined as you say. The new AWS group is more or less targeted at "avoid bad press" rather than "indefensible politics", whatever that is. Twitter mobs seem to be quite fickle to me and can just as easily eat their own as their usual fare. News outlets aren't a lot better, often following big enough gripe fests and piling on like the rest. It's not just based on particular politics.…