Cloudflare has their own hardware and so pays a "market price" for bandwidth (which is much lower than what clouds (over)charge) and their business model relies on other value-add products rather than just bandwidth. I wouldn't be surprised if they actually lose money on this deal, but I guess it sometimes pays off to provide loss leaders.
Cloudflare subsidizes the small guys in hopes they'll turn into big guys. Bandwidth isn't that expensive in the first place though, that's just a myth perpetuated by AWS/Azure/Google.
Sure, because we're hiring like crazy to build new things. As we said during our last earnings call, we intend to stay at break even as long as we can achieve extraordinary revenue growth and continue to deliver innovative new products.
The more relevant number for this comparison would be our gross margin — much we have to spend on things like bandwidth and servers to service our customers divided by the revenue those customers generate — which in Q3 2021 (our last reported quarter) was 78%. Which is… pretty good for a services business like ours.
I don't know the specifics of this customer, but I don't see anything that leads me to believe our margins would be out of the ordinary with them. There are a lot of scale economics in our business. In other words, we can definitely do things for less money because we service a lot of customers than any one customer could hope to do it on their own.
It's super nice that you're here and your transparency is appreciated, but don't waste time in people like GP. Just walk your way and don't mind the naysayers.
My two cents from a regular guy to a billionaire, :).
Noting they are operating at a slight loss, during a period where they want to drive growth, isn't "naysaying". The question is whether the current pricing is tied at all to the "operating at a slight loss". He replied to say it mostly wasn't.
Remember, for example, when Uber rides were really cheap?
You're right about that but in this case I think they have that covered. Bandwidth is not really that expensivea and they already have the network and scale effects on their favor; so, if anything, I believe their opex (per customer or w/e) will continue to go down.
Bandwidth is cheap. Cloud providers are insanely expensive for bandwidth. Cloudflare is peering in a lot of locations, making it even cheaper for them.
The biggest costs of server bandwidth are due to transmitting data over large distances (since the internet backbone operates on a sender-pays model when unbalanced traffic is involved in peering). By locating CDN nodes globally, Cloudflare can ensure data is sent near the last mile and thus inexpensive to send. Unless ISPs decide to shake it down the way they do with Netflix of course.
How do 5M page views consume 80TB of traffic? That sounded like a lot, but calculates out to 1,600KB per page view. That's a lot of JS and images on every page :)
A few years ago when I hosted what felt to me like a popular site, I was serving serving > 150K page views a month from a 1.5Mbps adsl uplink. With that said, back then you could gzip everything and there was no letsencrypt or CloudFlare walls across the board (didn't exist yet).
Good thing bandwidth is easier to come by these days.
I don't think they're a store, everything is free and Patreon supporters get early access. I do occasional 3D rendering and the HDRIs are great. The downloads are fast enough to make you ask "whoa, how is this free".
'Please don't comment on whether someone read an article. "Did you even read the article? It mentions that" can be shortened to "The article mentions that."'
It is annoying that the answer is basically "we paid someone [Cloudflare] to do it." In light of that I decided to run some of my own numbers and figure it out.
They are pushing about 245 Mbps out of Cloudflare (averaged over the month). Wholesale IP transit prices are anywhere from 10 cents to a dollar per Mbps depending on volume. Cloudflare dumps 40% of their traffic over peering, putting their price at $14.70/mo. Ignoring fixed capex of servers, Cloudflare is making about $25/mo on this customer.
Given the $11 Backblaze bill, I estimate about 2 TB of data.
A capable dedicated server with 2 TB of disk and 1 Gbps unlimited bandwidth will run about $30 in a major European metro, maybe double that for the US.
With a grand total of $370 vs. $60 worst case, they are spending 516% more to be "serverless."
Edit: Yes Cloudflare has more than one server. Double the price and put one in the US and you still come out ahead.
Edit 2: I'm not saying one way or the other is better. Just that the title is very clickbaity for a "put a credit card into a website" payoff.
> The bulk of the traffic is serving static files.
The bulk of the data transferring is static files because they're hosting large assets, but the rest of the article is about their API, database, etc.
A single server in a single datacenter isn't comparable to a global CDN. They made it clear in the article that they value global latency, and they're willing to pay more for it.
That has mechanical spinning hard disks and a CPU that was released literally a decade ago.
You're not going to replace Cloudflare, Firebase, their API server, and a global CDN with a single 10-year old machine serving files from a mechanical spinning hard disk, hosted by a company that almost nobody has heard of.
Yahoo, Google, and eBay were built with gasp spinning hard disks.
But fine, if you don't believe it I will happily extend an invitation to come see in person my racks of spinning rust and 10 year old servers in Los Angeles or Fremont that are running services that are used by millions of end users. My email is in my profile.
> Yahoo, Google, and eBay were built with gasp spinning hard disks.
Which they ditched as soon as physically possible. The internet has changed a lot since then. That much should be obvious.
You can't reduce this article to "millions of end users" and then equate it with every other service. There's more to this article/service than you're suggesting, and there's more to a website than just users/month.
What's wrong with a spinning hard disk? The files are super easy to read, we're talking milliseconds, and once done it stays in the page cache in RAM... that completely negates any SSD advantage. SSDs have little to no benefit in serving static files.
If you're really strict on this it's trivial to preload these files in RAM after compiling your assets so you don't have to wait for a request.
> What's wrong with a spinning hard disk? The files are super easy to read, we're talking milliseconds, and once done it stays in the page cache in RAM
They're running a dynamic website with an API and other dynamic functions.
Higher up someone calculated that they have 2TB of data, considering their $11/mo Backblaze bill. I calculate $11/$0.004/GB and get 2750 GB.
If you have 2.75TB of files to serve and have a bunch of simultaneous requests for different files:
- everything doesn't fit into the RAM page cache, unless you have 3TB of RAM in your server
- for files that aren't cached, you have to read from the drive
- when you have a bunch of different requests for different files, you're going to have a lot of disk seeks. Seeks are expensive on rotating media.
Serving a large collection of static files at scale can be quite challenging. At my previous e-commerce company, back in the early 2000's, we did our own image serving with RAID1 multiply-mirrored drives (before SSDs!) so we could multiply the seek capacity by the number of drives.
Sure you are for something like serving large image files (like, say 3D asset files?)... I serve >30TB/month off a Hetzner server with rotating rust drives for like $50/month doing pretty much that, multi-terabyte image datasets and gigabyte-sized DL models. Plus a few websites, which you've probably seen. Zero optimization, just rsync and nginx with defaults, works fine. (It'd be way cheaper except I wanted another 20TB or so of rust to get room to add more datasets to serve - after all, the server is barely breaking a sweat.)
> I serve >30TB/month off a Hetzner server with rotating rust drives for like $50/month
You could probably do it with Cloudflare for a similar price, but that's not what this article is about. The article says that their Cloudflare (not Argo) bill is only $40/month, and that's only because they have two domains. It's $20/month per domain.
The $400/month figure isn't just for static file hosting. It includes their API,
database, and global CDN. They make a point to say that low-latency, global CDN is a priority for them, which is why they're paying extra for Cloudflare Argo.
I'm not sure why everyone is comparing what they're doing to a single fileserver hosted somewhere, serving up static files without regard to global latency. It's apples and oranges.
> They make a point to say that low-latency, global CDN is a priority for them
Which, franky, is dumb. File downloads depend on throughput, not time to first byte like a small javascript file. Once bits start flowing it doesn't matter if they travel half way around the globe.
It is like saying you are trying to optimize an ocean cargo ship for acceleration time.
> Which, franky, is dumb. File downloads depend on throughput, not time to first byte like a small javascript file. Once bits start flowing it doesn't matter if they travel half way around the globe.
Round-trip latency has a significant impact on TCP throughput. It's not just about time to first byte.
They're also not a static file serving website.
If they were just serving static files and they didn't care about latency, they could pay $20/month for Cloudflare Pro and be done with it.
I don't understand why you continue to ignore the fact that this for running a high-traffic, global, dynamic website, not just a static file server.
> Round-trip latency has a significant impact on TCP throughput. It's not just about time to first byte.
I've built three CDNs in my career, one at the Tbps scale. Latency only has two factors in throughput: time to scale window size, and retransmits. Modern TCP stacks handle the prior just fine, and the latter is only an issue with packet loss. You can also turn on HTTP/3 and remove your reliance on TCP entirely.
> I don't understand why you continue to ignore the fact that this for running a high-traffic, global, dynamic website, not just a static file server.
Because I actually looked at the site and read the article. The vast majority of the site is large static files. The frontend is a static JavaScript app that calls an API server. That API server is running on a $5/mo VM.
My offer still stands if you'd like a tour of a datacenter and see the sausage being made at scale. I'll throw in lunch and answer all your scalability questions if you like. But this thread is growing quite long and veering off topic.
You can use different TCP congestion control algorithms, not just cubic. BBR2 has no issues with high RTT even with packet loss and is fair to other TCP streams.
It serves 25Mbps stream in real time to users in Japan and the US from a data-centre in Europe with no issues.
24 GB of RAM means a lot of ability to cache data in RAM, which the OS does already by default. It of course depends on the type of content you have but generally traffic follows a power law, so most content can be served from RAM directly. The write side I'm a bit more worried about, as e.g. SQLite issues a sync request on each transaction (not sure about the other SQL implementations, should be similar there tho), and those might require seeking.
The article explains that they have database and API usage. You can't run a high-throughput database on spinning disks unless you disregard data integrity.
It's not just a static fileserver, despite some of the comparisons in this thread.
> You can't run a high-throughput database on spinning disks unless you disregard data integrity
Of course you can. That's the way it was and still is done. I'd say one can't run a database with any data integrity unless there are disks spinning somewhere very near.
I'd take another box for like $40 there just for the replica, which would sit mostly idle anyways.
But piling on CDNs, clouds and variuos other opex and indeterminate risks instead of some thinking out of this little cloud shoebox is just baffling.
Spinning disks lose data integrity? You will be surprised where the cloud servers store your backups then. They are doing 80TB/month, you don't need 1GB/s nvme for that(assuming everything is uncached).
How would you define actually capable? I can find servers with recent Xeon processors, good amounts of RAM and NVMe SSD with a gig uplink for around the 100 dollar mark.
> A capable dedicated server with 2 TB of disk and 1 Gbps unlimited bandwidth will run about $30 in a major European metro, maybe double that for the US.
Not even close to comparable. I think you're ignoring all of the functions they're paying for. They're not just hosting a few files. Also, your "worst case" is literally the most optimistic best case for a standalone single server, which completely disregards any redundancy and assumes that the $30/month server is truly unlimited/unmetered in every way. That's not a good assumption.
Cloudflare is a global CDN that will be fast for everyone regardless of location and will soak up bursts of traffic with ease. It's also fast in a location-independent way, which won't be true for a single server in a single datacenter somewhere.
Finally, the amount of effort it takes to do this with Cloudflare is trivial. The amount of effort it would take to maintain and optimize a standalone solution is not negligible.
Cloudflare seems like a very good deal to me, unless you value your time at $0 and you have access to these truly unlimited, high-performance $30/month servers.
> But they could deliver potentially ~300TB with a 1gbps unmetered link. Not that hard to come by, could even get to 3PB for $300/mo.
Cloudflare Pro is $20/month per domain.
Trying to run everything through a single server in a single datacenter just doesn't compare for globally-accessed websites like this, even with a 1Gbps unmetered link.
I must be missing something, are you able to elaborate on how CentralizedPro Flare for $20 solves the OPs problems?
I've accessed plenty of sites physically located in the USA from various EU countries, not to mention AUS and I didn't notice much difference as long as they had a good interconnect.
Maybe not the best for YouTube, but there's only a few of those.
Don't get me wrong, I see the appeal and fell for CF early on but not a fan anymore since they've grown into such a behemoth.
> Don't get me wrong, I see the appeal and fell for CF early on but not a fan anymore since they've grown into such a behemoth.
> Absolutely power corrupts absolutely.
This seems to capture the gist of the argument clearly. I hadn't realized cloudflare had grown large enough to fall into the "too big to not be evil" bucket already.
Good network connectivity makes a huge difference.
Back in the day when Joyent ran their public cloud you could beat Cloudflares free plan from Joyents Japan datacenter by a tiny amount in most cases.
Anyway, those days are gone and Cloudflare provides great value and probably the best quality network available. So if you have the problem they solve then you would be a fool to not put some serious thought into considering them.
For the average person, why make it unnecessarily hard on yourself?
If it’s not your core competency and unless you possess the vast breadth and depth of skills to dig yourself out if something goes wrong, it seems like a distraction at best and a fatal mistake at worst, with the end result of saving 1-2 engineer hours worth of money per month.
For some self-hosting is a no-brainer, but I suspect that community is much smaller than many here would expect.
It seems disingenuous to count engineer hours at $200USD/hour for charitable donation-run projects. Is it charitable to funnel your donor money to CF? I'm sure CF is grateful for the donation..
Fact: Things break most often because of humans doing things - changes, like deployments and config modifications.
Set things up right to begin with, and in my experience you can leave them running for a long time without intervention.
I guess the question is what do you consider a long time?
RedHat usually break setups every 3-4 years which I personally consider way to frequent.
If I configure a server with automatic updates then I would like it to run with very little maintenance for at least a decade and a long time would be two plus decades.
> Is it charitable to funnel your donor money to CF? I'm sure CF is grateful for the donation..
Is the job getting done for the donors? I bet they don’t care about $300 if it means the website is highly available and the maintainer isn’t burned out from giving away $200/hr of opportunity cost all the time.
> Fact: Things break most often because of humans doing things - changes, like deployments and config modifications.
Totally agree, and sometimes success in your project forces your hand as you are pressed to add functionality or need to scale. If you can guarantee that you’re doing this work once, ignoring hardware failure or scaling, the scales may very well tip toward self-managed.
For a vast majority of projects, I think it just plainly makes sense to go this route, hence the success of these centralized hosts. It is the pragmatic option.
PS. For what it’s worth, I’m sorry you’re being downvoted simply for having an viewpoint that others disagree with.
While you are right CF provides a lot more, it really must be noted that Hetzner SB servers start at 28 EUR and they _do_ come with unlimited bandwidth and 2 x 3TB disks. For 30 EUR you can get a E3-1245 with 2x4TB disk. Just noting.
Yeh, but that Hetzner server is only in one location so doesn’t reduce the RTT between your visitor’s and your server (particularly for visitors who are far away)
> Wholesale IP transit prices are anywhere from 10 cents to a dollar per Mbps depending on volume.
10 cents is far from the lower end for high quality IP transit.
Cloudflare doesn't pay anywhere near $14.70/mo for 80 TB/mo. Even I spend much less than that on 80 TB in a month. On top of that, peering makes it even cheaper for Cloudflare, as you said. Cloudflare is very likely using peering for much more than 40 % of the traffic now, so it's even cheaper for them.
The worst peering region for Cloudflare was North America in 2016 with 40 % peering according to Cloudflare blog posts.
Linode offers a 50 dCPU with 10Gbps out for $960. Or if you just need the bandwidth and don't need the CPU power, you can combine three $30 servers with 4Gbps each, and put them behind a $10 load balancer, for a total of 12Gbps out at $100/mo.
I don't know if cloudflare image will be cheaper than bunnycdn. We migrated from pro to enterprise cloudflare because the imaging api costs basically put us at the price where upgrading gave us a lot of added benefits and cheaper additional costs during our peak seasons.
This is undoubtedly better than most chuck-it-on-AWS types would achieve, but it's still quite a bit more expensive than could achieved with marginally more effort. They are already on Digital Ocean - if they used their managed database offering, they could slash their Firestore bill and get rid of their Argo bill, bringing the cost sub $200 (but - massively reduced returns on investment of effort).
If you are worried about getting your blog post to the top of Reddit or Hacker News (I've never been there myself); you can have a very modest web server or even a pay per request serverless sort of thing and pay $20 real quick to Cloudflare if you happen to get popular. It's the Bart Simpson method of highly scalability[0], for static content you can have global datacenter coverage in a couple minutes or so if you use them for DNS to start with. It even works if the origin server goes down.
> you can have a very modest web server or even a pay per request serverless sort of thing and pay $20 real quick to Cloudflare if you happen to get popular.
I get the impression that a lot of the critics in this thread don't really understand Cloudflare, how cheap it is, or even the concept of CDNs in general.
$20/month for Cloudflare Pro is a steal for what you get. Spinning up a dedicated server in a single datacenter somewhere isn't going to give the same results, especially if your users are geographically distributed like in this case.
> last I checked Cloudflare was free too for caching static HTML assets?
If not free then very cheap, as I understood TFA: Wasn't that why they have two separate domains and serve static assets from one of them, to be able to use the cheapest Cloudflare tier for that domain = those assets?
> If you're going to centralize in Cloudflare you might as well just skip the hosting the website bit entirely and make a business account on Facebook as your host.
These responses are getting bizarre. Facebook pages have nothing to do with web hosting or Cloudflare.
Also, hosting on a single server in a single datacenter is, literally, the definition of centralized. Cloudflare distributes the content to a huge number of edge nodes which are spread around the world. How did we end up in this situation where people are calling the distributed solution centralized and suggesting a centralized solution as the alternative?
Conflating cloudflare's distributed architecture with distributed control is just silly. It is extremely centralized control and the CEO of Cloudflare has already terminated accounts of a business he had a personal distaste for on whim.
"Non-commercial" might be a better way to understand this point of view. Instead of prioritizing profit (the reason for people using cloudflare, it's cheap and good) the idea is to minimize the damage done by large centralizing forces on the internet. So, in the above comment I suggest Facebook as an equal option because it is analogous to using Cloudflare. The intent was to get you to think like a human person and not a business owner or employee on the clock. It's short term gain for long term damage to the internet.
But then again, if Cloudflare terminates your account, the website is still up; it's just going to be slower, and you're going to pay more to serve the same number of users. There's no lock-in there that I can see.
>It is extremely centralized control and the CEO of Cloudflare has already terminated accounts of a business he had a personal distaste for on whim.
As opposed to the CEO of Amazon/Rackspace/your favorite host here who doesn't have the ability to terminate your account? What are you saying? Or are there other non-profit web hosts and CDNs that I missed?
If you have a personal axe to grind against the CEO of Cloudflare, just say that.
Superkuh's point is that depending on any single service to protect/host/route your content is setting up oneself up to be Parler'd or 8chan'd. It doesn't matter how good the technology. If you don't any have any control over it, you're one copyright strike or bad mood from a CEO away from being deplatformed.
There's.no need to grind an axe to observe how past actions have set the course for the future, perhaps for the worse.
>If you don't any have any control over it, you're one copyright strike or bad mood from a CEO away from being deplatformed.
Again, _as opposed to what_? Are you saying polyhaven should go multi-cloud and spend triple what they need? You aren't actually presenting any real solutions, you are just complaining about the cloudflare ceo.
I'm a guy who wants to host a service. You are telling me Cloudflare bad. What is the alternative, and how do I ensure the CEO of that service doesn't null route me?
>Again, _as opposed to what_? Are you saying polyhaven should go multi-cloud and spend triple what they need? You aren't actually presenting any real solutions, you are just complaining about the cloudflare ceo.
I haven't complained or suggested a damn thing in my previous comment. All I've provided is an extended summary of Superkuh's comments and supported those claims with evidence of past events. Exercising due diligence shouldn't be regarded as a controversial position.
>I'm a guy who wants to host a service. You are telling me Cloudflare bad.
I'm telling you that depending on a single service, whether that service is Cloudflare, Youtube, AWS, etc., is a bad idea. If you don't have a credible alternative provider you can migrate to at a moment's notice, you're website and content is at risk.
>What is the alternative, and how do I ensure the CEO of that service doesn't null route me?
>You can't ensure the CEO of a company doesn't null route you.
So the alternatives aren't better than Cloudflare, Superkuh just had an axe to grind specifically with Cloudflare. And there is no an alternative solution that wrests control from a CEO having a bad day.
At the end of the day, he's still at the whims of the Cloudflare/Bunny/Akamai and if he wants to be fully in control he must spend millions building his own CDN.
It's not as if Cloudflare has major switching costs either.
Any alternative is better than everyone using Cloudflare. This would be true even if Cloudflare hadn't already demonstrated their untrustworthiness. It's true for LetsEncrypt even if LE is awesome and really improved the internet and there are other options. If people only use one thing in practice it is a locus of control.
"Why are you using this thing that solves your problems and does it cheaper than you making your own solution to your problems? You're leading to centralization of the internet!" Good luck changing human nature. Writing these comments here is helping, I'm sure of it. /s
To be fair, Parler and 8chan did deserve to get Parler'd and 8chan'd respectively. To also be fair, even if you are not Parler or 8chan, it is a valid concern.
Dealing with fraud and abuse has _long_ been a centralizing force on the internet. Think about email which is the way it is largely because of spam. We need to structurally stop spam not just shame people from embracing solutions that make their life easier.
It's interesting - I see Cloudflare a rising force against network attacks more than its CDN properties. It will become the defacto centralized network. Not sure if I like that philosophically, but practically and as a engineer, most enterprises will choose to get their DDoS, WAF, Zero Trust products. Networks are the most vulnerable part of the internet infrastructure. Cyber warfare isn't just a talking point on a 60-minutes episode, it is a real threat to large businesses and they'll opt for centralized control over decentralized risk. They'll keep Cloudflare CEO in check, if not the shareholders/BoD.
If cloudflare did that, then you do a simple DNS change and host your content somewhere else.
You are ALWAYS going to be contracting with a third party to provide your connection to the internet... why is trusting cloudflare not to block you riskier than trusting your ISP or the data center that has your server?
> If cloudflare did that, then you do a simple DNS change and host your content somewhere else.
You missed the point. It’s an illustration of how much of the global internet cloudflare intermediates and can eavesdrop, filter. Guess how many tor users you fucked by putting cloudflare between you and them. Vpn users, etc.
> I get the impression that a lot of the critics in this thread don't really understand Cloudflare, how cheap it is, or even the concept of CDNs in general.
You’re talking past the point here. It doesn’t matter how cheap if you’re fundamentally opposed to enabling cloud flare to reach its meat hooks further into the Internet.
This is no different from arguments about embedding google analytics or “just paying for windows” instead of using Linux.
I don't think the problem is a specific CDN. Is that everyone ends up using the same CDN, so when Cloudflare has problems, it affects everyone. Same with AWS, large swaths of the internet goes down if AWS does, which sounds great for AWS in marketing material, but less great for the general usability of the web.
> What point? Nobody said anything about "cloud flare to reach its meat hooks" in the article or the above thread except you?
The OP mention "cloud flare to reach its meat hooks" in the thread attacking those who haven't jumped into Cloud flare's bandwagon by putting up a strawman on how that's only due to ignorance.
OP clarified that misrepresentation by pointing out the risk of allowing a single company to control the CDN market specifically and serving web content in general.
I figure helping Cloudflare get it's meathooks in the internet offsets all the really big companies that have their meathooks in, or at any rate doesn't worsen the real problem.
> (...) helping Cloudflare get it's meathooks in the internet offsets all the really big companies (...)
What? No. Cloudflare reported a revenue of half a billion dollars, and already controls about half the CDN market.
Let's put things in perspective: in comparison with Cloudflare's business, AWS is a minor player and an underdog with less than half of Cloudflare's market share.
Cloudflare is by no means a small company or an upstart or a David among Goliaths. Cloudflare is in fact and by far the Goliath of the CDN world.
Just to understand you better: are you only talking about CDN activities from AWS here? Because I see websites talking about a quarterly revenue of tens of billions of dollars for AWS.
> Spinning up a dedicated server in a single datacenter somewhere isn't going to give the same results, especially if your users are geographically distributed like in this case.
Maybe not, but is the target audience that shills out $20/month really the type of people who have optimized their site to such an extent that shaving 50ms off the request latency by having your edge cache geolocated is really the type of thing that makes the difference? most of that group could probably do a lot of other optimizations that probably count for more.
Anything over 100ms [1] is perceived as not-instant by a user. If you wait 2RTTs with 50ms per round trip, then you've already exceeded this threshold.
> Maybe not, but is the target audience that shills out $20/month really the type of people who have optimized their site to such an extent that shaving 50ms off the request latency by having your edge cache geolocated is really the type of thing that makes the difference?
The common mistake is to pick a server geographically close to yourself, only access it from low-latency connections, and then assume that everyone in the world is seeing the same thing.
Or to only visit your own site with everything already in the browser cache. If you're not seeing cold start loads, you're not seeing what every new visitor to your website is seeing.
Consider the Photopea.com website. The author explained in a comment below that he spends $60/month to host the site without a CDN. Several of us loaded the site and it took 2.5 - 5.0 seconds to load. He could sign up for a cheap Cloudflare account, reduce the size of his server (due to caching), and the load times for everyone would drop by a significant amount.
If you're hosting simple, static content like a blog for an audience that doesn't care about load times, then of course nothing matters. But for modern, content-rich websites (photos especially) it can actually be a substantial improvement to add a CDN even if you have a single fast server. You may not see it, but visitors from distant locations definitely will see a difference.
> Consider the Photopea.com website. The author explained in a comment below that he spends $60/month to host the site without a CDN. Several of us loaded the site and it took 2.5 - 5.0 seconds to load
This is a conclusion i am extremely doubtful of.
Ping time new york <-> tokoyo is about 180ms. So lets say as a worse case the ping time to the single server is 180ms (its probably not that bad), and lets say the latency to cloudflare edge server is 20ms.
So using cloudflare on a cache hit (best case), you save something like 160ms per roundtrip.
Which don't get me wrong is a huge savings and worth it (although this scenario is hugely exagerated).
However say you want to load the page in under 1 second instead of 5 seconds. In this scenario you would basically have to have 25 round trips to bring the site from 5 seconds to 1 second just on rtt savings of having a geo located edge server. If your site needs 25 round trips to load, something else is clearly wrong. (And this is an exagerated case, the real world the benefit would probably be much less)
To be clear i'm not saying that geo located edge caches are bad or useless. They are clearly very beneficial thing. Its just not the be all and end all of web performance, and most people in the demographic we are talking about probably have much more important things to optimize (otoh using cloudflare is cheap and doesnt require a lot of skill, so it is a very low hanging fruit)
> So using cloudflare on a cache hit (best case), you save something like 160ms per roundtrip.
Per packet. If you're doing a cold start, you'll pay that latency cost several times over: first the TCP handshake (3 roundtrips), and then the TLS handshake (2 more roundtrips). That's 800ms of extra latency before you even get to sending the first HTTPx request.
> In this scenario you would basically have to have 25 round trips to bring the site from 5 seconds to 1 second
You’re forgetting that the TCP protocol itself is bidirectional. High latency connections will have lower throughout, especially at the beginning of transmission, because the data isn’t literally just streaming in one direction.
With some browser security policy that blocks part of the download, the homepage www.photopea.com clocks in at 3.80MB (so it should be much higher in practice). In this case, it's mostly JS, so designing your website properly (without JS, especially if the app itself is wasm not JS) would have much better savings than moving to CloudFlare CDN.
A CDN is more times than not the wrong answer to a real problem. Shave off your website and consider content-addressed protocols for big static asset download (like the textures from the article). If you run your website as a lightweight glorified Bittorrent index you'll notice your costs are suddenly a lot less, and you can still have a smaller "Download over the web" button as fallback.
Looks like with some dead basic optimisations (free versions of WP Fastest Cache and Autoptimise), my Wordpress site can handle around 1500 requests per second on a $5 DigitalOcean VPS before it starts to slow down.
On the old site, running on a shared host with less optimisations it would crap out at less than 10!
Seems like I don't need to worry about this after all.
As a designer, it's really easy for me to put something on Cloudflare... doing what HN does would take at least more than a few hours (and the knowledge) to set up properly.
I've had my personal $5/mo Digital Ocean VPS Wordpress site hit the top of HN before. I kept an eye on htop, but it handled it just fine. Exciting times.
As long as you have a decent backend it's no problem. If you're using some python/ruby/JS thing you're probably going to need some kind of reverse proxy to keep up with top of HN. If you're using a Haskell/Rust/C++/etc. compiled backend you're probably fine.
$20 a month for a Static site? that feels like a first world problem. I feel like everything is over engineered, unless you need subsecond delivery of your assets which are very huge, cdn doesn’t even makes sense. For a blog whats the point, your site is not going to receive heavy traffic every hour from global locations everyday. If you are concerned about returning users cache your assets on their machine. If your site is video heavy I can understand. I run a Django site for a zoo on a $10 instance, I have 2 others running on same instance. Never had issue with page speed even on 2G or under load my instance didn’t suffer. My storage on s3 is proxied via Nginx and cached on user device and in Nginx, I never even had a downtime due to traffic. I use fail2ban for basic protection. If it comes to DDOS im behind cloudflare free tier. $20 per month for a blog? Lol.
You missed the point, it's "pay $20 real quick to Cloudflare if you happen to get popular". There is a generous free tier, and for years I have paid nothing to Cloudflare, but I serve 2GB total every month to visitors, YMMV.
No I didn’t miss the point, $20 is weeks worth of meal in majority of countries. People from those countries run successful blogs without paying a penny to cloudlfare. I serve much more than 2GB per month without all that on a dynamic site. Paying cloudlfare for that is like putting a tarp over a dumpster fire to quickly hide it. I would rather think why my static site fails like shit when it doesn’t even need server side processing and correct it. I’m not saying cloudflare/CDN is useless, it shines when you are serving huge assets every hour to lot of people globally, or want to secure from bot traffic, or other useful features it provides. Heck you could even host a static site on s3 or netlify for free and answer all the traffic in the world. Remember Google returned subsecond results much before cloudflare or global CDNs were in place.
My site never failed thats the thing without paying $20. And many developers can actually do it too. If you can’t serve decent traffic for a static site, I would rather fix the leaking tap once and for all than wasting money on a water tanker every time I am out of water.
What does the $20 buy vs free plan? During a spike I was able to handle 30k pageviews per hour with Cloudflare free plan + $40 vps. Pretty much all pageviews were cached by Cloudflare and didn't hit my server. How does the $20 plan help?
Makes sense, thats what I mean too. There is a use case for CDNs which do no make sense to pay for if its a static site. Which can be done much cheaper and for free most of the time. Unless you are running a google scale static site.
One variable you miss is the price of your own time.
To pay USD $20 and unload a problem to some 3rd party service takes under 30min, while running a scalable, high performance web-server on low budget is hard and time consuming - even impossible for devs with no sufficient devops/admin skills, which is sadly a majority.
Back in the day, as a student with no money and a time to spare I used to do it all myself too, guerrilla style. Nowadays tinkering with my private servers would mean taking time from my real job, and that just doesn't make sense financially, my time is way more valuable and scarce now.
That's why we have the economy of specialists in the first place. One can do everything in DIY fashion, but in our civilization it's usually cheaper to hire a plumber's or carpenter's services than to invest in learning the skills, buying the tools and then doing it, if it's not your primary source of income. It's no different with CDN services.
I never spent any other time other than the initial deployment. Like I said if your tap is leaking find a competent plumber or if you have the skill fix the leak, don’t pay for water tanker every time you are out of water. Im not sure why you need high performance, scalable multisharded and other big cloud tech to run a static site. Im not against using cloudlfare, there is a usecase for it. I cant stress more about why cloudflare is such an overkill for static sites. A cheap VPS can go a long way before you have to start worrying about not being able to serve traffic for a static site, its not a blocking call. We would be wasting unnecessary resources, if we don’t fix the actual problem.
Interpreting ‘weeks’ as 2 weeks, the GDP necessary to call that weeks worth of meals is $520 dollars. There’s only like 6 countries with a GDP that low.
If you are only talking about food, it may stretch a bit further, but you’re still far away from the majority of countries.
I had a blog post on the frontpage of hn for more tht 20 hours and my cheap Vps for 3€ a month could handle it perfectly since my website is just a statically generated website with hugo.
I think this is the sort of thing you want to ask their sales team.
I thought about doing this a while ago, after I left my job with an ISP. I would just have bought transit from them (and maybe made them regret their 10Gbps for $1000/month plan ;)
Yes, you could. The last time someone I know spoke to them, the standard enterprise plans started at $5000/mo and got you some very nice freebies. Cloudflare's also announced managed WebRTC APIs (in closed beta) which look promising for creating meeting rooms ala Zoom.us. I imagine, these are already available to tech-shops on enterprise plans.
Though, mux.com is decent too, from what I've heard; for certain workloads, LiveStream and Vimeo might be cheaper.
There's Peer5, PeerTube, and BitTorrent in the P2P space (among many such solutions).
I have never used mux.com (I have used Vimeo, AWS Elemental, and Cloudflare Streams in the past), but they are fairly well-known as the founders created the very popular video.js library. One key thing that differentiates mux.com from others is they're multi-cdn unlike AWS Elemental / Cloudflare Streams, say.
I want to pile up: Why is it that bandwidth today is so expensive for things like video? Is there some kind of a good-ol-boys network of companies that are preventing from making bandwidth so cheap its not worth metering? What does the future hold?
I am asking this because YouTube seems to have a massive monopoly both on technology as well as content/audience/network-effects. Even if you can get all the people of Youtube to shift over, you still need to solve the problem of bandwidth and the costs associated with that.
Bandwidth is only expensive through cloud providers, to try and squeeze you for it. If you go bare metal, dedicated, or just rack your own servers you can peer with a lot of providers and get essentially free bandwidth.
We have an incredibly similar stack for attic.city, aside from the application layer. We lean heavily on CF (edge caching, Argo and page rules). But we’ve recently changed our image assets from S3 to CF R2. Anyone else put that side by side with Bunny?
All of the Affinity products are top notch. I wanted a simple vector tool and ended up liking Affinity Designer so much I picked up a course to learn it more in-depth. The best part is their pricing model doesn't suck, so I'm happy to pay for their wares.
In November 2020, Gimp 2.10.14 didn't work well or at all on Big Sur. The issues got workarounds and bugfixes, but there are still complaints about performance. https://gitlab.gnome.org/GNOME/gimp/-/issues/5917
> I was running www.Photopea.com with 10M page views a month for $40 a year.
> Now, I upgraded to $60 a month. I never used any CDN.
Why not go back to the $40/month plan and spend $20/month on Cloudflare Pro?
I was able to load photopea.com in about 5000ms, uncached. That's not terrible, but it was slow enough that I wondered for a few seconds if the site was broken. A CDN would cut that load time massively, and it wouldn't even be a net cost increase because you could downsize your server.
I mean really cold cache from the above user is at 5000ms that's pretty horrible. When I tried I got 2800ms. Take a look around it seems to be mostly from fetching static content which is a classic problem CDNs solve.
People have been citing $30/month. Even if you value your time at min wage, its probably still cheaper than setting up your own varnish (and that's assuming you don't care about improving the last little bit of latency with geo located edge servers)
One doesn't even need pro. In our use, Cloudflare's pages.dev and workers.dev serves single-digit TB traffic with triple-digit million hits at $30/mo. We pay $0/mo for origin servers since there aren't any.
I appreciate you are replying to someone, but i feel like this doesn't quite make sense. You're running a website. Why would your web server be decentralized? HTTP is a client/server protocol after all.
Because caching is part of the HTTP spec. If content doesn't change on every request, you cache it with a timeout. If users are looking at your site from around the world, you want the cache to exist as close to them as possible. This is the job of the CDN. In Cloudflare's case, they sit between your web server and the user and can be that HTTP cache. If your site is popular, you might still have multiple versions of it across regions.
Cloudfront's bandwidth pricing is outrageously high at $0.08/GB (up to $0.12/GB for some regions). Meanwhile, Cloudflare doesn't even charge for bandwidth.
Can we not call companies silly names. It seems childish.
To answer the actual question - its the obvious answer. They make a product that works well and is relatively cheap. Is it without drawbacks? obviously not, nothing is. However, for a significant segment of the market the value proposition makes sense.
Because the linked article is about Cloudflare? It's like asking why a comment thread on an article talking about apples is discussing apples. Or are you asking why so many people are _pro_ Cloudflare?
Because many competitors have taken an "Enterprise focused" approach. The choice of CDNs for more than media hosting and without $$$ commitment is quite small.
Yeah, I opened web dev tools in firefox and looked at the request times. Seems strange not to use a CDN to improve the load time with a CDN, particularly with users in a different continent
Just wanted to say that I’ve been a Photoshop user since 4.0, but in the last year I’ve found myself loading photopea more than loading photoshop. Fantastic product. My main reason is purely the load speed - I can get a basic file up and running far faster. Great work on it - I’m a big fan!
I would love to use a CDN. But I am afraid of things I do not fully understand, and I am afraid of making things too complex.
If I update a single file, how long it takes until nobody in the world can access the old version anymore? Does it take seconds / minutes / hours? Also, some files should not be cached at all (like PHP requests).
I am afraid it would take me days or weeks to learn everything and to cofigure the CDN properly, and I am risking being offline for a part of the world during that time. Also, if there is a problem at the CDN, my website would be broken, too. If someone could help me, you can write me at support@photopea.com
Yep was also going to mention this. Obviously, Argo still helps with latency and some other things probably, but if they're paying the additional $160 just for tiered caching, they should be able to switch off Argo.
I often wonder why so many companies seem to spend tens of thousands of dollars per month on AWS services for their hosting. If most web apps nowadays are just CRUD apps, then why would you need to spend more than €300/month on hosting? All you'd need is data and the website itself, right?
I'm currently clicking through various European hosting services and they seem to offer great dedicated servers at good prices. I cannot wrap my head around these ridiculous costs I keep hearing about. A guy I know was telling me how they were spending tens of thousands of dollars per month on AWS at his company.
Is it because everyone is writing their stuff on node.js, putting 500kb of JS in every web page they serve, putting Docker everywhere when a chroot would suffice, microservices, Kubernetes, or hell even writing SAPs when we don't need them?
I don't think that most workloads are webapps and many webapps are not just CRUD. HN is not the web either, in case HN formed such a viewpoint for you.
Until you're spending the salary of a large fraction of your engineers on hosting costs, there are much bigger things to worry about than hosting costs. AWS is user friendly and a lot of engineers are familiar with it, so developer productivity is strongly in its favor.
Also, you know what you're getting security-wise with AWS, and no one will blame you when your website / service goes down because AWS is down.
Wasn't that like IBM's business motto at some point? No one ever got fired for going with IBM.
Then IBM definitely lost a lot of business to cloud modernization. Maybe the next logical step is the cheaper CloudFlare, which another comment mentioned is actually pretty profitable and then I'm sure the next cheaper incumbent will come in with just slightly less trust and reliability.
> Is it because everyone is writing their stuff on node.js, putting 500kb of JS in every web page they serve, putting Docker everywhere when a chroot would suffice, microservices, Kubernetes, or hell even writing SAPs when we don't need them?
My response may come off as rude, but that's not the intention. From the above quote you've vastly over simplified all but the most simplistic environments. Someone could run all of the above for well under 10k month - those are not the reasons why costs are high
> putting 500kb of JS in every web page they serve
that's not much and CDNs serve that without issue or significant cost
> putting Docker everywhere when a chroot would suffice
Docker does not have much overhead over chroot with a large drop in security/isolation
> microservices
there are good and bad ways to do this - does not need to cost much. saying "microservices" is so broad to have no meaning in this context
> Kubernetes
think about why someone might run kube. Again, not that expensive unless you're really small where having master nodes would have a big impact on costs
> or hell even writing SAPs when we don't need them?
Do you mean SAP? SAP is the largest non-American software company by revenue. I don't think anyone likes working with SAP. You think people use it for without reason? There are reasons. Think about what those might be
But those are just details - when building anything of a decent size, nothing is a simple CRUD. There are always exceptions, limitation, biz logic, migration issues, schema issues. I don't care if you use Postgres, Mongo, Kafka or $SOMETHING_COOL
Then there's data retention. It's very very easy to keep PB of data in s3 or other data stores for biz or compliance needs
Then AWS gives IAM, which is very helpful in teams > 5
>If most web apps nowadays are just CRUD apps, then why would you need to spend more than €300/month on hosting? All you'd need is data and the website itself, right?
Because most web apps aren't simply CRUD apps. It's a meme said by armchair engineers who believe they could build twitter in weekend.
Here you confuse 'most apps' with Twitter and Facebook. Most apps are crud apps; there are some apps that are not. Those apps are the most used, but they are not most apps by app count.
Only people here on hn seem to think that everyone is slinging k8s and 1000 layers of microservices to build the most complex things on earth; the rest is earning their paycheck by building some forms in php.
Sadly many here are overengineering crud apps and then somehow making them out to be something more than crud apps because somewhere in the future they might be (probably not); as in, you can build 'a twitter' in 1 weekend and it will even probably handle good volume of users ( more than Twitter did at startup; it was often down or very slow) etc if you just take postgres with php on a few $/mo server. It is a crud app at that time (the flow for these user authored posts is built into every trivial and complex framework these days). Also it will most likely be bankrupt in a few months as that is what happens to startups; I rather spend money on building the business first and then scaling the tech; which is exactly what Twitter did. On hn it seems a lot of people work backward in that regard but that probably has also something to do with being a techie and VC interest in scalable tech.
> If most web apps nowadays are just CRUD apps, then why would you need to spend more than €300/month on hosting? All you'd need is data and the website itself, right?
If you're building a basic CRUD app and you have low traffic numbers, you don't need to spend tens of thousands of dollars on AWS.
But it's not as simple as picking a dedicated server, setting it up, and hoping for the best. At minimum you need periodic backups, testing and staging environments, solutions for rate-limiting your API, and so on.
And the "everything is just a CRUD app" meme is just that: a meme. Usually engineers who repeat this have only ever worked on simple CRUD apps, so they don't understand what it's like to work on anything different.
> I'm currently clicking through various European hosting services and they seem to offer great dedicated servers at good prices. I cannot wrap my head around these ridiculous costs I keep hearing about.
If you're working on the types of problems that are a good fit for setting up a single dedicated server on a random hosting provider, you're not working on the same types of problems that necessitate $10K AWS bills.
> I am genuinely confused
I've worked on projects with $10K+ monthly AWS bills. It wasn't node.js or Docker or Kubernetes. It was the sheer volume of connections we had to maintain and data we had to process.
But even if we could reduce our $10K/month AWS bill to $1000/month with a lot of engineering effort and manual management of our own servers, what would we gain? If I had to hire a single additional devops person or engineer to help manage this custom solution, the entire savings would be wiped out. And then some!
Wasting AWS resources isn't smart, but trying to DIY your solution to everything rarely makes financial sense when you look at how much engineering effort it takes and how much engineers cost. If I can spend $10K/month to avoid hiring 1 additional engineer, it's a financial win. I do not care if someone thinks they can do the same thing in $1K/month with endless amounts of custom setup and maintenance. I don't want it.
It also reduces the number of moving pieces that we have to manage manually, which reduces the on-call burden, which keeps people happier.
I really don't understand the anti-cloud hate on HN. It doesn't mirror the real engineering world at all.
> Is it because everyone is writing their stuff on node.js, putting 500kb of JS in every web page they serve, putting Docker everywhere when a chroot would suffice
Complexity inflates HN readers CVs and keeps them employed.
It's annoying how you have to work around Cloudflare's weird Argo pricing like this. Paying per GB for already-cached data that takes the same route as non-Argo traffic makes no sense.
I believe it's also against Cloudflare's TOS to use it as an asset-hosting platform.
Self shill: I'm working on https://non.io, a reddit-meets-patreon platform that supports up to 8k video. Planning on launching in the next couple of months (just about got the stripe integration working for auto-payouts). One of my main reasons for making it was I was annoyed at YouTube lately. Would love feedback as I'm aiming to be a competitor.
You can sign in with
Username: hn@hn.com
Password: hackernews
-
The site is currently in demo mode, and the db will be wiped before launch - feel free to sign in and poke around. Also it's hosted in Australia currently, so site may be a little slow for those in the US.
On a similar note - does anyone have a recommendation for a budget cdn for video? I don’t necessarily need encoding capabilities (though it’s a plus), but rather high storage/bandwidth options.
BunnyCDN (mentioned in the blog post) has this functionality. It is mentioned in the blog post and they're using it for image processing, but it works for videos too.
I use it myself, but just as a normal static file CDN, but they have dedicated tabs in their UI for video stuff. Their bandwidth pricing is also very reasonable ($5/TB with their "bulk" option and $10/TB for standard)
> But, we can get around that because of a partnership between Backblaze and Cloudflare they call the Bandwidth Alliance.
This reads like a paid marketing post for Cloudflare.
It's astonishing how many times the author conflates browser cache-able assets with cached assets on a CDN. When a browser downloads a static asset if the web server is configured properly those files will be cached and there won't be a need to re-download them for a very long time.
There is of course the issue with modern web frameworks like React generating a single massive js/css file that bundles everything all over again in a unique file busting all previous cached versions across all users' browsers just because a comma was added to a sentence.
Keep your js/css files small, serve them from your own web server and set a reasonable expire header, no need to pay Cloudflare $40/mo to continue gatekeeping the internet.
They provide 3D asset downloads, most folks will only be downloading an asset a single time. Therefore, browser side caching doesn't really help, they need to cache the files on a CDN.
I tried looking, and I find it very irritating that in that whole web page, there is not one single link in the menu/footer/sidebar to polyhaven.com home page so I can click and discover what it actually is. Not one.
This occurs on many company blogs as well operating under a subdomain like blog.whatever.com
To be clear, this is a very tangential and irrelevant nitpick and I understand it does not contribute to the content of the website itself.
To the polyhaven.com home page? I don't think it did. They are all sub pages which adds another navigation step to see the root page, which is what I find irritating.
Not having a link forces people to navigate to the page on their own. For a lot of people that takes the form of a Google search. Lots of people googling specifically for your brand increases your search rankings.
Yes! - the same goes with support sites on different domains (support.whatever.com or whatever.zendesk.com etc) that appear in google results and don't have a link to the company.
I think this is a result of app stores enforcing links to external digital products thing. That's why all these support pages which need to be linked from app, don't have a single link to main site.
This website is one of the fastest web pages I’ve ever used. Although it’s simple, it immediately loads pages and pages of images. Like in a flash. I’m on mobile web and it’s such a snappy experience.
If Poly Haven is reading this: you nearly have an amazing FCP on the models browser but the external normalize.css file is killing you.[0] Self-hosting would drastically improve your 75p paint time.
I'd also encourage you load your fonts late via JS. Your main JS package competes right now with WOFF files from Google Fonts for priority and there's no need for that.
> I'd also encourage you load your fonts late via JS
can't tell if joke, so:
there are already enough sites that display content for a split second and then some script runs (or fails?) and there is either nothing on screen or an error message.
425 comments
[ 120 ms ] story [ 6817 ms ] threadThey have sweet deals with the cloud providers?
Also see their post about it https://blog.cloudflare.com/aws-egregious-egress/
https://www.cloudflare.com/bandwidth-alliance/
The more relevant number for this comparison would be our gross margin — much we have to spend on things like bandwidth and servers to service our customers divided by the revenue those customers generate — which in Q3 2021 (our last reported quarter) was 78%. Which is… pretty good for a services business like ours.
I don't know the specifics of this customer, but I don't see anything that leads me to believe our margins would be out of the ordinary with them. There are a lot of scale economics in our business. In other words, we can definitely do things for less money because we service a lot of customers than any one customer could hope to do it on their own.
My two cents from a regular guy to a billionaire, :).
Noting they are operating at a slight loss, during a period where they want to drive growth, isn't "naysaying". The question is whether the current pricing is tied at all to the "operating at a slight loss". He replied to say it mostly wasn't.
Remember, for example, when Uber rides were really cheap?
A few years ago when I hosted what felt to me like a popular site, I was serving serving > 150K page views a month from a 1.5Mbps adsl uplink. With that said, back then you could gzip everything and there was no letsencrypt or CloudFlare walls across the board (didn't exist yet).
Good thing bandwidth is easier to come by these days.
HDRIs, high res textures & 3D models
'Please don't comment on whether someone read an article. "Did you even read the article? It mentions that" can be shortened to "The article mentions that."'
> Running a massively popular website and asset resource while being funded primarily by donations has always been a core challenge of Poly Haven.
My brain went: poly.. fill.io or something
Thank you, sorry, am embarrassed.
No, that's low by an order of magnitude. It is 16MB (16,000KB) per page view.
They are pushing about 245 Mbps out of Cloudflare (averaged over the month). Wholesale IP transit prices are anywhere from 10 cents to a dollar per Mbps depending on volume. Cloudflare dumps 40% of their traffic over peering, putting their price at $14.70/mo. Ignoring fixed capex of servers, Cloudflare is making about $25/mo on this customer.
Given the $11 Backblaze bill, I estimate about 2 TB of data.
A capable dedicated server with 2 TB of disk and 1 Gbps unlimited bandwidth will run about $30 in a major European metro, maybe double that for the US.
With a grand total of $370 vs. $60 worst case, they are spending 516% more to be "serverless."
Edit: Yes Cloudflare has more than one server. Double the price and put one in the US and you still come out ahead.
Edit 2: I'm not saying one way or the other is better. Just that the title is very clickbaity for a "put a credit card into a website" payoff.
This would be approximately equivalent in spec to what you could build for $2500 purchase cost if buying a 1U machine and colocating itself.
For 30 bucks a month you'll get something very old and weak.
Here is a 3.3 GHz Xeon, 24 GB of RAM, with the required disk and bandwidth for $33: https://oneprovider.com/order/item/dediconf/59
The bulk of the data transferring is static files because they're hosting large assets, but the rest of the article is about their API, database, etc.
A single server in a single datacenter isn't comparable to a global CDN. They made it clear in the article that they value global latency, and they're willing to pay more for it.
> Here is a 3.3 GHz Xeon, 24 GB of RAM, with the required disk and bandwidth for $33: https://oneprovider.com/order/item/dediconf/59
That has mechanical spinning hard disks and a CPU that was released literally a decade ago.
You're not going to replace Cloudflare, Firebase, their API server, and a global CDN with a single 10-year old machine serving files from a mechanical spinning hard disk, hosted by a company that almost nobody has heard of.
But fine, if you don't believe it I will happily extend an invitation to come see in person my racks of spinning rust and 10 year old servers in Los Angeles or Fremont that are running services that are used by millions of end users. My email is in my profile.
Which they ditched as soon as physically possible. The internet has changed a lot since then. That much should be obvious.
You can't reduce this article to "millions of end users" and then equate it with every other service. There's more to this article/service than you're suggesting, and there's more to a website than just users/month.
If you're really strict on this it's trivial to preload these files in RAM after compiling your assets so you don't have to wait for a request.
They're running a dynamic website with an API and other dynamic functions.
It's not a static fileserver.
It might make more sense if you visit the website in question: https://polyhaven.com/
If you have 2.75TB of files to serve and have a bunch of simultaneous requests for different files:
- everything doesn't fit into the RAM page cache, unless you have 3TB of RAM in your server
- for files that aren't cached, you have to read from the drive
- when you have a bunch of different requests for different files, you're going to have a lot of disk seeks. Seeks are expensive on rotating media.
Serving a large collection of static files at scale can be quite challenging. At my previous e-commerce company, back in the early 2000's, we did our own image serving with RAID1 multiply-mirrored drives (before SSDs!) so we could multiply the seek capacity by the number of drives.
You could probably do it with Cloudflare for a similar price, but that's not what this article is about. The article says that their Cloudflare (not Argo) bill is only $40/month, and that's only because they have two domains. It's $20/month per domain.
The $400/month figure isn't just for static file hosting. It includes their API, database, and global CDN. They make a point to say that low-latency, global CDN is a priority for them, which is why they're paying extra for Cloudflare Argo.
I'm not sure why everyone is comparing what they're doing to a single fileserver hosted somewhere, serving up static files without regard to global latency. It's apples and oranges.
Which, franky, is dumb. File downloads depend on throughput, not time to first byte like a small javascript file. Once bits start flowing it doesn't matter if they travel half way around the globe.
It is like saying you are trying to optimize an ocean cargo ship for acceleration time.
Round-trip latency has a significant impact on TCP throughput. It's not just about time to first byte.
They're also not a static file serving website.
If they were just serving static files and they didn't care about latency, they could pay $20/month for Cloudflare Pro and be done with it.
I don't understand why you continue to ignore the fact that this for running a high-traffic, global, dynamic website, not just a static file server.
I've built three CDNs in my career, one at the Tbps scale. Latency only has two factors in throughput: time to scale window size, and retransmits. Modern TCP stacks handle the prior just fine, and the latter is only an issue with packet loss. You can also turn on HTTP/3 and remove your reliance on TCP entirely.
> I don't understand why you continue to ignore the fact that this for running a high-traffic, global, dynamic website, not just a static file server.
Because I actually looked at the site and read the article. The vast majority of the site is large static files. The frontend is a static JavaScript app that calls an API server. That API server is running on a $5/mo VM.
My offer still stands if you'd like a tour of a datacenter and see the sausage being made at scale. I'll throw in lunch and answer all your scalability questions if you like. But this thread is growing quite long and veering off topic.
I might take you up on that offer, as I might need that for some new project I'm preparing.
Where are you located?
It serves 25Mbps stream in real time to users in Japan and the US from a data-centre in Europe with no issues.
It's not just a static fileserver, despite some of the comparisons in this thread.
> You can't run a high-throughput database on spinning disks unless you disregard data integrity
Of course you can. That's the way it was and still is done. I'd say one can't run a database with any data integrity unless there are disks spinning somewhere very near.
I'd take another box for like $40 there just for the replica, which would sit mostly idle anyways.
But piling on CDNs, clouds and variuos other opex and indeterminate risks instead of some thinking out of this little cloud shoebox is just baffling.
I’m a happy customer of theirs. The UI for managing things is a disaster, but once you get ssh access, it doesn’t really matter.
Not even close to comparable. I think you're ignoring all of the functions they're paying for. They're not just hosting a few files. Also, your "worst case" is literally the most optimistic best case for a standalone single server, which completely disregards any redundancy and assumes that the $30/month server is truly unlimited/unmetered in every way. That's not a good assumption.
Cloudflare is a global CDN that will be fast for everyone regardless of location and will soak up bursts of traffic with ease. It's also fast in a location-independent way, which won't be true for a single server in a single datacenter somewhere.
Finally, the amount of effort it takes to do this with Cloudflare is trivial. The amount of effort it would take to maintain and optimize a standalone solution is not negligible.
Cloudflare seems like a very good deal to me, unless you value your time at $0 and you have access to these truly unlimited, high-performance $30/month servers.
Back in the day we used Texan Colo data centers with DrFTPD to do just this at massive scale.
Bytes in, bytes out. Not a popular opinion here, but I firmly believe it's not necessary to play the CentralizedFlare game to get a winning outcome.
Cloudflare Pro is $20/month per domain.
Trying to run everything through a single server in a single datacenter just doesn't compare for globally-accessed websites like this, even with a 1Gbps unmetered link.
I've accessed plenty of sites physically located in the USA from various EU countries, not to mention AUS and I didn't notice much difference as long as they had a good interconnect.
Maybe not the best for YouTube, but there's only a few of those.
Don't get me wrong, I see the appeal and fell for CF early on but not a fan anymore since they've grown into such a behemoth.
Absolutely power corrupts absolutely.
Everything might make more sense if you visit their website: https://polyhaven.com/ It's not just a dumb, static file server.
EDIT: The questions below are literally explained in the article, so I'm going to give up on this thread.
I feel like we're heading into the weeds. Do you get the broader point I'm trying to make?
At a glance, it still looks like mostly a highly cached static website + search. Its not exactly a high complexity backend.
Things are always more complex at scale, so there's probably more to it then what appears at first glance, but its not obvious what that is.
> Absolutely power corrupts absolutely.
This seems to capture the gist of the argument clearly. I hadn't realized cloudflare had grown large enough to fall into the "too big to not be evil" bucket already.
Back in the day when Joyent ran their public cloud you could beat Cloudflares free plan from Joyents Japan datacenter by a tiny amount in most cases.
Anyway, those days are gone and Cloudflare provides great value and probably the best quality network available. So if you have the problem they solve then you would be a fool to not put some serious thought into considering them.
If it’s not your core competency and unless you possess the vast breadth and depth of skills to dig yourself out if something goes wrong, it seems like a distraction at best and a fatal mistake at worst, with the end result of saving 1-2 engineer hours worth of money per month.
For some self-hosting is a no-brainer, but I suspect that community is much smaller than many here would expect.
Fact: Things break most often because of humans doing things - changes, like deployments and config modifications.
Set things up right to begin with, and in my experience you can leave them running for a long time without intervention.
Downvote all you like, but it's the truth.
RedHat usually break setups every 3-4 years which I personally consider way to frequent.
If I configure a server with automatic updates then I would like it to run with very little maintenance for at least a decade and a long time would be two plus decades.
Is the job getting done for the donors? I bet they don’t care about $300 if it means the website is highly available and the maintainer isn’t burned out from giving away $200/hr of opportunity cost all the time.
> Fact: Things break most often because of humans doing things - changes, like deployments and config modifications.
Totally agree, and sometimes success in your project forces your hand as you are pressed to add functionality or need to scale. If you can guarantee that you’re doing this work once, ignoring hardware failure or scaling, the scales may very well tip toward self-managed.
For a vast majority of projects, I think it just plainly makes sense to go this route, hence the success of these centralized hosts. It is the pragmatic option.
PS. For what it’s worth, I’m sorry you’re being downvoted simply for having an viewpoint that others disagree with.
10 cents is far from the lower end for high quality IP transit.
Cloudflare doesn't pay anywhere near $14.70/mo for 80 TB/mo. Even I spend much less than that on 80 TB in a month. On top of that, peering makes it even cheaper for Cloudflare, as you said. Cloudflare is very likely using peering for much more than 40 % of the traffic now, so it's even cheaper for them.
The worst peering region for Cloudflare was North America in 2016 with 40 % peering according to Cloudflare blog posts.
https://www.linode.com/pricing/
Asset storage: Backblaze B2 – $11 (replace with Cloudflare R2)
Web hosting: Vercel – $20 (replace with Cloudflare Pages, $0 cost)
Database: Firestore – $100 (replace with Cloudflare)
API: Vultr – $5
Image hosting & optimization: Bunny.net – $27 (replace with Cloudflare)
Domains: Cloudflare – $4
Email fees: MXroute – $3
R2 is 0.015$ per GB while backblaze B2 is just $0.005.
Does Cloudflare have a database offering? Do you just mean the Worker KVs, or is there a full relational database?
[0]https://www.youtube.com/watch?v=aKU3hMvD31w
I get the impression that a lot of the critics in this thread don't really understand Cloudflare, how cheap it is, or even the concept of CDNs in general.
$20/month for Cloudflare Pro is a steal for what you get. Spinning up a dedicated server in a single datacenter somewhere isn't going to give the same results, especially if your users are geographically distributed like in this case.
If not free then very cheap, as I understood TFA: Wasn't that why they have two separate domains and serve static assets from one of them, to be able to use the cheapest Cloudflare tier for that domain = those assets?
These responses are getting bizarre. Facebook pages have nothing to do with web hosting or Cloudflare.
Also, hosting on a single server in a single datacenter is, literally, the definition of centralized. Cloudflare distributes the content to a huge number of edge nodes which are spread around the world. How did we end up in this situation where people are calling the distributed solution centralized and suggesting a centralized solution as the alternative?
"Non-commercial" might be a better way to understand this point of view. Instead of prioritizing profit (the reason for people using cloudflare, it's cheap and good) the idea is to minimize the damage done by large centralizing forces on the internet. So, in the above comment I suggest Facebook as an equal option because it is analogous to using Cloudflare. The intent was to get you to think like a human person and not a business owner or employee on the clock. It's short term gain for long term damage to the internet.
As opposed to the CEO of Amazon/Rackspace/your favorite host here who doesn't have the ability to terminate your account? What are you saying? Or are there other non-profit web hosts and CDNs that I missed?
If you have a personal axe to grind against the CEO of Cloudflare, just say that.
There's.no need to grind an axe to observe how past actions have set the course for the future, perhaps for the worse.
Again, _as opposed to what_? Are you saying polyhaven should go multi-cloud and spend triple what they need? You aren't actually presenting any real solutions, you are just complaining about the cloudflare ceo.
I'm a guy who wants to host a service. You are telling me Cloudflare bad. What is the alternative, and how do I ensure the CEO of that service doesn't null route me?
I haven't complained or suggested a damn thing in my previous comment. All I've provided is an extended summary of Superkuh's comments and supported those claims with evidence of past events. Exercising due diligence shouldn't be regarded as a controversial position.
>I'm a guy who wants to host a service. You are telling me Cloudflare bad.
I'm telling you that depending on a single service, whether that service is Cloudflare, Youtube, AWS, etc., is a bad idea. If you don't have a credible alternative provider you can migrate to at a moment's notice, you're website and content is at risk.
>What is the alternative, and how do I ensure the CEO of that service doesn't null route me?
Alternatives:
https://www.esecurityplanet.com/products/distributed-denial-...
https://www.techradar.com/news/best-ddos-protection
Not mentioned is DDos-Guard, which has a pretty good offering if you don't mind that it's in Russia (perhaps that even might be a bonus)
You can't ensure the CEO of a company doesn't null route you. That's why it's important to have alternatives and plan migration ahead of time.
So the alternatives aren't better than Cloudflare, Superkuh just had an axe to grind specifically with Cloudflare. And there is no an alternative solution that wrests control from a CEO having a bad day.
At the end of the day, he's still at the whims of the Cloudflare/Bunny/Akamai and if he wants to be fully in control he must spend millions building his own CDN.
It's not as if Cloudflare has major switching costs either.
Guess what percentage of websites Cloudflare could take down in minutes if they decided?
It doesn’t matter if cloudflare itself uses a distributed architecture. It’s a massive central point of failure/malice.
You are ALWAYS going to be contracting with a third party to provide your connection to the internet... why is trusting cloudflare not to block you riskier than trusting your ISP or the data center that has your server?
You missed the point. It’s an illustration of how much of the global internet cloudflare intermediates and can eavesdrop, filter. Guess how many tor users you fucked by putting cloudflare between you and them. Vpn users, etc.
Yes and? People change their DNS entry and will never come back.
You’re talking past the point here. It doesn’t matter how cheap if you’re fundamentally opposed to enabling cloud flare to reach its meat hooks further into the Internet.
This is no different from arguments about embedding google analytics or “just paying for windows” instead of using Linux.
You should take issue with all the other companies that have failed to deliver something as compelling.
What point? Nobody said anything about "cloud flare to reach its meat hooks" in the article or the above thread except you?
The OP mention "cloud flare to reach its meat hooks" in the thread attacking those who haven't jumped into Cloud flare's bandwagon by putting up a strawman on how that's only due to ignorance.
OP clarified that misrepresentation by pointing out the risk of allowing a single company to control the CDN market specifically and serving web content in general.
What? No. Cloudflare reported a revenue of half a billion dollars, and already controls about half the CDN market.
Let's put things in perspective: in comparison with Cloudflare's business, AWS is a minor player and an underdog with less than half of Cloudflare's market share.
Cloudflare is by no means a small company or an upstart or a David among Goliaths. Cloudflare is in fact and by far the Goliath of the CDN world.
Maybe not, but is the target audience that shills out $20/month really the type of people who have optimized their site to such an extent that shaving 50ms off the request latency by having your edge cache geolocated is really the type of thing that makes the difference? most of that group could probably do a lot of other optimizations that probably count for more.
[1]: https://stackoverflow.com/questions/536300/what-is-the-short...
I just think if your site takes 700ms, is there really a difference between that and 650ms?
3.44 seconds to do a search for "donkey"
The common mistake is to pick a server geographically close to yourself, only access it from low-latency connections, and then assume that everyone in the world is seeing the same thing.
Or to only visit your own site with everything already in the browser cache. If you're not seeing cold start loads, you're not seeing what every new visitor to your website is seeing.
Consider the Photopea.com website. The author explained in a comment below that he spends $60/month to host the site without a CDN. Several of us loaded the site and it took 2.5 - 5.0 seconds to load. He could sign up for a cheap Cloudflare account, reduce the size of his server (due to caching), and the load times for everyone would drop by a significant amount.
If you're hosting simple, static content like a blog for an audience that doesn't care about load times, then of course nothing matters. But for modern, content-rich websites (photos especially) it can actually be a substantial improvement to add a CDN even if you have a single fast server. You may not see it, but visitors from distant locations definitely will see a difference.
This is a conclusion i am extremely doubtful of.
Ping time new york <-> tokoyo is about 180ms. So lets say as a worse case the ping time to the single server is 180ms (its probably not that bad), and lets say the latency to cloudflare edge server is 20ms.
So using cloudflare on a cache hit (best case), you save something like 160ms per roundtrip.
Which don't get me wrong is a huge savings and worth it (although this scenario is hugely exagerated).
However say you want to load the page in under 1 second instead of 5 seconds. In this scenario you would basically have to have 25 round trips to bring the site from 5 seconds to 1 second just on rtt savings of having a geo located edge server. If your site needs 25 round trips to load, something else is clearly wrong. (And this is an exagerated case, the real world the benefit would probably be much less)
To be clear i'm not saying that geo located edge caches are bad or useless. They are clearly very beneficial thing. Its just not the be all and end all of web performance, and most people in the demographic we are talking about probably have much more important things to optimize (otoh using cloudflare is cheap and doesnt require a lot of skill, so it is a very low hanging fruit)
Per packet. If you're doing a cold start, you'll pay that latency cost several times over: first the TCP handshake (3 roundtrips), and then the TLS handshake (2 more roundtrips). That's 800ms of extra latency before you even get to sending the first HTTPx request.
Cold start latency matters a lot.
You’re forgetting that the TCP protocol itself is bidirectional. High latency connections will have lower throughout, especially at the beginning of transmission, because the data isn’t literally just streaming in one direction.
A CDN is more times than not the wrong answer to a real problem. Shave off your website and consider content-addressed protocols for big static asset download (like the textures from the article). If you run your website as a lightweight glorified Bittorrent index you'll notice your costs are suddenly a lot less, and you can still have a smaller "Download over the web" button as fallback.
I tend not to realise when my site goes viral, as I'm based in Australia whereas my largest audience is in b the US (and I'm a bit of a Luddite!)
Looks like with some dead basic optimisations (free versions of WP Fastest Cache and Autoptimise), my Wordpress site can handle around 1500 requests per second on a $5 DigitalOcean VPS before it starts to slow down.
On the old site, running on a shared host with less optimisations it would crap out at less than 10!
Seems like I don't need to worry about this after all.
For the rest of us who would rather not let our site fail, a quick one time $20 tarp over dumpster to handle the traffic in the meantime is good.
It's your choice if you don't want redundancy in place if any incidents happened.
Same thing applies to millions of 10kb files. Whether or not files are large is irrelevant to whether a CDN is a good idea.
If every file only ever gets requested once it may be pointless.
To pay USD $20 and unload a problem to some 3rd party service takes under 30min, while running a scalable, high performance web-server on low budget is hard and time consuming - even impossible for devs with no sufficient devops/admin skills, which is sadly a majority.
Back in the day, as a student with no money and a time to spare I used to do it all myself too, guerrilla style. Nowadays tinkering with my private servers would mean taking time from my real job, and that just doesn't make sense financially, my time is way more valuable and scarce now.
That's why we have the economy of specialists in the first place. One can do everything in DIY fashion, but in our civilization it's usually cheaper to hire a plumber's or carpenter's services than to invest in learning the skills, buying the tools and then doing it, if it's not your primary source of income. It's no different with CDN services.
If you are only talking about food, it may stretch a bit further, but you’re still far away from the majority of countries.
Once cloudflare captures the web market we'll all pay back with interest. They are not a charity.
I want to make a live video streaming website a la Twitch.tv. How much would CloudFlare charge me to stream 8 Mbps to ~80,000 viewers for 4 hours?
I thought about doing this a while ago, after I left my job with an ISP. I would just have bought transit from them (and maybe made them regret their 10Gbps for $1000/month plan ;)
19,200,000 minutes at $1 per 1,000 minutes. https://support.cloudflare.com/hc/en-us/articles/36001645087...
Though, mux.com is decent too, from what I've heard; for certain workloads, LiveStream and Vimeo might be cheaper.
There's Peer5, PeerTube, and BitTorrent in the P2P space (among many such solutions).
First time hearing of them (due to my own ignorance probably). Any details on them?
I am asking this because YouTube seems to have a massive monopoly both on technology as well as content/audience/network-effects. Even if you can get all the people of Youtube to shift over, you still need to solve the problem of bandwidth and the costs associated with that.
Now, I upgraded to $60 a month. I never used any CDN.
[0] https://www.udemy.com/course/vector-drawing-on-the-ipad-with...
> Now, I upgraded to $60 a month. I never used any CDN.
Why not go back to the $40/month plan and spend $20/month on Cloudflare Pro?
I was able to load photopea.com in about 5000ms, uncached. That's not terrible, but it was slow enough that I wondered for a few seconds if the site was broken. A CDN would cut that load time massively, and it wouldn't even be a net cost increase because you could downsize your server.
I mean really cold cache from the above user is at 5000ms that's pretty horrible. When I tried I got 2800ms. Take a look around it seems to be mostly from fetching static content which is a classic problem CDNs solve.
People have been citing $30/month. Even if you value your time at min wage, its probably still cheaper than setting up your own varnish (and that's assuming you don't care about improving the last little bit of latency with geo located edge servers)
One doesn't even need pro. In our use, Cloudflare's pages.dev and workers.dev serves single-digit TB traffic with triple-digit million hits at $30/mo. We pay $0/mo for origin servers since there aren't any.
To answer the actual question - its the obvious answer. They make a product that works well and is relatively cheap. Is it without drawbacks? obviously not, nothing is. However, for a significant segment of the market the value proposition makes sense.
So what? Unless your website is offering some superficial junk that can easily be found elsewhere, you’re not going to lose a user.
For something like photopea, there aren’t sub-second alternatives out there.
> For something like photopea, there aren’t sub-second alternatives out there.
if there is't one now, there will be. Besides, with a little CDN and tweaking you improve your users enjoyment. Why not?
FYI I tried to bookmark it with cmd-D, but the app has hijacked that combo!
Regards oftentimes forgotten Linux user
If I update a single file, how long it takes until nobody in the world can access the old version anymore? Does it take seconds / minutes / hours? Also, some files should not be cached at all (like PHP requests).
I am afraid it would take me days or weeks to learn everything and to cofigure the CDN properly, and I am risking being offline for a part of the world during that time. Also, if there is a problem at the CDN, my website would be broken, too. If someone could help me, you can write me at support@photopea.com
I'm currently clicking through various European hosting services and they seem to offer great dedicated servers at good prices. I cannot wrap my head around these ridiculous costs I keep hearing about. A guy I know was telling me how they were spending tens of thousands of dollars per month on AWS at his company.
Is it because everyone is writing their stuff on node.js, putting 500kb of JS in every web page they serve, putting Docker everywhere when a chroot would suffice, microservices, Kubernetes, or hell even writing SAPs when we don't need them?
I am genuinely confused
Also, you know what you're getting security-wise with AWS, and no one will blame you when your website / service goes down because AWS is down.
My response may come off as rude, but that's not the intention. From the above quote you've vastly over simplified all but the most simplistic environments. Someone could run all of the above for well under 10k month - those are not the reasons why costs are high
> putting 500kb of JS in every web page they serve
that's not much and CDNs serve that without issue or significant cost
> putting Docker everywhere when a chroot would suffice
Docker does not have much overhead over chroot with a large drop in security/isolation
> microservices
there are good and bad ways to do this - does not need to cost much. saying "microservices" is so broad to have no meaning in this context
> Kubernetes
think about why someone might run kube. Again, not that expensive unless you're really small where having master nodes would have a big impact on costs
> or hell even writing SAPs when we don't need them?
Do you mean SAP? SAP is the largest non-American software company by revenue. I don't think anyone likes working with SAP. You think people use it for without reason? There are reasons. Think about what those might be
But those are just details - when building anything of a decent size, nothing is a simple CRUD. There are always exceptions, limitation, biz logic, migration issues, schema issues. I don't care if you use Postgres, Mongo, Kafka or $SOMETHING_COOL
Then there's data retention. It's very very easy to keep PB of data in s3 or other data stores for biz or compliance needs
Then AWS gives IAM, which is very helpful in teams > 5
Docker adds plenty of attack surface that could easily be avoided by using any sandbox or a systemd unit file.
Because most web apps aren't simply CRUD apps. It's a meme said by armchair engineers who believe they could build twitter in weekend.
Only people here on hn seem to think that everyone is slinging k8s and 1000 layers of microservices to build the most complex things on earth; the rest is earning their paycheck by building some forms in php.
Sadly many here are overengineering crud apps and then somehow making them out to be something more than crud apps because somewhere in the future they might be (probably not); as in, you can build 'a twitter' in 1 weekend and it will even probably handle good volume of users ( more than Twitter did at startup; it was often down or very slow) etc if you just take postgres with php on a few $/mo server. It is a crud app at that time (the flow for these user authored posts is built into every trivial and complex framework these days). Also it will most likely be bankrupt in a few months as that is what happens to startups; I rather spend money on building the business first and then scaling the tech; which is exactly what Twitter did. On hn it seems a lot of people work backward in that regard but that probably has also something to do with being a techie and VC interest in scalable tech.
If you're building a basic CRUD app and you have low traffic numbers, you don't need to spend tens of thousands of dollars on AWS.
But it's not as simple as picking a dedicated server, setting it up, and hoping for the best. At minimum you need periodic backups, testing and staging environments, solutions for rate-limiting your API, and so on.
And the "everything is just a CRUD app" meme is just that: a meme. Usually engineers who repeat this have only ever worked on simple CRUD apps, so they don't understand what it's like to work on anything different.
> I'm currently clicking through various European hosting services and they seem to offer great dedicated servers at good prices. I cannot wrap my head around these ridiculous costs I keep hearing about.
If you're working on the types of problems that are a good fit for setting up a single dedicated server on a random hosting provider, you're not working on the same types of problems that necessitate $10K AWS bills.
> I am genuinely confused
I've worked on projects with $10K+ monthly AWS bills. It wasn't node.js or Docker or Kubernetes. It was the sheer volume of connections we had to maintain and data we had to process.
But even if we could reduce our $10K/month AWS bill to $1000/month with a lot of engineering effort and manual management of our own servers, what would we gain? If I had to hire a single additional devops person or engineer to help manage this custom solution, the entire savings would be wiped out. And then some!
Wasting AWS resources isn't smart, but trying to DIY your solution to everything rarely makes financial sense when you look at how much engineering effort it takes and how much engineers cost. If I can spend $10K/month to avoid hiring 1 additional engineer, it's a financial win. I do not care if someone thinks they can do the same thing in $1K/month with endless amounts of custom setup and maintenance. I don't want it.
It also reduces the number of moving pieces that we have to manage manually, which reduces the on-call burden, which keeps people happier.
I really don't understand the anti-cloud hate on HN. It doesn't mirror the real engineering world at all.
Complexity inflates HN readers CVs and keeps them employed.
I believe it's also against Cloudflare's TOS to use it as an asset-hosting platform.
You can sign in with
Username: hn@hn.com
Password: hackernews
-
The site is currently in demo mode, and the db will be wiped before launch - feel free to sign in and poke around. Also it's hosted in Australia currently, so site may be a little slow for those in the US.
Source is here: https://github.com/jjcm/soci
Have you considered using Firestore in Datastore mode[0]? It might make all of your reads free[1], though migrating could be a project.
[0] https://cloud.google.com/datastore/docs/firestore-or-datasto...
[1] https://stackoverflow.com/a/53313540
I use it myself, but just as a normal static file CDN, but they have dedicated tabs in their UI for video stuff. Their bandwidth pricing is also very reasonable ($5/TB with their "bulk" option and $10/TB for standard)
If you were OK with your content only updating periodically you might be able to do away with Firestore, Argo, and Vultr.
You definitely do a great job of mitigating db hits. Consider publishing all the data to a CDN using something like Gatsby.
In this scenario your CI/CD would build a static website from all the assets and publish it to a static server.
You mentioned that only your view counts are the only really dynamic part. You could just estimate and emulate those or design them a different way.
Martin Fowler has an article on this: https://martinfowler.com/bliki/EditingPublishingSeparation.h...
This reads like a paid marketing post for Cloudflare.
It's astonishing how many times the author conflates browser cache-able assets with cached assets on a CDN. When a browser downloads a static asset if the web server is configured properly those files will be cached and there won't be a need to re-download them for a very long time.
There is of course the issue with modern web frameworks like React generating a single massive js/css file that bundles everything all over again in a unique file busting all previous cached versions across all users' browsers just because a comma was added to a sentence.
Keep your js/css files small, serve them from your own web server and set a reasonable expire header, no need to pay Cloudflare $40/mo to continue gatekeeping the internet.
If anything, I’m fine with a new competitor to BigCloud that’s been unchecked and increasingly hostile (cost-wise).
This occurs on many company blogs as well operating under a subdomain like blog.whatever.com
To be clear, this is a very tangential and irrelevant nitpick and I understand it does not contribute to the content of the website itself.
Or so goes the theory anyway.
I'd also encourage you load your fonts late via JS. Your main JS package competes right now with WOFF files from Google Fonts for priority and there's no need for that.
[0] https://www.webpagetest.org/result/220106_BiDc42_428a3caec56...
can't tell if joke, so:
there are already enough sites that display content for a split second and then some script runs (or fails?) and there is either nothing on screen or an error message.
this is ridiculous - please stop!
What you’re describing has been thankfully avoidable for many years.
be sure i blame ad-tech and analytics