DigitalOcean is an IaaS(Infrastructure as a Service) provider that currently has 12 regions and around 80 million VPS’s deployed.
I apologize for the lossy image compression(you’ll know what I mean in a bit).
Signing up with DigitalOcean is a relatively painless process. All you need to create an account is an email and password, or simply sign in with your Google account. You’ll then be asked for your billing info and once that’s verified, you’ll be able to start creating droplets. I wouldn’t recommend creating an account over a VPN or proxy because accounts made that way will be flagged as spam, and you’ll need to go through the process of proving that you’re an actual human and not a bot.
Sign up with this link and you can get up to 2 months worth of free credits to get you started. You’ll also be supporting this site while getting that free credit, so it’s a win/win!
After you create an account, you’ll be spending most of your time in the dashboard, so it’s a big part of the experience. That being said, there isn’t really much to review here. But, what I will say, is that it’s clean and much less cluttered than other IaaS providers I’ve tried out.
Note: The selected options in the images are most likely NOT the default. I changed most of them to what I generally prefer to use.
DigitalOcean offers a wide variety of images for your VPS. Images are essentially what operating system and/or applications will be installed on your VPS by default. In general, the more options there are, the better. DigitalOcean definitely does not disappoint in this area. They offer the “standard” Linux server distributions(Ubuntu, Debian, CentOS, Fedora, and FreeBSD), container distributions, and one-click apps.
They currently offer the following Linux distros:
Here are the available container distributions
And here are the available one-click apps
One-click apps are one of the coolest features about DigitalOcean. Instead of starting with a bare distro, you can have a VPS spun up that’s pre-installed with a LAMP stack, LEMP stack, MySQL, or even WordPress or other apps!
DigitalOcean offers a large selection of available VPS sizes. They have everything from a $5 VPS with 1GB of RAM to a $960 VPS with a whopping 192GB of RAM! If you’re on a budget, or want as much power as possible, DigitalOcean has you covered in terms of available VPS plans. See all of their available plans on the pricing page.
Yet another cool feature DigitalOcean offers is the ability for automatic VPS backups. While I always recommend having off-site backups, it doesn’t make sense for everyone(especially if you’re just running a small blog). Since I have an off-site backup for everything important I do on my VPS, I don’t typically use this feature. However, for the vast majority of people out there, having the peace of mind that comes with backups can be achieved on DigitalOcean for just 20% of the VPS cost. For example, backups on the $5 plan will cost just an additional $1 a month. If you’re interested in this feature, I recommend you read the documentation.
If you need more storage than what’s included with your VPS, block storage is the best way to add some. It costs just $0.10 per GB per Month, and can be used just like any other disk connected to your VPS. You can even use it as the root partition for booting, although I don’t see the point in this. It’s easier to just put
/usr on the block storage, and have everything else on the local disk. Before you go ahead and add a few terabytes of storage just because you can, first check if you have enough on the VPS itself. Their $10 plan already has 50GB included, which should be enough for most people.
I’m on the $5 plan which has just 25GB of storage, and I still have around 30% free. In case you’re wondering, you can increase the block storage size, but not decrease it(because the risk of data loss is too high).
DigitalOcean currently allows you to spin up a VPS in one of 8 different regions. For most users, just choose the one closest to you or to your audience(if you’re running a website). The main exception to that rule is if you want a VPN to bypass geo-restrictions, but I don’t think most people are going to spin up a VPS just for that.
When you create a VPS, one of the last section is “Select additional options”. Here, you can choose to enable private networking, IPv6, user data, and monitoring. Private networking allows your VPS’s to communicate with each other without going over the public internet by using a private IP address. IPv6 support gives your VPS an IPv6 address on top of the included IPv4 address. I have no idea what user data does, and monitoring gives you the ability to see what processes are hogging resources from your VPS dashboard.
This is probably one of the most underrated features of DigitalOcean. If you manage a lot of servers, having different passwords for each one becomes a mess. So, you set up SSH keys, but then you have to manually add them to each server. DigitalOcean lets you copy and paste your public SSH key only once, and automatically install on new VPS’s. Just be sure to check the boxes next to the SSH keys you want to allow access to the server. “Main” is just what I named my SSH key in the case of the following screenshot.
Instead of just randomly assigning your VPS a hostname which you have to change after you log in, DigitalOcean gives you the option to set a default hostname. This can be changed later on from the VPS itself, but it’s nice to be able to have your VPS install with any hostname you want.
DigitalOcean has this cool feature called “Projects” which gives you the ability to separate infrastructure from one another. This is useful if you, for example, host multiple websites on different VPS’s because you can create a separate project for each of them. You can also create teams, but I won’t get into that now. If you don’t want to mess with projects, there’s a default one created with your account which you can use.
You can also create Teams, which allows for sharing access to resources without giving other people access to your whole account.
Right before you create a VPS, you are given a summary section. This is really nice because it allows you to verify your settings without needing to scroll through everything again. You can also create multiple VPS’s with the same settings, which can save you a lot of time if you’re setting up a website that has multiple servers behind a load balancer.
Managing the VPS
Since you only create each VPS once, chances are you’ll spend most of your time managing it. Luckily, DigitalOcean made sure to make this as simple as possible while not leaving any options out. After you’ve created your first VPS, your dashboard will look similar to the following:
Upon clicking on the Droplet name, you’ll be greeted with the following activity dashboard, assuming you enabled monitoring(by selecting the checkbox during the VPS creation):
There’s way too much here to cover in a single post, so I’ll just cover a few of my favorite features.
One of my favorite features DigitalOcean offers is console access. Console access lets you log in to your VPS and troubleshoot issues directly from your web browser(without a Java applet). This is mainly useful if you accidentally break networking or otherwise can’t access your VPS via SSH.
DigitalOcean also gives you the option to resize your VPS without any hassle. All you need is to press a few buttons, and log in to your bigger and better VPS. You can always upgrade, but you can only downgrade if you don’t change the disk size when you upgraded(so you also can’t resize to a smaller VPS than the original).
You can also rebuild your droplet with a different distribution or one-click app. You will lose all data, but you can still keep all your IP addresses, which means you don’t need to update your DNS settings.
The last feature I’ll talk about in this section is the recovery ISO. In the event you break your VPS to the point where it can’t boot, DigitalOcean has you covered with the recovery environment. You can reboot your VPS into a custom Ubuntu ISO(accessible over SSH or the console) where you can mount your VPS’s disk and troubleshoot from there.
I don’t have the time to actually compare VPS’s from all the IaaS providers out there, and I also don’t have the budget for Geekbench Pro. What I did do is use the free version of Geekbench on the cheapest DigitalOcean VPS, which you can check out the results for here, or look at the screenshot:
Geekbench 2 was the only one that would upload properly for some reason.
The DigitalOcean pricing structure ensures that you always get the best prices. They advertise a monthly price and an hourly price for each VPS, so it may seem confusing at first. Here’s how it works: you’re charged hourly up to 672 hours a month, after which you pay just the monthly price. So if you spin up a VPS for a few hours, you’ll be charged a few cents and not the monthly price. On the other hand, even on the longest months, you’ll never pay more than the monthly price for a VPS.
If you sign up using this link, you help support us and get $100 of credit to use over 60 days.