Spaces Overview

Plans and Pricing

The base rate of a Spaces subscription is $5/month and gives you the ability to create multiple Spaces. The subscription includes 250GB of data storage (cumulative across all of your Spaces). Additional storage beyond this allotment is $0.02/GB. If you cancel your subscription by deleting all your Spaces, your bill will be prorated hourly.

Spaces subscriptions include 1TB of outbound data transfer (from Spaces to the internet), which is shared between all Spaces. Additional outbound transfer is $0.01/GB. Outbound data transfer is free in the following cases:

  • From Spaces in NYC3 to Droplets in NYC1, NYC2, and NYC3
  • From Spaces in SGP1 to Droplets in SGP1
  • From Spaces in SFO2 to Droplets in SFO1 and SFO2
  • From Spaces in AMS3 to Droplets in AMS2, AMS3, LON1, and FRA1
  • From Spaces in FRA1 to Droplets in AMS2, AMS3, LON1, and FRA1

Inbound bandwidth to Spaces never counts against your Spaces transfer allowance.

Droplets have their own transfer allowance, independent of Spaces. Traffic from Droplets to Spaces does not count against your Spaces transfer allowance (because inbound bandwidth to Spaces is free), but does currently count against your Droplets’ outbound transfer allowance. We’re working on changing this behavior.

The Spaces Content Delivery Network (CDN) is available at no additional cost. The transfer allowance that comes with the base Spaces subscription covers both CDN bandwidth and origin bandwidth. Transfer between the origin and the edge servers is calculated as part of the transfer allowance.

Regional Availability

Spaces are currently available in NYC3, AMS3, SFO2, SGP1, and FRA1. Spaces work with Droplets in all regions. The Spaces CDN is available in all regions where Spaces are available and includes many global edge locations.

The CDN points of presence are in the following locations:

Region PoP Locations
North America Ashburn, Atlanta, Chicago, Dallas, Denver, Los Angeles, Miami, New York, San Jose, Seattle, Toronto
Europe Amsterdam, Frankfurt, London, Madrid, Milan, Paris, Stockholm, Warsaw
South America São Paulo (beta)
Asia Hong Kong (beta), Manila (beta), Seoul (beta), Singapore (beta), Tokyo (beta)
Oceania Melbourne (beta), Sydney (beta)

Features

A Spaces subscription gives you the ability to create multiple Spaces to use as logical units for segmenting content. Each Space will have its own unique URL, and all Spaces support HTTPS.

The Spaces URL naming pattern is spacename.region.digitaloceanspaces.com and region.digitaloceanspaces.com/spacename, where spacename is the name of your Space and region is the region your Space is in.

High Availability

Spaces is built with Ceph, just like block storage. As we describe in our blog post on why we chose Ceph:

Ceph is built for redundancy, and we carefully ensure that the loss of a single drive, server, or even an entire data center rack does not compromise data integrity or availability.

Ceph gracefully heals itself when individual components fail, ensuring continuity of service with uncompromised data protection. Additionally, we use sophisticated monitoring systems built around tools including Icinga, Prometheus, and our own open-source ceph_exporter. These help us respond immediately to any issues with our Ceph infrastructure to ensure continuous availability.

Ceph is also compatible with a large subset of the S3 RESTful API, which allows you to use many familiar tools and commands.

CDN (Content Delivery Network)

Spaces provides a free, built-in CDN that you can enable with a few clicks. If you’ve enabled the Spaces CDN for your Space, you can access the contents of your Space using the edge URL <spacename>.<region>.cdn.digitaloceanspaces.com instead of the origin URL.

A CDN is a network of edge servers that deliver content to users. Each point of presense (PoP), the location of a group of edge servers, sends content to the users that are physically closest to it.

CDNs help deliver static and dynamic online content faster and more reliably. Because most search engines factor page load time into their algorithm, using a CDN can also provide an SEO advantage. Using a CDN additionally provides a layer of redundancy for websites; a CDN PoP can serve cached content to users even if the origin or other PoPs are down.

You can control how long your CDN content is cached using the TTL settings, either for all of the content in your Space or for individual objects. You can similarly choose to purge the cache for the entire Space or individual objects at any time.

If you don’t want to use the default edge URL, you can use a custom subdomain, like images.example.com. Subdomains you use with the Spaces CDN must have an SSL certificate for security reasons. If you’ve added your domain to DigitalOcean, you use DigitalOcean’s Let’s Encrypt certificates, which are fully managed and renewed on your behalf every 60 days. You also have the option to manually upload an SSL certificate if you use a different DNS provider or want to upload an existing certificate.

Limits

  • To avoid any temporary limits on your request rate, ensure that your application is designed to retry on 503 Slow Down errors. If you plan to push more than 200 requests/second to Spaces, we recommend that you use the Spaces CDN or use more Spaces.

  • DigitalOcean’s internal DNS infrastructure has rate limits in place to limit the impact of abusive actors. If you are making a large number of requests, we recommend implementing recursive DNS caching.

  • Sharing ownership of Spaces is currently per-account, not per-Space.

  • While you can set permissions for all the files in a folder, currently you’ll need to use a third-party client to set permissions recursively.

  • Spaces currently do not support tags.

  • You cannot delete Spaces with more than 100,000 files via the control panel. You can either use the API or delete files from the Space first.

  • You cannot delete more than 10,000 files from a Space at once via the control panel. You can use the API or delete fewer files at a time.

  • The Transmit v. 5.0.5 release solved some compatibility issues, but it is not yet fully compatible with Spaces. Please use Transmit 4 as a workaround.

Known Issues

  • Space delete actions do not include the correct IP address that conducted the action in an account’s security history.

  • Uploading hundreds or thousands of files via cloud.digitalocean.com may not complete reliably. For this use case, use s3cmd or other third party tools.

  • In the API, list-objects-v2 pagination does not work.

  • Uploading files and folders with spaces in their name is not supported, but when you upload using the drag and drop feature, they will upload successfully.

  • You cannot currently create wildcard SSL certificates using DigitalOcean’s Let’s Encrypt integration.

  • File metadata headers, like Content-Encoding, are not passed through the CDN. Metadata headers are correctly set when fetching content directly from the origin.

Feature Requests

During the Spaces early access period, participants identified several features of interest which we’re considering for future releases, including:

  • More regions
  • Replication between Spaces regions
  • Control panel updates:
    • Managing files recursively (metadata, permissions, etc.)
    • Moving files between buckets
    • Account-level default file permissions (which currently must be set for every upload)
    • Sorting in the File browser
  • Access logging
  • Custom domains

If there’s something else you’d like to see on this list, let us know on ideas.digitalocean.com.