38 comments

[ 2.7 ms ] story [ 92.1 ms ] thread
After what I have seen in the past few years, I’m not comfortable hosting anything on Cloudflare.
(comment deleted)
There are tradeoffs for everything. There are a few horror stories about cloudflare charging companies using terabytes of bandwidth or doing legally gray activities an arm and a leg but on the other hand there is no other way to get things like analytics engine, queues, or stateful websocket servers for the price they offer along with $0 for bandwidth egress.
> It’s run entirely inside a single Cloudflare Worker

My definition of self-hosted isn't the same as your definition.

Yeah calling this self-hosted is confusing. Everything about it is built on non-portable, proprietary products exclusively available from and hosted by Cloudflare.
It's a strange choice of words.

Lot of folks walked on cloudflare after they tried to shake down $120k from one of its customers that was publicized on the internet

There is stream of unhappy (rightfully so) cloudflare enterprise users that CF seems oblivious about.

But the damage is done. We are moving to Fastly. Sucks because we built so much around Cloudflare.

> We are moving to Fastly. Sucks because we built so much around Cloudflare.

Are there concerns about getting locked into Fastly’s cloud services instead of Cloudflare’s? Will you use some level of abstraction to make the deployment more portable, or that’s another bridge to cross if needed?

Even if they end up with exactly the same level of lock in, and even if the new service is no better, it is still not totally pointless to react to something you don't like by leaving.

It is the single solitary only lever anyone has in the world we've built.

What terminology would you use instead to differentiate it from a SaaS solution?

Someone suggested "self-operated" elsewhere in the thread. Thoughts?

Self-operated makes some sense, but if the idea is that you don't have anything to operate maybe self-deployed is better?

I'm not sure where to draw the line to differentiate it from a SaaS. For example Salesforce is clearly SaaS, but is also an application platform with a built-in database.

I think it’s quite interesting though. The target of Counterscale is a higher level abstraction than you usually find. Cloudflare provides that today but there is no reason that level of abstraction could not be provided by something fully open source.

There is also SST for instance which is also sitting in there somewhere with a similar thing. It’s not quite self hosted but also not quite PaaS.

(comment deleted)
Shout out to Plausible for open-source, dead-simple, Saas-or-self-hosted analytics.

https://plausible.io

(comment deleted)
Plausible is great (I use it at Sentry), but I want to clarify that only Plausible Community Edition is open source, and it note it differs significantly from their paid SaaS offering:

https://plausible.io/self-hosted-web-analytics

It makes sense, otherwise their business will be at risk.

For my analytics platform [0], I chose to go only with a paid self-hosted version. This way, the business model is aligned with the success of the self-hosted product. It's also nice to be able to provide support for self-hosting, to those who need it.

[0]: https://www.uxwizz.com

Serious question: if the goal is to run it on a major public cloud subject to the same surveillance systems that most hosted analytics services are, why do the sysadmin work involved in this definition of “self-hosting”? It it just cost savings?
cost savings is generally what companies care about
I realize no one will believe this but public clouds have pretty good privacy policies. They're not the same as the ad-based services offered by the same companies.
100k requests being free is an odd flex. You could do 100K of these in a few seconds on a free tier AWS ec2 instance.
Car salesman gets employed by Cloudflare
I don't work for Cloudflare?
Yeah, was talking about the people employed at cloudflare ;)
Can you do 100k requests/day for free running Kafka, Clickhouse, nginx, some queue-draining code, etc?

Clickhouse says the minimum amount of RAM it needs is 8gb. Kafka also needs multiple GB of ram. How small an instance will you get away with?

Why would you run all that for 100k requests/day? That's basically completely idle.
(comment deleted)
Because those are the underlying services that the above software is built on. And they allow the system to handle both very few to many many requests/sec for basically $0. That's the point of the article.

To say, "I can run a server that can handle a bunch of requests for free" doesn't mean much. Of course you can do that. But can you replicate the aforementioned system for free? Probably not.

Yes, you could run all that on an instance < 8GB. I have kafka and clickhouse running on a 2GB vm.

I wouldn't choose kafka for this setup as you could just use ch for everything

(comment deleted)
> it isn’t a managed SaaS product. It’s open source software purpose-built to self-host on Cloudflare’s developer cloud, in such a way that anyone can do it.

This doesn't sound like self-hosting, it sounds like self-operated.

Is it possible to run Counter scale on-prem against logs from HAProxy, Nginx, or Apache? That would be cool, and is the benchmark because AWStats [0] has been around for decades and works just fine.

There's also a newcomer called Plausible which has a FOSS Community Edition [1] which can be self-hosted.

[0] https://awstats.sourceforge.io/

[1] https://github.com/plausible/community-edition/

Edit: @xorcist Thank you for the recommendations, I'll check them out.

Maybe self-operated is better terminology -- that's fair. (Though I think one of the key points is that there is almost nothing to operate.)

For me, the fundamental issue is whether I am controlling what code is out there, I'm paying the pure infrastructure costs, etc. So whether it's self-hosted or self-operated doesn't matter.

For some it sounds like if you aren't managing it at the operating system level then it isn't self-hosted.

If there is a "benchmark" for open source analytics, it's probably Matomo.org which has been around for a long time and is a standard PHP app you can just deploy. It's normally run with javascript tracking to do things like lead tracking, onboarding, campaigns and such. It can also ingest logs but with loss of that functionality.

AWstats hasn't been updated since the times when screens were tiny. Try GoAccess for a more modern look (it has nothing to do with the Go language) but still a bog standard static log analyzer that can generate HTML reports periodically.

> Is it possible to run Counter scale on-prem against logs from HAProxy, Nginx, or Apache?

Probably. But it's not for that use case (for example, Counterscale intentionally strips IP addresses).

> There's also a newcomer called Plausible which has a FOSS Community Edition [1] which can be self-hosted.

One of the goals of Counterscale is that you can deploy it "fire and forget" with a single terminal command.

Contrast this to Plausible CE, which makes it clear you need some basic adminstrative skills to operate the software:

> you should have a basic understanding of the command-line and networking to successfully set it up

The point is that Counterscale is designed differently than traditional "self-hosted" solutions in order to promote ease of deploy. It comes with serious constraints (like a dependency on Cloudflare). But some people may prefer those tradeoffs.