These kinds of herculean efforts do make sense at Google's scale (at least from my reading of their papers & blog posts), but are there advantages for data centers operating at smaller scales to adopt some of the approaches used here e.g. custom-built commodity hardware-based network switches, SDN-based central controllers etc.?
EDIT: Maybe a better question is, at what point do you think about eschewing the traditional Cisco/Juniper gear and look towards these techniques?
The trap ... which ironically only affects bleeding edge corporations ... is that it's usually cheaper superficially, but doing anything novel in the infrastructure space leads to enormous issues of supportability downstream. For all the complaints programmers have about noobs not knowing anything, or training new hires on company coding standards & practices, it's FAR worse on the infrastructure side.
I'd argue that traditional gear gets in the way a lot more than most people know / would think, but because you can pull any John Q Public off the street to support a Cisco or Juniper environment, "no one was ever fired for buying IBM" applies. Even investments in the common non-core networking gear is usually limited to just a handful of vendors so diversity isn't really a problem in most cases.
Can someone here point to a good article (or a couple of articles, for that matter) explaining the history of Python packaging and the "new way of doing things"?
"After the switchover we had to add some additional Redis nodes but not because Redis was overworked but because the network cards couldn't keep up with Redis."
That doesn't seem very special or unique to me though. In almost all settings where some in-memory data is pushed on the network stack, you can expect stuff to be network bound.
They one thing they could to make it a lot better, is to allow a few (5-8 maybe?) private zero-collaborator repos in the free plan.
And they can always increase the number of repos in each plan. I understand this won't make them as competitive on pricing, but the better user experience they offer has to be reflected in the cost.
Also what apps do you want to run? Slack, Front, what else?