/ New Features

Fly + Digital Ocean: Flying Spaces

Yesterday, Digital Ocean announced Object Storage. Digital Ocean users can now glide through clean and intuitive interfaces to store objects of all varieties on an auto-matically scaling and redundant private cloud. Today, Fly users can add it to their hostnames along with Heroku, GitHub Pages, and more, as they build one hostname to rule them all.

Happily Objectified

At first glance, object storage feels familiar. Drag-and-drop files, send data over an API, mm-hmm -- isn't this just like... Amazon S3? Well, yes. Yes, it is! But, Digital Ocean's offering is significantly cheaper and is a step in the right direction for quelling the lock-in anxiety AWS customers have been feeling of late.

How much cheaper? The minimum price for Digital Ocean Spaces is $5 USD, which gets you 250GB of storage and 1TB of data transfer every month. Using the AWS S3 storage calculator, the same on AWS would cost you $97.82 USD. Guh!

For those unfamiliar with what makes Object Storage special, let's take a brief look. Object-type data can be anything; tied to the anything is an expansive approach to meta-data. Tied to the anything and to the meta-data is a unique identifier so that the object is easy to find and not tied to a physical location.

When compared to Block Storage, Object Storage is not split into blocks; the mass of data is stored as an object. What makes this so valuable is the limitless amount of meta-data that one can tie to the object. You can say when, where, why, how secure, how often; the power in meta-information is direct and expedient access. When Object Storage systems grow, their growth is flat and unhindered by a hierarchy.

Grow they will! Object Storage is an excellent fit for inflating assets like logs, backups, and user content. Object's are not stored in isolation, either. Depending on the host, multiple copies of objects are held across multiple nodes. This makes them redundant, available, and immune to weird techno-afflictions like bitrot.

Fly Objects

Fly is a global Application Delivery Network that lets you construct one hostname to rule them all. With it, you can thread a medley of backends, services, applications, storage mechanisms and functions to your hostname. Once threaded, you have a network of global edge-servers at your disposable to write logic into and deliver traffic from.

You can, for example, attach Digital Ocean Spaces to a /subfolder/ on your root domain; for example, if you take user uploads, you can have your private Spaces accessible at onehostname.com/uploads/, and serve it from edges around the globe over HTTPS.

Once mounted, you can use routing rules to determine which traffic you'd like to direct at that URL and implement a variety of useful Middleware to weave features into your request/response path; is a user uploading a file? Why not write an AWS Lambda or Google Cloud Function to compress the data prior to it landing within your Object Storage?

Connecting it is simple. Let's step through it...

First, you'll need a Fly account and a Digital Ocean account. Within Fly, select the Digital Ocean Spaces backend. Once there, you'll need to retrieve some information. Over to Digital Ocean!

First, create your space. You can give it any name that you'd like. As of writing, there is only one region: NYC3. Fly will support them all as they continue to roll-out. We'd recommend creating a private space by default. Through Fly, you can dictate whether things are truly private or public.

Next, we'll want to manage our keys.


Create a token -- any name will do, we want its key value and its secret.


Now, we plunk the data within Fly:


Once we've done this, we can now set-up a rule to route traffic to it however we'd like:


Now any requests to onehostname.com/uploads/ will reach our spaces; if a file is there, it's accessible via onehostname.com/uploads/file.name.


A service like Digital Ocean Spaces is a gift for many developers. Digital Ocean creates beautiful and intuitive products. Super-charging their latest Object Storage offering by sending your traffic through a tool like Fly is a simple way of elevating your traffic to be fast and secure for anyone on the planet; all without having to wrangle complicated infrastructural pieces.

Fly is a platform that helps you build and launch dynamic applications to users around the world. It's a bit like a global load balancer, a smart reverse proxy, a library of powerful Middleware -- all sorts of fancy things! Woven together, it's a fast, powerful, and intuitive network that creators like you control. It's free to sign up, as are your first 2,000,000 requests and 100GB of data transfer every month.

Kellen Evan Person


Kellen Evan Person

A polite, forest-dwelling Canadian who enjoys coding and writing. He's spent near two decades building web applications and strives to keep development fun and light-hearted.

North Vancouver, Canada