This week DigitalOcean introduced their own object storage platform called Spaces. Initially the service will only be available in the NYC3 data centre but is expected to be expanded to other locations over time.
Build Your Own
With so many object storage platforms already out there, do we need another? Well according to this blog post from the company, around 90,000 developers signed up for the early access program, so clearly demand is there. That aside, all vendors are going to want to offer a “full service” of features to make their platform more attractive. However, it’s more than that; having content close to where compute will be means tasks that are latency sensitive can run as fast as possible.
Spaces is initially priced at $5 for 250GB, including 1TB of outward bandwidth (loading data into the service is free). This is $0.02/GB, just below what AWS charges for Standard Tier S3 and pricing is the same cost pro-rata for everything above 250GB. There’s also a free 2 month trial, which I’m currently signed up for.
File or Object
Spaces is really simple to set up; just choose a name and location, decide whether content is public or private and away you go. From that point, it’s possible to upload content through the GUI. With the ability to put content into folders, Spaces feels very much like a file sync ‘n’ share service. However, look at individual file content and there are options to set permissions and metadata on individual or groups of objects. So this is a file/object hybrid.
Look more closely at the metadata and you’ll see a recognisable AWS S3 API format. Spaces does support S3 API calls – more details can be found in the documentation. Coming to the market this far into the evolution of object storage, it’s no surprise that S3 is the defacto protocol here. This should make things relatively easy to port, but at this stage I’ve no idea how compatible the API interface is compared to the real S3.
The Architect’s View
I can’t see anything to show what underlying technology is being used for Spaces. It could be Minio, but that’s a guess purely on the Go code samples. Although it doesn’t matter too much where the technology has come from (home developed or existing platform), it does help customers to understand the maturity of the platform and risk of code bugs. It would also be good to see some detail on futures, such as timescale for rollout and how resiliency is managed intra and inter-data centre. There appear to be no published SLAs. Yes, this is a developer community, but developers cost money even when they are not working.
If you’re already developing on DigitalOcean and need an object store, Spaces makes sense. However, another data service represents another location to fragment content into. That universal data layer continues to be attractive.
- Minio Website (retrieved 21 September 2017)
- DigitalOcean Spaces (DigitalOcean website, retrieved 21 September 2017)
Comments are always welcome; please read our Comments Policy. If you have any related links of interest, please feel free to add them as a comment for consideration.
Copyright (c) 2009-2017 – Post #CED2 – Chris M Evans, first published on https://blog.architecting.it, do not reproduce without permission.