Comment by maxbond

3 years ago

The thing that confuses me is, isn't every publicly accessible service bursty on a long timescale? Everything looks seasonal and predictable until you hit the front page of Reddit, and you don't know what day that will be. You don't decide how much traffic you get, the world does.

Hitting the front page of reddit is insignificant, it's not like you'll get anywhere near thousands upon thousands of requests each second. If you have a somewhat normal website and you're not doing something weird then it's easily handled with a single low-end server.

If I get so much traffic that scaling becomes a problem then I'll be happy as I would make a ton of money. No need to build to be able to handle the whole world at the same time, that's just a waste of money in nearly all situations.

  • "Hitting the front page of Reddit" is a metanym for, "today you suddenly have many multiples of the previous day's traffic banging down your door, for reasons entirely outside of your control or ability to foresee." I agree this is a huge revenue opportunity - but if you can't stay up, you may not be able to capitalize on it.

    This & sibling comments seem to imagine that every application is some special case of static web hosting, and if that is the domain you're working in I can see how you may be able to cheaply over provision to the point where you don't really worry about downtime. If you don't need distributed computing, definitely don't apply distributed computing to your problem and you'll have a cheaper and better time. I'm not some kind of cloud maximalist; if you're telling me you've done some diligence for your application and it's better off at Hetzner, sure, I believe it.

    I'm pretty skeptical that this is most applications, however. Consider a browser based MMORPG where each interaction in the game will fire off one or many requests, and each player interacts several times a second. If hitting the front page results in hundreds of new players, it's easy to imagine having thousands of QPS.

    • What makes you think people are talking about static pages?

      Even in the MMORPG case it should be no problem at all if you get a few thousand new players(that would be some insane conversion ratio on reddit/HN traffic). Even cheap servers are fast.

Funily hitting reddit front page might ruin you if you run on aws

  • With great power comes great responsibility. When I start to learn a new cloud service, I definitely start with the billing, limits, and quotas. Concern here is definitely warranted. It's a bit like programming in C, there are some seatbelts but they're not absolutely guaranteed to work, and it's ultimately on you to do it right. I'd love to see this get much safer.

    However, the corollary of this is; without this responsibility, you don't have access to the great power.

If you can't handle traffic from reddit or a larger site, you configured static pages and caching incorrectly, or you run your site on a Raspberry Pi, I guess.

  • Pi behind cloudfront/flare and you caching sorted (as you say) and you'll handle pretty much anything. (well, maybe make that a Pi-4 8gb if you can get one)

  • Having your caching set up I correctly is verrryyy easy to do. There’s lots of things you can miss, and don’t realise until a whole lot of traffic hits you