5 ms·
So, Let's Encrypt just uses a very big piece of iron for their database server, they don't scale horizontally. Stack Overflow also famously buys the biggest ha
by louwrentius 6y ago
So, Let's Encrypt just uses a very big piece of iron for their database server, they don't scale horizontally.
Stack Overflow also famously buys the biggest hardware they can get and upgrade their database server accordingly.
I always wonder if horizontal scaling is really always the right answer, when you can just buy a bigger box (of bigger VM) and spare yourself a lot of issues.
- basilgohar 6y agoI am not a proponent of scaling out horizontally as the best solution to all things, but being able to do so comes as a result of design that helps to minimize coupling of services and single points of failure, in general, which are other benefits. But I also tend to think "you can always get a bigger box" can take you pretty far, and much further than most people that only think in terms of AWS realize.
- cortesoft 6y agoUp to a certain point, sure, you can vertically scale. I work for a large CDN, with many thousands of servers pushing near line-rate out of our NICs... we certainly can't vertically scale that. There is a limit to how much you can vertically scale. Even for the things we CAN vertically scale, we need to be able to handle hardware failure and OS upgrades without taking any downtime, so you are going to need to be able to horizontally scale enough to handle that.
- jorams 6y ago> I work for a large CDN, with many thousands of servers pushing near line-rate out of our NICs... we certainly can't vertically scale that. A CDN is essentially "horizontal scale as a service". The vast majority of products are very different.
- hinkley 6y agoAnd the products that aren’t should hire out CDN networks to do that work for them instead of trying to roll their own.
- louwrentius 6y agoI agree with Jorams, this is not a common service. Most apps are things with an app server and db and most of all: they have a load that is easily handled by modest gear.
- cortesoft 6y agoI know, and I get that we aren’t the average tech company. I don’t think we are unique, though, and there are many engineers on here who work at all sorts of interesting places with non-standard workloads. I was just pointing out the reasons we can’t vertically scale.
- wongarsu 6y agoStackOverflow seems to be doing well keeping the number of servers small, and having one dedicated hot failover for each machine. Today you can without issues have 128 cores and 1TB RAM in one server (or 48 cores and 1.5TB memory if you prefer Intel). Of course not everything scales perfectly, but you can get pretty far before you are really forced to scale horizontally.
- cortesoft 6y agoRight, I know you can get really beefy servers these days. We use thousands of them.
- louwrentius 6y agoOh, you can get 6TB+ of memory without problem. https://yourdatafitsinram.net/ https://yourdatafitsinram.net/
- Swizec 6y agoDatabases are notoriously better scaled with more iron. Web servers on the other hand are a great fit for horizontal. Horizontally scaling your database is a last resort used at truly mindboggling scales.
- louwrentius 6y agoI bet that you can handle a tremendous amount of traffic with a single machine (2 in ha for availability behind an LB). Especially with today’s hardware or simple cloud vms you’ll come a long way.
- cortesoft 6y agoI don’t think the size where you need to horizontally scale your database is as ‘mindboggling’ly large as you make it out to be. There are a lot of engineers working at a lot of companies who are at and above that scale.
- josephg 6y agoMost websites (probably 99.9% of websites) never reach that scale. And I suspect most working engineers work on products that aren't at that scale. I mean, how many websites, anywhere in the world are bigger than stackoverflow? 100? There's interesting tech out there, but I think adding "interesting" technology to your stack without a very good reason is usually a mistake.
- cortesoft 6y agoSure, but not everyone is making websites.
- josephg 6y agoTrue. And likewise, not everyone needs an ETL pipeline. "Keep your architecture as simple as possible, but no simpler". There are important problems kafka solves. But its worth checking if you have one of those problems before using it.