In February (before these Unprecedented Times), I decided it was time to play Explore That Cloud with DigitalOcean. They’d be sponsoring some of my nonsense in the near future, but this is why I have sponsorship folks on my end—to serve as an editorial firewall.

Unfortunately, that investment won’t save them. But it does get me a link that offers free credits to experiment with. So in I go.

1. You can use GitHub to OAuth into DigitalOcean

On one hand, I’m immediately taken aback by the idea of using GitHub to OAuth into my cloud provider.

Then, I realize that this is patently absurd. They have all of my code already.

Hell, GitHub is where I store my access credentials accidentally anyway!


2. Some gripes about the signup flow

I reach an oddly designed interstitial page where Cloudflare asks me whether I’m a sarcastic robot, and this all offends my robotic nature.

I’m not doing anything nutty here. It’s my home internet connection.


Google’s recaptcha then tells me to hurry up.

“We need you to do unpaid AI work for us quickly—before the car blows through the intersection!”


After a quick Click here to confirm your account email, I’m in.

Now, I have to set up billing. They accept bitcoin.

Just kidding: Can you even imagine? They’re running a business—not a money laundering scheme!


This always grinds my gears: It autofills my address using some service but then insists I type the zip code myself. Then it corrects it to the longform zip code.


3. The marketers have gotten to their signup flow

Since What are you using it for? Is now a mandatory question, it’s evident the marketers have made their impression on DigitalOcean’s signup flow.

Next up, a Which technologies are you going to use with it? question. I pretend I work at iRobot and these are AWS services, so I select them all.


At DigitalOcean’s marketing department, it is now Gin O’Clock.


4. DigitalOcean has a nice dashboard

Credit where credit’s due: DigitalOcean’s dashboard passes my Iron Test of Bullshit and doesn’t try to show me everything I’ve selected.

Nothing it’s suggesting is patently unreasonable other than the insulting insinuation that I’d use Docker willingly.


5. Time to spin up a *nix instance

It’s going to be pretty embarrassing for DigitalOcean if this fails. This has been their bread and butter since they launched.

FreeBSD is a first-class citizen! As one of my favorite OSes, this is a welcome thing to see–albeit not for me this time.

Instead, I’ll kick the tires on one of their Linux distributions. I pick Ubuntu, since my CentOS days are a bit behind me, and I don’t see IBM doing much to change that post-RedHat acquisition. I don’t feel like being insulted if I have to ask for help with anything, so that rules out Debian entirely. And though I expect to run this thing for all of 20 minutes, there’s a great chance Fedora with its 9 month lifecycle will go end-of-life before then.


This is a dark pattern. It implies that the least expensive option is $40 a month rather than the $5 a month option. If I hit that arrow on the left, it exposes a few less expensive options, but it’s counting on me not knowing that. That’s just poor form.


A quick check shows that their offerings break Cloud Rules and apparently charge customers the same prices everywhere, so I’ll go ahead and pick San Francisco. This is a welcome change!

I hope this isn’t hosted by the creaky shack with flickering power known as Hurricane Electric. I want this thing to stay up for the full 20 minutes!


6. Another marketing misfire

Here’s another marketing misfire in a different direction. It’s almost beyond belief that IPv6, private networking, and monitoring would all be free add-ons. I had to double-check.

Some advice, DigitalOcean: Promote that those things are all free on this page!


It defaults to a one-time password that it emails me.

The one-time gives me hope. It sure beats the dismal IBM Cloud approach of storing the password forever in cleartext, visible in the console.

SSH keypair authentication is, of course, an option, too. Selecting SSH keys simply pops open a dialogue—Paste your public key here, name it, and hit save—then gets out of my way.

What sorcery is this?! Doesn’t DigitalOcean know it’s supposed to blow me completely out of the signup flow to another site to upload my key?!

7. There’s a lot going on here

For example, “Tags” aren’t the key/value model other clouds use, so that takes a bit of getting used to. But, upon reflection, it makes tons more sense to me.

Click here to enable backups is freaking awesome. Smart people will select this.


I click Create Droplet, and it’s up before I can do a screen capture.

Uh, this is different. Take that Amazon’s one-day shipping!

This is a bit conflicting: The username with the SSH key is root. My ancient Unix admin origins shudder at the idea of logging in as root; my modern sensibilities tell me that “root versus passwordless sudo are functionally the same.”

I’m not sure how to feel.

And what’s this? DigitalOcean offers a managed database.


As with virtually every cloud provider, there’s a metadata endpoint. It’s not authenticated, but it also doesn’t grant access to credentials, either.

Please don’t put credentials in user data in any provider. There are better ways.


They offer a bunch of other things, too, like databases, disk volumes, an object store called Spaces, monitoring, a full API, and—because we’re in the darkest timeline—managed Kubernetes.


And this is awesome—a security log that:

  • Doesn’t take 20 minutes to log events
  • Is easy to understand
  • Doesn’t charge me for the privilege

This is one of those user-centric features that shows some serious attention was paid to the cohesive experience.

8. There are a few striking things about this platform

Most notable is the sense of cohesiveness. The Databases and Spaces dashboards, for example, don’t feel like they’re built by demons dwelling in hell, forbidden to talk to the angels on the billing team.

There’s not a sarcastic number of certifications you can get on DigitalOcean technologies, either. And the bill is “basic arithmetic” levels of complexity to predict.

Beyond that, their documentation is phenomenal. Not only does it have an authorship date, but also a date of most recent validation.

Well, they’re not a serious contender because they don’t have an AI-powered piano or a service that can talk to satellites in space! Whatever you say, techbro. But take a look at what your company’s workloads look like before saying this is incomplete.

My blog post about DigitalOcean vs. AWS from last October remains unaltered to this day.

9. They get the technology right

Next, I give my rabid fanbase the opportunity to determine whether I should offer suggestions to improve DigitalOcean’s technology or marketing.

The people have spoken. Technology it is.


This is the less interesting path, mostly because DigitalOcean basically gets things right from a technology perspective. Barring services like managed k8s, the core functionality I just tested is largely unchanged for years.

There are some edge cases (e.g., I saw complaints about their IPv6 strategy in my mentions), but this is incredibly well done, extraordinarily accessible to newcomers, and delivers exactly what it says it will.

You can whine or cry about 15-50 more managed services you’d wish they’d offer. But instead, they’ve chosen to focus on polishing this experience until it shines.

Even GCP has way more friction in getting a basic VM up. And they’re pretty freaking good, too.

In conclusion, DigitalOcean claims over 500,000 customers. And it’s not very hard to understand why.

This was a great user experience, start to finish. Kudos, DigitalOcean. You deserve it.

(“Alone at the Beach” by Trey Ratcliff is licensed under CC BY-NC-SA 2.0)