DigitalOcean (DO) is a smaller player in the public cloud market. They offer the basic services like creating managing VMs (Droplets), spaces (equivalent to AWS S3). They also offer networking and monitoring services akin to AWS Route 53 and Cloud Watch respectively. Also DigitalOcean does organise their Load Balancer, Firewall, and Virtual Private Cloud (VPC) services under the network section. Whereas, in AWS these services are spread out in the EC2 and Security section. Let's have a look at some of the features and capabilities that DO has.
Disclaimer: I have not been paid by DigitalOcean to write this review
DigitalOcean's project based strucutre of the cloud console makes it very easy to organize the core resources. Droplets, volumes, and databases and more can be organized into the projects. Although not all resources can be assigned to a project yet. Kubernetes clusters for example cannot be placed under a project.
Droplets are the basis for all the computing that you can do on DigitalOcean. These are virtual machines (VMs) that run a variet of operating systems. DO provide's a variety of nix based operating systems. Ubuntu, FreeBSD, Fredora, Debian, and CentOS are the traditional operating systems available for creating on any droplet. RancherOS is also available as a container based distribution. They also provide a marketplace of one click install apps and the ability to create custom images.
The downside is that there are no other operating system options. This is definitely an area of improvement for this base functionality. Offering Windows Server options will attract more enterprise customers that are solely working on Windows technology.
I've never had the need to use Windows personally. I've been very happy with the selection of the OSs available with DO. I mostly use Fedora, CentOS, or Debian for my projects and they've served me well. All OSs are generally kept up-to-date with last two or three version still available for use.
The prices range from $5/month to $1440/month all in USD. For $5/month you get 1 GB RAM and 1 vCUP on a shared infrastructure. Plus a 25 GB disk and a 1000 GB of network transfer. The basic shared CPU infrasturcture also scales up to 16 GB/8 vCPUs, 320 GB disk, and 6 TB network transfer. There are slo dedicated CPU VMs available for General Purpose, CPU-Optimized, and Memory-Optimized workflows.
For my personal projects and prototypes, I've never needed anything higher than $5/month. I've been able to horizontally scale when needed.
While creating a Droplet you are also given the option to add a volume, choose a datacenter, set a VPC network, select additional options, add SSH or password authentication, select the number of droplets to be created, add tags, select a project, and enable backups.
The simplicity of the creation process makes DO a great choice for developers and businesses.The higher computing VM tiers are also useful for specialized application that require more memory or CPU. DO does follow the Keep It Simple Stupid to their cloud console interface. They don't overwhelm the user with tons of options and hide the complexity in an intelligent manner. Administrators still have the ability to create a VPC and multi-zone deployment, it's just overwhelming you in the creation process. The downside is that there aren't many datacenters available. And fewer datacenters still have multiple zones.
Once your droplet is created, you'll be able to see the details on your droplet. Assuming you checked the monitoring checkbox in the Additional Options section, you'll get more detailed metrics with no extra charge. These metrics are placed front and center with easily understandable graphs. You can get more information by hovering over the graphs as well.
Other controls are provided right in the console. To toggle the VM on and off is super easy and visible. These options on the left side include adding volumes to the droplet, resizing the droplet, backups, and even managing kernel if your droplet supports it. The snapshots functionality is great to take live backups yourself and easily restore form that snapshot.
One area where I think this view can be improved is to provide information on running processes within the droplet. And details on those processes like how much CPU and memory they are using. A downside here is that you only get 14 days of metrics retention. An external solution is required for anything more.
I actually host this blog on DigitalOcean completely. Using the DigitalOcean's managed Kubernetes solution.
If you like content on this blog you can support us by using the DO referral link to sign up and get free credit. And you'll support us as well.
Referral link: https://m.do.co/c/590c0c82c1fc
Also you can subscribe directly signing up for free, or support us with a small monthly or yearly fee. Simply click the button at the bottom right corner.
Volumes are block storage disks that can be attached to droplets for additional storage. Simplicity is key here again. On creation, you're only given the necessary choices to create the volume. Things like region are automatically decided when you attach a volume to a droplet. You have the option to get complex with different filesystems and manual format and mount options.
I like the simplicity of the volume creation dialog as well. There is advantage here that a volume cannot exist without being attached to a droplet. So you don't create a volume that does nothing, then forget about, and get charged for every month.
Somethings that can be improved here is to have a checkbox for encryption. DO encrypts block storage by default but having a checkbox, checked by default, for any workloads that might be affected by the encryption overhead could benefit from unchecking that. Although that is largely not a concern with SSDs. Another improvement could be to add additional filesystems in the automatic formatting option. Filesystems like Btrfs and ZFS are prominently used in the Linux world which would be great as options.
The database creation process is very similar to the droplet creation process only further simplified. You get a choice of the popular open-source databases PostgreSQL, MySQL, and Redis document store. You get a choice of up to three previous versions of PostgreSQL. MySQL and Redis are locked into a single version. The prices are reasonable for a managed service and this can similarly be organized by projects.
Lack of other options is also a downside here. If we don't even take into account the paid enterprise databases, MariaDB, and MongoDB are examples of open-source databases that missing from the options.
Once the database is created you get connection information right in the overview tab. You are able to view similar metrics on the performance of your database. View logs and queries straight from the console interface. Create users and databases, and change settings as well.
Overall the interface is great for interacting with your created database. The built-in metrics, and logs make it super easy to keep an eye on your database. All the information is provided right up front. And when you're done with database it is really easy to destroy.
More to come
This article just covers the core services of DigitalOcean. There is more that DO offers that I will be taking a look at in later articles. Everything from their managed Kubernetes cluster to their recently launched App Platform.
I will making this content like this and more so please consider supporting me by subscribing.
Sign up by using the button at the bottom right corner. Also conider supporting with a small monthly fee.
Happy Hacking :)