Blog

Introducing Spaces: Scalable Object Storage on DigitalOcean

Today we’re excited to announce the launch of DigitalOcean Spaces: a simple, standalone object storage service that enables developers to store and serve any amount of data with automatic scalability, performance, and reliability.

Object storage has been one of the most requested products that we’ve been asked to build. When we embarked on developing a scalable storage product that is abstracted from compute resources, we realized we had an opportunity to refactor and improve how developers solve this problem today.

Pricing

We believe in simplifying our products to enable developers to build great software. To do that, we look at every opportunity to remove friction from the development process including spending less time estimating costs associated with storage, transfer, number of requests, pricing tiers, and regional pricing.

Spaces is available for a simple $5 per month price and includes 250GB of storage and 1TB of outbound bandwidth. There are no costs per request and additional storage is priced at the lowest rate available: $0.01 per GB transferred and $0.02 per GB stored. Uploads are free.

Spaces provides cost savings of up to 10x along with predictable pricing and no surprises on your monthly bill.

To make it easy for anyone to try, we are offering a 2 month free trial.

Scales with Your Data

Spaces is designed to scale automatically; as your application data grows, you won't need to worry about scaling any storage infrastructure. Although your Space can be configured to be accessed from anywhere, we realize that some customers prefer to keep their data close to their customers or to their own compute nodes.

To that end, Spaces is available in our NYC3 region as of today, and will be rolled out in AMS3 before the end of 2017. More regions will follow in early 2018—stay tuned for future updates.

Designed for Developers

Our goal was to simplify the essential components of object storage into a clean design. We tested several designs with developers to ensure Spaces was easy to use and manage with deployed applications. With Spaces, you can:

  • Create a Space in two clicks; just give your Space a name and you’re off to the races.
  • Drag-and-drop uploads and use multi-select capabilities, with more improvements to come.
  • Quickly change permissions and metadata for one to many files at once. This comes in handy when you’re setting up your application to sit behind a CDN, or applying uniform permissions and metadata across a large number of files.

You can use your favorite storage management tools and libraries with Spaces. A large ecosystem of S3-compatible tools and libraries can be used to manage your Space. (We’ve published articles about some of these tools on our Community site; find the links in the “Getting Started” section below.)

Secure, Reliable, and Performant

Files you store in Spaces are encrypted on physical disks with 256-bit AES-XTS full-disk encryption. In addition, you can encrypt files with your own keys before uploading them to Spaces. You can limit access to Spaces and the files within using your Spaces API key(s) and permissioning.

Files stored in Spaces are distributed using a fault-tolerant placement technique called erasure coding. Spaces can tolerate multiple host failures without blocking any client I/O or experiencing any data loss.

Spaces is designed to provide high availability for storing and serving web assets, media, backups, log files, and application data. At DigitalOcean, we use Spaces for a variety of applications including serving of web assets (html, images, js) for cloud.digitalocean.com, and for backups of data critical to our business. During the early access period, thousands of users stored millions of objects and Spaces performed as expected with low latency and high throughput.

Getting Started

Almost 90,000 developers and businesses signed up to try Spaces during early access. Find out more about how your application could use Spaces for cost effective and scalable object storage by reading these articles and tutorials:

Overview

API Documentation

Command-Line Clients

GUI Clients

We’ll be adding new features and regions over the coming months and look forward to hearing your feedback!