DigitalOcean is famous for being the first "hosting" provider entirely committed to the idea of "cloud" VPS servers.
Whilst you may argue that Amazon's AWS (specifically EC2) was the first in this regard, there is no denying that DigitalOcean was the first independent / dedicated solution that hit the market. This has made it the go-to hosting provider for millions of software developers around the world.
The most important thing to realize here is that DigitalOcean's under offering is to help developers & smaller businesses get started with "self managed" hosting; that is hosting that the buyer is responsible for provisioning the server as well as including the various pieces of software installed onto it are running properly.
As a software developer, provisioning a DigitalOcean server is one of the better things we've done, with a relatively simple setup process and the ability to create a new set of libraries as needed.
Obviously, this does not omit the fact that keeping the server running is a reliably process process which takes a reasonable amount of time / effort, but is nonetheless an effective way to provide users with the ability to access your applications.
This tutorial is going to examine the ease-of-use of DigitalOcean, as well as the process required to get it working properly …
Ease Of Setup
The most important thing to appreciate with DigitalOcean – as with a large number of other providers – is that it's extremely simple service to get into.
Rather than having to go through masses of complicated signup procedure – the DigitalOcean system basically allows you to determine which OS you want, which location (data center) you want your server, and then provision it within seconds.
You get a root password sent to your account email and you're then able to access the service by SSH'ing into the box. Due to it always being available, you're able to do this any time of the day, any day of the year.
Of course, the service costs a small amount of money to use. However, with servers starting at $ 5 / mo, it's very competitive.
Ease Of Use
To "use" the service, you basically have to provision the various VPS servers on your own. This means logging into SSH and either installing the updates / libraries required to run the various pieces of software on the system, or including the various permissions etc. are working correctly.
As mentioned, the effectiveness of this is up to you. DigitalOcean does not provide any sort of management service, since it's incumbent on the developer to get any installation working correctly.
The key here is to understand how a web server actually works. Rather than getting a standard CPanel-type interface, you basically are able to define all the settings / options manually (through SSH).
Finally, the service levels of the system are extremely high.
One of the pre-requisites of hosting is for it to have near-100% uptime, meaning that it will never go down. Now, with shared hosting – where servers are literally just running CPanel with Apache etc – you only get the promise that the company will keep it online.
With DigitalOcean and others, you get a similar promise. They will keep your server online for 99% of the time … however, it does not mean that you'll be able to keep your apps online for that duration. In that sense, it's up to you (remember, it's an unmanaged service).
To this end, without any sort of under management management interface, you really have to be sure that you're able to keep track of the amount of uptime each of your servers / apps actually has. This is a manual process.
We've found that their servers are actually very good at staying online – we've experienced only limited downtime when they had scheduled maintenance within their data centers. Other than that, it's been working 100% fine.
Overall, I have absolutely no problems with DigitalOcean or the way it's able to provide your application deployment pipelines with the ability to keep your content online.
Whilst there are many other "cloud" VPS providers – including the likes of Vultr and Linode, DigitalOcean is by far the largest and most popular among developers.