Skip to content

Cloud Integration

PX relies on commodity cloud primitives that are available across all major cloud providers. The core building blocks are simple: cloud VMs and object storage.

Supported Cloud Providers

PX uses standard cloud infrastructure:

ProviderComputeStorage
Google CloudGCP Compute EngineGCS (Cloud Storage)
AmazonAWS EC2S3
MicrosoftAzure VMsAzure Blob Storage
DigitalOceanDropletsSpaces

During the private beta, GCP is supported. AWS, Azure, and DigitalOcean support is coming soon.

How Cloud Storage Works

PX mounts your object storage as a local filesystem on every VM. This means your code can access cloud storage using standard file operations — no SDK required.

You declare mounts in your px.yaml under file_mounts:, with a remote mount path on the VM and a bucket source. For the full schema, see the px.yaml reference. For a tutorial walkthrough, see Quick Start, Step 6.

FUSE Mounts

PX uses FUSE (Filesystem in Userspace) to mount object storage:

  • GCP: gcsfuse
  • AWS: goofys (planned)
  • Azure: blobfuse2 (planned)
  • DigitalOcean: goofys via S3 API (planned)

Your code running on VMs is unaware of the blob storage details — all files are accessed via standard Linux filesystem operations.

Setting Up Your Data

To get your data into cloud storage, use standard command-line tools like rclone:

bash
rclone sync images/ gs://px-gcs-my-bucket/images/

rclone supports AWS, GCP, Azure natively, and DigitalOcean via the S3 backend (since DO Spaces is S3 API-compatible).

Why This Approach Works

Modern object storage offers:

  • Access speeds comparable to high-performance NAS
  • Strong consistency and durability guarantees
  • Commodity pricing
  • Cross-region availability

Combined with FUSE mounts, this creates a simple programming model: write code that reads and writes files, and PX handles the distributed infrastructure.