Cloudflare Docs
Reference Architecture
Edit this page on GitHub
Set theme to dark (⇧+D)

Egress-free object storage in multi-cloud setups

​​ Introduction

Object storage is a modern data storage approach that stores data as objects rather than in a hierarchical structure like traditional file systems, making object storage highly scalable and flexible for managing vast amounts of data across diverse applications and environments.

Oftentimes organizations leverage multiple cloud providers to distribute their workloads across different platforms, mitigating risks associated with vendor lock-in, enhancing resilience, and optimizing performance and cost. However, managing data across multiple clouds introduces challenges related to data mobility and interoperability, particularly when it comes to transferring data between cloud providers or on-premises environments.

Egress fees are charges incurred when data is transferred out of a cloud provider’s network, either to another cloud provider, on-premises infrastructure, or external services. These fees can vary depending on factors such as the volume of data transferred, the destination of the data, and the network bandwidth utilized.

R2 offers an enticing value proposition by not charging the costly egress bandwidth fees associated with typical cloud storage services. This can be very advantageous in the context of multi-cloud environments, especially when you want to run compute-intensive workloads such as AI model training, query engines, and other data science tools.

​​ R2 multi-cloud setup

Figure 1: R2 multi-cloud setup
Figure 1: R2-multi-cloud setup
  1. Worker <> R2 interaction: Use R2’s Workers API to interact with R2 from a Worker. Alternatively, for improved portability, use R2’s S3 API from a Worker. No R2 egress fees apply.
  2. External service <> R2 interaction: Use R2’s S3 API to interact with R2 from external services. No R2 egress fees apply.