Comparing Cloud Storage Options: DigitalOcean

Comparing Cloud Storage Options: DigitalOcean

Sarojini Devi Nagappan
12 May 2020

 

DigitalOcean, similar to Amazon S3 and Google Cloud Storage, has its own cloud storage services called Spaces. It is a highly reliable, scalable object storage for backups, logs, archives, or web assets and can be easily managed via the CLI, API, or any S3 compatible tools.

DigitalOcean Spaces Overview

DigitalOcean initially started offering SSD storage space and later introduced block storage built with CEPH. Spaces like block storage are also built with CEPH and it is an object storage service built for the cloud environment. It uses an S3-compatible object storage API, therefore it can be hooked on S3 compliant applications. It is easy to set up without any complicated configuration and put to use immediately. Once the setup is complete, create a space, then you can start uploading files via a simple web interface. 

Digital Ocean Spaces

DigitalOcean Spaces Key Features

High Availability

Since Spaces is built with CEPH, therefore, it inherits the characteristics of CEPH the open-source widely adopted distributed storage. CEPH was built for redundancy and is able to recover any node failure without compromising data integrity and availability.

Content Delivery Network (CDN)

Content Delivery Network is a globally distributed network of web servers to deliver static content faster. The static content can be any sort of data including webpages, streaming audio and video, and any large data packages. Since the data is geographically distributed, it avoids bottlenecks and content gets delivered to the users twice faster rather than content from a single dedicated server. Each point of presence (PoP) of the server sends contents to the user closest to it. Spaces come with free CDN which helps to deliver content faster and securely by minimizing page load times with reduced bandwidth. CDN can be enabled at any time with a few quick configurations. Spaces CDN points of presence are available in any region Spaces are available.

Content Delivery Network (CDN)

Unique URLs with Specific Naming Conventions

Spaces subscription allows you to have multiple spaces with unique URLs. Each URL has a pattern which clearly shows the region storage is in and the space name: region.digitalspaces.com/spacename. When Spaces is CDN enabled, each request comes with a unique URL, including the URL's query string, is treated as a unique asset, and has its own cache. 

DigitalOcean Spaces Constraints

The following are some of the Spaces limitations reported by DigitalOceans which is good to know before subscribing to it.

  • You still need to pay for space that you have not used
  • Sharing ownership of Spaces is currently per account, not per Space
  • You need 3rd party tools to set permissions recursively
  • You cannot delete more than 10000 files AT ONCE via a control panel
  • They have yet to support many regions like Amazon or Google Cloud

Backup Ninja on DigitalOcean Spaces

DigitalOcean Spaces works well as a cloud storage provider for many  S3 compliant tools and services. Backup Ninja is a database backup tool which allows you to configure your storage either locally or using a cloud provider like DigitalOcean, so if you have a database and a cloud storage space. 

Configure DigitalOcean as a Cloud Storage on Backup Ninja

Once you have got a space configured on Spaces in DigitalOcean, the access key and its password are all you need to create the credential on Backup Ninja. The following are the steps to get on Backup Ninja.

Step One

Select DigitalOcean as your cloud provider

Select DigitalOcean as your cloud provider

Step Two

Choose the preferred region closest to you.

Choose the preferred region closest to you.

Step Three

Enter your credentials. You need to copy the access key and secret key from the Spaces (in DigitalOcean) access key panel. 

Enter your credentials.

Step Four

Complete your configuration by giving your cloud storage a name. The cloud storage name will be used when you want to schedule your backups later.

Complete your configuration by giving your cloud storage a name.

Schedule Your Backups on DigitalOcean Using Backup Ninja

Now that you have configured your DigitalOcean Spaces credentials on Backup Ninja, you can start scheduling your backup on spaces via Backup Ninja with the following steps.

Step One

Fill in your schedule settings. This is where you name your schedule and select the database server for backup.

Fill in your schedule settings.

Step Two

Select the storage location. Here you can select the DigitalCloud cloud credential created earlier from the drop down for Cloud Credentials. By default, the retention period has been set to 7 days.

Select the storage location.

Step Three

Next is to configure some simple settings for your backup schedule including its name, compression type, and encryption. You can choose to leave these settings at its default values.

Next is to configure some simple settings for your backup schedule including its name, compression type, and encryption. You can choose to leave these settings at its default values.

Step Four

The last step is to specify if the backup schedule needs to run hourly, daily, weekly, or monthly.

specify if the backup schedule needs to run hourly, daily, weekly, or monthly.

Conclusion

Like other cloud storage providers, DigitalOcean has many different products, including cloud storage service called Spaces. While it provides many similar features to its competitors like AWS, Google Cloud Storage, DigitalOcean stands out as a reliable developer tool. Its capabilities make it a one stop solution for developers as it has Droplets for virtual machines, Spaces for storage support for containers like Kurbenates to deploy and manage on the cloud. As for the downside, it can be rather tricky to setup a complete ecosystem DigitalOcean cost effectively. It also has a relatively complicated control panel which makes it not a user-friendly platform for beginners. To wrap it up, DigitalOcean is great for mid-range users with adequate technical knowledge, a moderate budget, and in the lookout for high availability and security.