
We are very excited to launch support for Cloudflare R2 object storage and R2 Iceberg catalogs in Tower today. You can now build Apache Iceberg-based lakehouses on R2 storage and seamlessly integrate the necessary R2 Iceberg catalogs into Tower apps. You get all of the simplicity of Tower Tables and none of the setup madness of regular catalogs. In collaboration with our users, we recognized the future of multi-cloud ML training workloads and data applications and decided to invest in supporting Cloudflare's "Switzerland of open storage."
Define R2 Catalogs in Tower
To start using R2 catalogs in Tower apps, define the catalog in Tower's Web UI (Accounts Settings > Catalogs).

Use Tower Tables with R2 Catalogs
Then, use Tower Tables to easily integrate with tables stored in R2.
If you prefer using PyIceberg tables access directly, Tower will set the necessary PYICEBERG_CATALOG* environment variables for you automatically.
Optionally use different catalogs in multiple environments
Tower also makes it simple to operate your app in multiple environments, e.g. development and production. You can even use different catalog and storage backends depending on the environment. For example, you can use AWS S3 storage and Snowflake's Open Catalog in your "default" development environment and then create a "prod-on-r2" environment for your production usage and use the R2 catalog there. Your Tower app does not have to change and can run the same in both environments.

Benefits of R2 object storage and R2 catalogs
R2 object storage from Cloudflare is compatible with S3 and can be utilized by a wide range of existing data processing libraries. The main benefit of hosting your lakehouse on Cloudflare instead of AWS or Azure are the zero egress fees for accessing your data, whereas AWS and other clouds charge you for data egress. Cloudflare is known to be a reliable CDN used by millions of customers, so evolving from hosting static website images and files to serving data from lakehouses was a natural progression for them.
R2 Catalog is a new feature from Cloudflare. It is a managed Apache Iceberg data catalog for the table data residing in your R2 storage bucket. R2 Catalog exposes a standard Iceberg REST catalog interface so that you can connect Tower apps and other query engines you already use, e.g., Spark or Snowflake.

Tower added R2 Catalog support while working with our users on building out their lakehouse infrastructure.
Next Steps
Sign Up for Tower Beta
Create your first Tower app (see Quickstart)
Set up the R2 Catalog under Account Settings > Catalogs
Try two Tower examples to write and read data from your R2 storage: Writing Ticker Data to Iceberg, Trimming Ticker Table