Object storage
Object storage for media files: plan keys, transfer size and delivery
Media libraries can grow quickly and contain objects that range from tiny thumbnails to multi-gigabyte video. Object storage fits the independent-file shape well, but ingest, processing and public delivery create different traffic and permission patterns.
Preserve originals separately from derivatives
Keep an immutable or protected original object and create thumbnails, transcodes or previews under separate keys. A processing failure should not overwrite the only copy of the source media.
Record which derivative can be regenerated so retention policies do not waste expensive protected storage on disposable outputs.
Use multipart upload for large originals
Large video and archive objects benefit from multipart retry behavior. Choose part size and concurrency around the uploader’s memory and available upstream bandwidth.
Resume support should be tested with the actual ingest tool; not every client exposes the same recovery behavior after an interrupted multipart transfer.
Keep private media private
User uploads may contain confidential material even if the application later serves some files publicly. Start private and delegate access through application authorization or presigned URLs.
Separate public marketing assets from customer-private media so a simple public-read policy cannot accidentally cover both.
Understand the processing path
A transcoding worker needs read access to originals and write access to derivative keys. It usually does not need project administration or access to other services.
Use a dedicated processing identity when possible so a compromise of the worker does not grant the frontend application’s broader permissions.
Measure storage and transfer together
Media costs can be driven by both retained bytes and delivery traffic depending on provider terms. Even when public egress is currently included, document that assumption and recheck it before changing pricing claims.
Track object count too: millions of thumbnails can create operational listing and lifecycle behavior that a simple terabyte estimate does not show.