Top
Best
New

Posted by elffjs 8 hours ago

Cloudflare K2: serverless event streams(blog.cloudflare.com)
167 points | 70 commentspage 2
senderista 4 hours ago|
Minor correction: it is not true that no major object stores support appends--Azure Blob Storage has from the beginning.
loufe 6 hours ago||
If I was a serious Cloudflare customer I would be seriously concerned about the security of my infrastructure with them. Yes LLMs can code fast but this is an almost frenetic pace of releasing new products, all with fewer staff.
owenthejumper 5 hours ago||
They've always been this fast. The trick is that they release beta products a lot. Kind of classic "lean" (does anyone remember that?)

My bigger concern would be their increasing grip on a lot of the market, and eventually becoming a monopoly (or part of the big tech "duopoly")

sssilver 4 hours ago||
> eventually becoming a monopoly (or part of the big tech "duopoly")

At this point this has already effectively happened. The average person doesn't realize the extent of it, because the products Cloudflare builds are inherently transparent to the average consumer.

genxy 3 hours ago||
Not when you use firefox!
wqtz 5 hours ago|||
I trust that this is not the case. Check out both the authors. Micah's company was acquired by Cloudflare, and both of these guys actually bring good expertise around this area.

The question is less about "vibe coding" the product, and more about how their acquired teams function. For most products they have released so far, they are backed by a company they acqui-hired. They will usually rebrand the product and absorb the team.

You would not be surprised if this release was from a product for a startup company rather than a large enterprise company.

Cloudflare hired a bunch of folks for sure, but they also fired a lot of folks. What they are doing these days is building products by buying out entire companies, giving them nearly independent authority to build a product like they would build a company.

vmg12 6 hours ago|||
They are working on a set of primitives that make building this kind of software easier. With AI, runtimes matter more than ever and languages matter less.
threatofrain 6 hours ago|||
I find this release relieving because it fills a hole that was really needed. Another hole would be a proper database and improvements to D1.
NicoJuicy 6 hours ago||
That's just perception. At the same time they were hiring 1 k. People and hired 2 k. People the year before ( interns).

There was just more news about it than with other companies ( I think they let go about 2 k. People a year ago).

( Not saying it's good, just a little perception balance)

hack1312 3 hours ago||
It hasn’t even been 6 months since they fired 20%
thepaulmcbride 5 hours ago||
This sounds like a super interesting product, but I'm always reluctant to build on anything that isn't a portable industry standard.
ameliaquining 5 hours ago|
Presumably the Kafka-compatible API that they say is in the works will address this?
necubi 5 hours ago||
Yep. I'm not personally a huge fan of the kafka API — I think it's simultaneously too low level for normal users and too high level to deeply integrate into other systems (like stream processing engines), and requires a complex client library to use effectively.

We went with a simpler and more user friendly consume API, that also allows much higher levels of read parallelism (particularly important if you're using something like Workers, which parallelize well but aren't very powerful individually).

But we know many companies are invested in the Kafka ecosystem, and we want to provide an easy on (and if necessary, off) ramp for them.

jitl 55 seconds ago||
Kafka libraries outside Java (and maybe Go) are such a disaster. I remember getting paged because all my NodeJS Kafka consumers were crashlooping from a segfault in Confluent's official Javascript client (wrapper around rdkafka C++). Why? Because Confluent changed some sort of telemetry setting on the broker. I also get segfaults in Rust using the most popular client out there (also an rdkafka wrapper) without any `unsafe` (although there were threads).
theredsix 6 hours ago||
What's the benefits of this over traditional GKE pub/sub, kafka or another queuing service?
necubi 6 hours ago||
Google PubSub is a great product. The primary benefit of K2 is cost, particularly for longer retention periods. Being backed by object storage means that we can store data extremely cheaply compared to disk backed solution, and we pass that on in our pricing.

Compared to self-hosted or cloud-hosted Kafka (e.g., Amazon MSK or Confluent), K2 is much cheaper, and fully serverless. There are no clusters to manage or scale, and consistent performance even as you vastly increase the amount of data.

The main downside is produce (and end to end) latency is higher (around 1s p99) than systems that rely on local disk replication, like Kafka.

So it's great if you're trying to move a huge amount of data around, or for use cases where cost is more important than latency.

bonesss 4 hours ago||
Having built a hobo version of something similar (serving a minimal subset of the Kafka API on top of CosmoDB): there’s also the hybrid scenario where the cheap serverless streams are used for scalability and broadcast while a low-latency core is maintained on sharply reduced compute resources. An 80/20 approach that saves a lot and, in our case, reduced cluster (mis)management risks at the same time.

In our case BLOB and large document transfers were handled in parallel, merging them together through object storage is a highly appealing package. Great work!

freakynit 6 hours ago||
Ha setup and management is costly. K2 relieves you off that by charging you 0.04/0.04/GB read/write and 0.02/GB/month storage. Pretty useful if your volume is not into multi-GB's a month. GKE pub/sub seems pretty costly by comparison.
ipkstef 5 hours ago|
i was trying to understand why i would use this over their current offerings of queues, and im really sick so my brain isn't working. so i ran it through ai

  You need...                                            | Use
  -------------------------------------------------------|-------
  “Make sure this job gets done”                         | Queue
  retries / dead-letter handling                         | Queue
  delayed jobs                                           | Queue
  distribute jobs among workers                          | Queue
  “Record that this event happened”                      | K2
  multiple independent systems reading the same events   | K2
  replay old events                                      | K2
  ordered event streams                                  | K2
  Kafka-like architecture                                | K2