Cloud Fundamentals

Block vs Object Storage: Choosing the Right One Saves Real Money

Using block storage where object storage belongs is one of the most common and most expensive cloud mistakes. The distinction is simple once you see it.

Block vs Object Storage: Choosing the Right One Saves Real Money — RunCloudMarket cloud infrastructure guide illustration

Storing user uploads on a server's disk is the default because it is the easiest thing to build. It is also the reason a great many applications are more expensive, less reliable and harder to scale than they need to be.

The distinction between block and object storage is simple, and getting it right changes the architecture.

The three types

Block storage presents raw blocks that an operating system formats with a filesystem. It behaves like a disk, because that is what it is pretending to be. Low latency, high IOPS, attached to one machine at a time.

Object storage stores whole objects with metadata, addressed by key over HTTP. No filesystem, no partial writes, effectively unlimited capacity, accessible from anywhere with credentials.

File storage presents a shared filesystem over NFS or SMB, mountable by many machines simultaneously. A middle ground, and generally the most expensive per gigabyte.

Block Object File
Access Attached device HTTP API Network mount
Concurrent clients One Many Many
Latency Sub-millisecond Tens of ms Low, network-bound
Capacity Provisioned, resizable Effectively unlimited Provisioned
Partial writes Yes No — replace the object Yes
Cost per GB Higher Lowest Highest
Built-in HTTP serving No Yes No

What belongs where

Block storage is correct for: operating system disks, database data directories, anything requiring a filesystem, anything requiring random writes into a large file, and low-latency workloads.

Object storage is correct for: user uploads, images and video, static site assets, backups and archives, logs, data lake contents, and anything you want to serve over HTTP or share between machines.

File storage is correct for: legacy applications expecting a shared mount, content management systems running on multiple servers, and shared build or media directories.

The change worth making

Most applications start by writing uploads to the server's disk. That creates four problems at once:

  1. The server becomes stateful, so it cannot be replaced freely.
  2. Adding a second server means the two have different files.
  3. Serving those files consumes the server's CPU and bandwidth.
  4. Backups must now include a growing directory of user data.

Moving uploads to object storage resolves all four. The application stores a key; the file is served directly from storage or through a CDN in front of it, never touching the application server.

Practically:

  • Upload from the application to object storage, or use pre-signed URLs so clients upload directly.
  • Store only the object key in your database.
  • Serve through a CDN — DigitalOcean's Spaces CDN, or any CDN in front of an S3-compatible endpoint.
  • Keep the buckets private and issue time-limited signed URLs for anything not public.

Almost every provider in the catalogue offers S3-compatible object storage, which means the same SDK and the same code work across them. That compatibility is worth more than it appears: it is one of the few genuinely portable pieces of cloud infrastructure.

Cost, honestly

Object storage is dramatically cheaper per gigabyte than block. Block storage is billed for what you provision, whether you use it or not; object storage is billed for what you store.

The charges to watch on object storage are requests and egress. A workload making millions of small requests can find request charges material, and data leaving the provider is billed per gigabyte — which is exactly why a CDN in front usually pays for itself. The egress guide covers the arithmetic.

On block storage, the costs people forget are unattached volumes and old snapshots. Both bill indefinitely. Both should be on a cleanup schedule.

Performance tiers on block storage

Block storage tiers are not interchangeable:

  • Standard HDD — archival and sequential access only.
  • Standard SSD — light workloads, dev environments.
  • Premium or balanced SSD — production applications and databases.
  • High-performance NVMe or provisioned IOPS — write-heavy databases and I/O-bound work.
  • Local NVMe — lowest latency, but does not survive an instance stop.

A frequent trap is that throughput scales with provisioned size on several platforms, so a small volume throttles regardless of the tier chosen. If a database is slow and the disk is small, size is likely the cause. The database guide covers diagnosing that properly.

Frequently asked questions

Can object storage replace a database? No. It has no query capability, no transactions and no partial updates. It stores objects.

Can a block volume be attached to two servers? Generally no. Some platforms offer multi-attach for specific clustered filesystems; treat it as a specialist case rather than a default.

Is S3-compatible really compatible? For core operations — put, get, list, delete, multipart, pre-signed URLs — yes, across all the major implementations. Exotic features vary.

What about backups? Object storage is the natural target: cheap, durable, and in a different failure domain from the server. The backup guide covers retention and testing.

S3-compatible object storage is offered by nearly every provider in the catalogue, so this pattern ports cleanly between them.

Keep reading

Related guides

Talk to us first

Questions about a specific configuration?

Send us the workload profile — vCPU, memory, region, open ports — and we will confirm which listings actually support it before you buy.

Telegram