Cloudflare really doesn't make much of a difference for HN. The last front page traffic I saw (~a week ago?) was still at most a handful of QPS. Any nginx instance with default configuration serving static files from any modern computer should be able to handle that (given that your link is big enough).
Now if you reach the top of a large subreddit, or have a viral tweet with a link to you, that's a different order of magnitude. HN is just not that large.
It’s usually not images but rather the CMS making 100 read queries and 20 write queries per page load without any object caching that brings sites down. Even a slow uplink serving big image won’t bring an nginx server down, it’s all async.
It’s typically one page that hits Reddit/HN/whatever with its fixed set of static images. It’s pretty much the ideal scenario for the kernel’s in-memory cache.
Now if you reach the top of a large subreddit, or have a viral tweet with a link to you, that's a different order of magnitude. HN is just not that large.