RSS Amplifier

Data Engineering Central · Jul 13, 2026

Cloudflare as a Data Platform?

0
Sign in to vote or save

Daniel Beach · Data Engineering Central

I know calling Cloudflare the new kid on the block is a little tongue-in-cheek, but it seems fair when applied to Data Platform tooling. My guess is that when someone says "Cloudflare," the first thing that comes to mind isn't data. They’ve become a household name with the literal power to take down the internet with no notice.

Best known as a digital middleman between a website's server and its visitors, it seems they are sticking their fingers into other honeypots … namely Data.

In the past, I poked at Cloudflare’s R2 Iceberg setup, but that was at least a year ago, and it was more about Apache Iceberg than about Cloudflare as a proper Data Platform.

To be honest, it’s probably one of those “better late than never” situations, but they sure are late to the “one-stop shop for data” party. Everyone else has been on the Lake House bandwagon for a good, solid 5 years now. All the big players need to have a hand in the data space.

We live in the age of AI, and data is the gold behind the Agents/LLMs, so it makes sense that players like Cloudflare don’t want all the data to leave their systems to other players. It makes sense as a business to provide customers the entire Data Stack, so they have at the very least, the option to stay put.

This is what I want to cover today; it’s as much for me as for you. I want to know …

  • What data products does Cloudflare offer?

  • What it looks like to build on each of those products.

  • Can I build a complete Data Stack with those tools?

  • Pricing.

Who knows if we will make it through all of that before I run out of patience and start ranting. You know me; it’s a toss-up. You can trust me to call it like it is. I’ve built plenty of Data Stacks from scratch, so I plan to approach this like I would anything else.

We will see what works, what doesn’t, what’s missing. Or it will all be rainbows and butterflies. Never say never; it’s possible.

Thanks to Cube for sponsoring today’s post! Without companies like Cube, this content wouldn’t be possible. The best way to support this Substack is to click the links below and check out Cube!

Customer-facing analytics are slow, the warehouse bill keeps climbing, and every new chart turns into an engineering project. Cube is the agentic analytics platform built for embedding: drop governed dashboards and an AI analyst into your product in days, with built-in caching that keeps queries fast and warehouse costs down. Pelago, Constant Contact, GoFundMe, and 400+ other SaaS companies ship customer-facing analytics on it.

Get started for free.

Check out Cube today!

Ok, so when I said Cloudflare is selling the entire “Data Platform,” I wasn’t just making it up. You can see it front and center on their webpage, which actually makes our job a little easier.

This is actually something many companies forget to do. Cloudflare took the extra step of telling us exactly how they envision a Data Platform working with their products. This is helpful because we don’t have to guess their intentions or the best way to build out a Data Platform on Cloudflare. Architecturally, it’s good to have a starting point.

Ok, right off the bat, from their docs we can see that they mostly focus on “Data Warehouse and Lake House.” This consists of a few core technologies they mention and directly takes center stage in the docs.

Their docs are surprisingly straightforward and simple, and the concepts are very easy to understand. This is a breath of fresh air in the never-ending glut of marketing announcements about name changes and new AI-centric features that get poured onto our heads on a weekly basis.

I do have to mention on gaping hole that jumps out to me conceptually that isn’t forefront in the docs, yet is core to any Data Platform … and I’m not sure how to take it.

What about the actual Data Pipelines? How exactly should we write code to write, transform, and read data within the Cloudflare Data Platform? Their landing page mentions “Pipelines,” but their docs list R2 Storage, Iceberg, Data Catalog, and R2 SQL, making no mention of “Pipelines.”

Again, from my point of view as a newcomer to Cloudflare as a data platform, and their tantalizing mentions of Pipelines, and one would assume the actual creation of data pipelines being core to building a Data Platform … why is it a mystery or hidden compared to the other parts of the platform like …

  • Storage with R2

  • Iceberg as the lake house format

  • R2 Data Catalog as the Data Catalog

  • R2 SQL as query layer …

The Pipeline … the code … is the glue that brings all these things together. Conceptually, why no overview of the “glue” … the “Pipelines” as they called them on the landing page?

Thanks for reading Data Engineering Central! This post is public so feel free to share it.

Share

So, overall, what we have so far conceptually from Cloudflare is …

Again, everything here is straightforward; my biggest questions are around rounding out the Data Platform. Some of the things rattling around in my head …

  • Can we use Apache Airflow to trigger stuff inside these tools?

  • Otherwise, how do we schedule and orchestrate the Data Platform?

  • Is R2 SQL just a glorified Notebook?

  • What are Pipelines, and how can we write code that interacts with this Data Platform?

Instead of answering these questions off the bat, which would be smart, I just want to walk through each data product they offer and build out a fake Lake House. Eventually, we will be forced to answer my questions or find a way around them.

You can only read docs for so long, at some point it’s best just to try things out.

Ok, so we will start at the bottom and work our way up. Also, I’m going to use the UI for this, so I can get used to Cloudflare as a platform and make sure I’m not accidentally missing anything when setting up the pieces of the Data Platform.

First, let’s create a bucket from which we can hopefully install or enable Apache Iceberg. Right away, I noticed something useful: a reference to the Wrangler CLI, which we can apparently use to interact with R2 and, I’m guessing, other parts of the Cloudflare system.

create an R2 Bucket

Easy enough to create, and I also saw a Settings page with some info about Iceberg and the Data Catalog.

Enabling the R2 Data Catalog popped up a box,

Now we have a Apache Iceberg Rest API URI we can use for the typical Data Catalog actions we are all used to.

So at this point we have two simple fundamentals of classic Data Platform, Lake House style setup …

  • R2 Storage Bucket

  • Apache Iceberg Catalog

    • which apparently handles table maintenance like compaction

  • Data Catalog URI

So, next, let's create some Apache Iceberg table(s), and then we can figure out how we would like to ingest data, which, by extension, may become our data pipeline setup.

Well, almost.

In my mind, I wanted to use Apache Airflow, combined with something like Polars or DuckDB, and connect to the Cloudflare Data Catalog for REST Iceberg, and do it that way, but I really, really wanted to be able to find those “Pipelines” that were mentioned.

Finally, when clicking around in the UI, I saw a line for them under Storage and Databases, why there I don’t know.

Anywho, this is going to take us down a tangent, but we might as well start the trip and get it over with. You can’t access Pipelines on the Free Tier I’m on; you have to upgrade your plan. Here is the list of benefits.

It’s a lot to digest.

Always a little scary buying stuff for y’all. Better turn off that auto-compaction on Iceberg tables, eh? Probably spin up a big @!#$! cluster to do and then send me the bill. I know how these SasS vendors work.

Anywho, I would go through all those features for you, but I ain’t got the time. I just want to get to building our Data Platform, and I would like to use Pipelines to do it.

Here is the Worker page, at least they give me a billing dashboard so I can keep my powder dry.

Apparently, this means we need to learn something about Cloudflare Workers.

  • This does appear to be the missing piece of our puzzle on the Data Platform. I’m assuming we can use Pipelines alongside Workers to build our data flows.

Also, I noticed they mentioned cron jobs and durable Workflows, which sounds like what we need, but it’s also confusing they don’t mention Pipelines, what are the differences between the two? Not sure.

Anyways, it appears we need to read the documentation on Pipelines, and they fit generally what we are looking for.

Pipelines, as we can see, connect streams and sinks, data sources and data targets. “Streams” is a loaded term. I know Cloudflare bought Arroyo, a Rust-based streaming platform, sometime back. I’m curious if these pipelines can handle batch as well.

“Streams are durable, buffered queues that receive and store events for processing in Cloudflare Pipelines. They provide reliable data ingestion via HTTP endpoints and Worker bindings

Streams currently accept events in JSON format and support both structured events with defined schemas and unstructured JSON… ”
- docs

I get that people like Streams and streaming pipelines, but 80%+ of most data pipelines, if not more, are batch-based workloads. It appears “Pipelines” are now useless to us … since … “Pipelines connect streams and sinks via SQL transformations.

I’m not saying this is a totally bad thing; what I’m saying is that Cloudflare Data Platform seems to be built for streaming use cases almost exclusively. What do I know? Maybe this is the niche of the data world they want. Everyone under the sun, including Databricks with ZeroBus, has a streaming offering bundled into their Lake House offerings.

Not that Cloudflare cares what I think, but if they want to make real in-roads in the data community, batch pipeline support is key.

Thanks for reading Data Engineering Central! This post is public so feel free to share it.

Share

Well, we can’t let these hobbits stop us form getting a Cloudflare data platform running. Let’s just make our own pipelines, workers with Apache Airflow, and then use R2 buckets, Iceberg, and Catalog for our Lake House.

Let’s get cracking. Start with the end in mind; isn’t that what they say? Here is our Airflow DAG for our Cloudflare lake house. One failed, and finally, a good run.

I know it’s just a plain old Airflow DAG, but if we were building a real lake house, the ability to use a classic orchestration tool like Airflow would always be a good sign.

We can work our way from the top down this time. Let’s look at the Airflow DAG.

And some Airflow Python helper functions.

Mostly, we are just using the pyiceberg Python package to set up the connection to the R2 Data Catalog, along with the configs we need. After that, we can use Polars’ Iceberg write feature to get our data where we need it.

Also, if we head over to the Cloudflare UI, we can see those tables appear, along with a nice overview. Not bad!

We can even examine the individual tables very closely and get all sorts of interesting data, including schema, partitioning, etc.

Don’t forget they have that new R2 SQL, which seems to be more or less a Notebook in the UI for querying our data. Cloudflare speaks highly of it, of course.

I tried finding the R2 SQL in the UI, but it was not available. Apparently, I was wrong about that, at least as far as I can tell. It seems you must submit queries through the Wrangler CLI we discussed at the beginning.

So, to do this, we need to install the Wrangler CLI. Of course, we/you would need an API token as well; they are easy enough to create or obtain in the UI.

I mean, personally, I’m not the biggest fan of this; The Notebook is the interactive standard of choice across the industry, making developers' lives easier. Not sure why Cloudflare hasn’t jumped on this train.

Now we should be able to run an SQL query.

Well, it works; at least I can say that for all the Cloudflare Data Platform parts and pieces, they are incredibly simple, straightforward, and just work. That’s more than you can say for many other resources and tools.

Share

I should return to Cloudflare with some sort of streaming use case; it appears that is their bread and butter, and admittedly, this has always been a hard nut to crack, that is, the combo of Lake House + Streaming.

Having recently played with Databricks Zerobus, it would be an interesting comparison.

  • I have many great things to say about Cloudflare’s “Data Platform,” along with a few critical comments.

Cloudflare does a great job with their products; this Iceberg setup on R2 with the Data Catalog, even with R2 SQL via the CLI, is all just nice … and it just works. It’s simple.

You saw how simple the Airflow DAG code was, how easy the setup was, and how attractive this would be to ANY data team. One simply cannot underestimate the power of simple engineering. Also, the ease of integration with all Python tools and packages, including Arrow, makes it a flexible setup.

No posts

Read the original on dataengineeringcentral.substack.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.