Review: DigitalOcean keeps the cloud simple

With a great UI, fast machines, low prices, and useful guides, DigitalOcean is an excellent choice for developers

Review: DigitalOcean keeps the cloud simple
Thinkstock
At a Glance

The cloud is a big place, and it’s getting bigger as everyone moves more and more computation out of their server rooms into the large datacenters. Amazon is the dominant force in the cloud, but it is far from the only choice. When the market grows this big, niches can develop. DigitalOcean is a company that has found a fertile niche by branding itself as the developer’s choice.

This sounds like an obvious ploy because, well, developers make many of the initial decisions about where to build a new website or database. It’s not like the CEO or the folks in the motor pool have much to do with it.

But there’s a bit more to it. DigitalOcean is going after the independent developers who handle many of the smaller projects for the bazillion smaller companies that need a website. To attract them, it dangles fast response time and low prices, two features that are attractive to the folks who build up and tear down machines all day long. DigitalOcean claims that new machines will be ready in 55 seconds, which sure seems to be true.

The prices are also good. You pay a mere $5 for a month’s rent on the smallest “droplet,” which is DigitalOcean’s term for what others call an “instance” or a “virtual machine.” (DigitalOcean, by the way, seems have its own name for other common terms. Load balancers, for instance, are “floating IP addresses.”)

The $5 droplet is a pretty good deal. You get a small machine with 512MB of RAM, 20GB of SSD storage, and one core of a processor. Billing is done by the hour at seven-tenths of a cent. That’s cheaper than penny candy.

But many will want something with more RAM, and the table of prices is pretty simple. Bigger machines cost more, with the amount of RAM as the main factor. Paying N times as much generally buys you N times as much RAM. Disk space, processor cores, and network bandwidth don’t increase linearly with price, rendering the low-end machine one of the better bargains.

A thicker slice at a nice price

The pricing formula suggests that DigitalOcean is targeting smaller projects, those traditionally hosted on shared machines. The DigitalOcean machines are still shared, but each droplet runs in a separate virtual machine with its own version of the operating system. Developers who used to scrimp for their clients by choosing accounts shared with the same version of the OS can now get root for a price that’s often less than what many shared servers cost.

The upside is the chance to install libraries and tweak performance without running into other users. Everything under the hood is yours.

The downside is that the freedom and opportunity require a bit deeper understanding of the basic operating system. If you’re good with using Linux, then you’ll see DigitalOcean as a wonderful deal. But if you’re coming from the world of cPanel, you’ll need to learn how to install and upgrade your own stack of software.

That’s where DigitalOcean’s large catalog of tutorials comes in. As of this writing, there are 1,529 tutorials in the DigitalOcean community pages, and they’re pretty detailed with lots of commands spelled out. Newer, less seasoned developers will hit some of the big ones like initial Ubuntu Server setup or securing Nginx with Let’s Encrypt. But the 1,529 aren’t all for new users. I was intrigued to find hardcore topics like spinning up CoreOS and Docker clusters, installing the ELK stack, and even building Go from source.

It’s worth noting that DigitalOcean encourages the curation of these documents by hiring in-house writers and offering credit to both authors and editors. The formula seems to be working. The result is a substantial library of surprisingly good documentation. DigitalOcean seems to understand that the life of the developer revolves around starting up and shutting down servers all day long. If you’re building something and testing it in a separate machine, DigitalOcean helps make this as quick and painless as possible. I did this a number of times when writing this review, and it was simpler than spinning up instances on many of the other clouds. Several of the competitors have option-laden windows and complicated tables on their sites. DigitalOcean is a bit more like a nice consumer site.

DigitalOcean also tries to quicken the startup time by offering a large collection of scripts that will install and configure many of the standard tools you might want to use. Node.js, ELK, Redis, and MongoDB are a few of the standard images that are ready to run. The list is far from exhaustive—there are plenty of tools I don’t see (Java, for instance)—but it includes the stacks that seem to be the most popular now. Of course, there’s nothing stopping you from adding your own code to raw versions of Ubuntu or FreeBSD.

digitalocean datacenter regions InfoWorld

You can deploy your DigitalOcean droplet in any of 12 datacenters in seven countries. 

Faster than a speeding droplet

To test the speed of DigitalOcean’s droplets, I booted a few, installed Ubuntu, and ran a few Java benchmarks (DaCapo). While these benchmarks are getting old, they still offer a relatively quick way to push the droplets with relatively heavy computation, then compare them against other machines.

While not all of the benchmarks ran to completion because of issues with libraries and the amount of memory, in general the results were faster when compared to some of the competition like the SmartOS machines from Joyent. The Jython benchmark with compiled Python running on a Java interpreter took 13.54 seconds on the droplet with 2GB of RAM compared to 23.0 seconds on Joyent’s instance with 2GB of RAM. But the Aurora simulation of microprocessors takes 15 seconds on Joyent’s instance and 16.3 seconds on the DigitalOcean droplet.

The difference is that Joyent’s machine costs 5.3 cents per hour while DigitalOcean’s costs 3 cents per hour. In general, the results were fairly similar, but some were markedly faster on DigitalOcean. The Lucene tests, for instance, ran much faster on DigitalOcean’s droplets, suggesting that the disk speeds are better. DigitalOcean likes to brag about the SSDs in its racks.

I also compared the smallest DigitalOcean droplet with a t2.nano, the smallest machine from Amazon. It seems clear that both Amazon and DigitalOcean intended for these offerings to compete against each other. The t2.nano is priced at 0.65 cent per hour, a smidgen under the 0.74 cent an hour charged by DigitalOcean. Both come with 512MB of memory. Both were also similar in speed, with Digital Ocean being slightly faster at Lucene indexing (1.9 second to 2.3 seconds), but Amazon was slightly faster at searching (13 seconds versus 13.5 seconds).

It’s important to not put too much faith in these numbers. The differences show that the performance varies quite a bit with the code, and the only true test is to load up your own stack, press the button, and see what happens. Indeed, I found that the performance changed quite a bit with different runs. When I used the “converge” option on the benchmarks and asked them to run several times before timing, the t2.nano usually ended up 30 to 100 percent faster than the DigitalOcean machine. But this may not indicate any long-term, sustainable performance because it’s common for the cloud companies to allow bursting with unused cycles. Again, your mileage will almost certainly vary.

digitalocean monitoring InfoWorld

DigitalOcean offers a few options, including additional storage, private networks, load balancers, and monitoring, which is currently in beta.

A cloud of essentials

DigitalOcean doesn’t provide managed database services, CDNs, messaging services, developer tools, or the fancier features you'll find on Amazon, Azure, and Google. There are no Windows instances or object storage. You get the major Linux distros and FreeBSD, 14 instance sizes, and a dozen datacenter regions to choose from.    

DigitalOcean does offer a few useful extras. If you click one check box, DigitalOcean will do regular backups of your machine for an extra 20 percent per month. You can also click boxes for additional storage, a private network, performance monitoring, and IPv6 networking. There’s not much else, though, that gets in the way of spinning up a server.

While these prices and performance specs shows that DIgitalOcean is often a good deal that delivers as much performance as the biggest players, I can’t help but feel that DigitalOcean isn’t a direct competitor for the others. It is built to be simple and quick from the pricing to the configuration to the startup. I often feel lost in Amazon’s immense collection of products and services. The different pricing models and options for prepurchasing or bidding on spot instances on the Amazon cloud makes my head hurt.

DigitalOcean is not confusing, and that’s bound to appeal to the developers who build and maintain many of the smaller systems on the net. If you’re part of a team working behind the scenes, you can afford the time to understand and tweak the bigger clouds. A friend recently showed me the budget for a project that included a full-time “Amazon engineer”—in other words, someone to keep the cloud running. DigitalOcean isn’t that complex. If your job is simply delivering solutions, then DigitalOcean is a pretty good choice. There aren’t many ways to go wrong. A few simple clicks and you have root.

At a Glance
  • DigitalOcean is a clean and simple compute cloud that is fast and easy to use.

    Pros

    • Clean and simple UI makes it quick and easy to get started
    • Huge catalog of useful how-tos and guides
    • Fast machines at low prices
    • A few nice extras like automated backups and monitoring

    Cons

    • None of the more specialized devops tools, platform services, and analytics stacks offered in major clouds like Google, Microsoft, or Amazon (only bare-bones IaaS)
    • Fewer choices in prebuilt instances than other clouds

Copyright © 2017 IDG Communications, Inc.