The basic DigitalOcean product#
We’re going to take a look at what the DigitalOcean UI looks like in a bit, but first, it’s worth breaking down the different types of things that cloud providers like DO offer. You can generally split software into 3 categories:
- Infrastructure as a service – low level, basic servers with operating systems. You need to install any software you want to use and configure accordingly.
- Platform as a service – some of the process of installing, configuring, and maintaining software is managed for you.
- Software as a service – you don’t think about infrastructure at all. Think: Gmail, Twitter, Salesforce.
You can read more about these categories in depth in the aforementioned post. Cloud providers like DigitalOcean started by offering just #1, but have expanded to offering #2, and in rare cases, even #3. Keep an eye on these categories as we talk through the popular parts of the DO product offering. And for each product, note how simple and straightforward the process is compared to a more powerful, complex product like AWS.
Our journey begins on the homepage, where you can see a clean view of every different type of server that you have running and what its status is (note: there is no page of this according simplicity on AWS).
In my case I have two Droplets, one Space, and one Kubernetes Cluster. What are those? Keep reading!
1. The OG: Droplets#
The Droplet was DigitalOcean’s first product and is still the most popular one today. It’s your basic rented server in the cloud that you can run anything on, from a web application to a database.
To create a new Droplet, you just need to pick a few things:
- Where do you want it? DigitalOcean has data centers in New York, San Francisco, Amsterdam, and many other places around the world.
- What image (template) do you want? You can pick versions of popular operating systems like Linux, use a custom one that you upload, or even an entire pre-configured app with software already installed via their Marketplace .
- **How big and strong do you want it? ** You can pick from different sizes of Droplets, and different configurations optimized for different types of applications. Bigger ones cost more.
- How do you want to access it? You can pick from your existing SSH keys, which you can think of as your ID Card, to log into your server with.
That’s basically it, minus a few small tweaks here and there. You don’t need to be an expert in the DigitalOcean ecosystem to understand what any of these things mean. And the total price, both monthly and hourly, of your chosen configuration is frozen on the bottom of your screen:
Once you create your Droplet, you get a nice screen with details about it, how it's performing, and the ability to make chances like adding new SSH keys or storage options.
By the way, you can create and manage your Droplets from the command line (your Terminal) too, not just from the web UI.
2. Droplet support: Volumes, Spaces, Backups, Snapshots, etc.#
Because the Droplet is the central currency in the DigitalOcean universe, most of the other products in the ecosystem are mostly supporting that Droplet. In no particular order:
- Volumes let you attach permanent storage to your Droplet. It’s like the hard drive on your computer. So when your Droplet goes to sleep, or you destroy it, you don’t lose all your data.
- Spaces let you store objects, like videos, images, and files, and easily access them later on.
- Backups and Snapshots let you backup your Droplets in case anything happens to them.
- Load Balancers let you distribute traffic among different Droplets so no individual one gets overwhelmed on your app’s popular days.
There’s more to cover here, but you get the gist. Each one of these add-on products costs money, usually in consonance with how much you’re using.
3. PaaS: apps, databases, K8s#
Since Droplets, DO has invested a lot in platform-as-a-service (PaaS). As a refresher, these kinds of products go beyond just a simpler server and automate some of the tedious parts of infrastructure management: usually things like installing software, networking servers together, and upgrading and maintaining said software.
DigitalOcean’s first managed service was Databases, which they released right around when I started there. Instead of installing, running, and managing your own database on a Droplet, you can pay DO extra to do that for you. Creating it is straightforward:
You pick your location, pick your database, and then decide how big and powerful you want the underlying servers to be. DO automatically installs the database software, takes care of backups, upgrades to new versions, and other nice stuff. Most startups I’ve worked at have opted for a managed database option like this (AWS’s equivalent is RDS) instead of doing it themselves.
If you’re heard of companies like Supabase and PlanetScale and wonder where they fit in, they’re basically independent alternatives to something like DigitalOcean’s managed database service. Their offering is usually more feature rich since the whole company is focusing on databases, while DigitalOcean’s managed databases is one of many products they support.The other managed services that DO offers – Kubernetes, serverless functions, and apps (think Heroku) – are similar in nature. DO Kubernetes in particular is impressively easy to get started with (even I was able to do it).
What makes DigitalOcean different#
So far, this post might sound very similar to one I could have written about any other cloud provider. And that’s true! But what makes DigitalOcean different is their focus on simplicity and user experience. They want the experience of creating a Droplet – or even an entire Kubernetes cluster – to be easy and simple, and they spend a lot of time and effort making that happen. This comes with a tradeoff though, which we’ll see in a bit.
For an illustrative example, let’s go back to the screen for creating a Droplet, the basic server in DigitalOcean’s cinematic universe. The equivalent to a Droplet in AWS is EC2, which is short for Elastic Compute Cloud. Here’s the Droplet create screen, in full scroll:
And here’s the corresponding page for AWS’s EC2:
Compared to creating a Droplet, creating an EC2 instance is comically complicated. There are 100 things to configure on the screen, each with some proprietary, poorly explained name. And it’s not entirely clear what the pricing consequences are of any particular choice.
It’s not that AWS can’t make something simple – obviously it’s better for something to be easy to use than hard to use – it’s that they’re focusing on a different clientele. For most AWS users, the power and flexibility of those 100 different options is exactly why they’re there. And in many cases, DigitalOcean’s products don’t have what those developers need. So I like to think of it as more of a “different strokes for different folks” kind of thing.
For that reason (among others, like reliability issues), DigitalOcean has had a mixed reputation when it comes to being a “serious” cloud provider. Most of their business has historically been driven by individual developers running smaller projects on Droplets, often just a simple blog or VPN. Over the past few years, they’ve been trying to move upmarket with more managed services and important underlying features like VPCs.