Plan software better

Cloud Host: Digital Ocean

Digital Ocean is one of the new breed of cloud providers - offering scalable VMs in multiple sizes, and a huge list of hosted services including hosted databases, and a simple hosted solution for kubernetes.

Digital Ocean Features

Digital Ocean started out with just droplets, but now offers a huge range of features which come close to the offerings from giants like AWS or GCP. It's a cheaper alternative to these, with more clarity in pricing and simpler offerings, which may suit you better depending on your scale. If you're looking at cheap hosting, I'd recommend them, as they are significantly more reliable and secure than other hosts like linode, rackspace or dreamhost.

Droplets (aka virtual servers)

Spin up a managed Kubernetes cluster in just a few clicks. Simply specify the size and location of your worker nodes and they'll set them up, then you just have to upload your server. You can also choose from a selection of pre-packaged software applications or software stacks, like Wordpress, or a Ruby on Rails setup. I usually use one of the container OSs available, and just treat the droplets as disposable.

Firewalls

You can set up a firewall to restrict traffic to your droplets with Digital Ocean for no cost, which is pretty neat. This is pretty much fire and forget, and is easier than having to log in and manage access on the command line using tools like ufw.

Load Balancers

The load balancer offering from Digital Ocean is pretty solid in my experience. I've been running several for larger clients for. You do have to edit the settings of the load balancer to force it to drop servers after removing a tag however, which is a pain. I haven't found a way round this as yet.

Floating IPs

Digital Ocean offers a concept called floating IPs - you are assigned an IP and can move it between droplets, so you could for example swap out a database easily if required. This is not very useful however if you need to have several instances behind a load balancer as it can't be assigned to load balancers, and it cannot be transferred across regions. So decide first whether your droplet is a one-off which you will never want to replicate before using this feature.

Kubernetes in minutes

Spin up a managed Kubernetes cluster in just a few clicks. Simply specify the size and location of your worker nodes.

Hosted databases

Spin up a managed Kubernetes cluster in just a few clicks. Simply specify the size and location of your worker nodes.

Volumes (Block Storage)

Digital Ocean offers block storage (basically an extra hard disk attached to your VM), along with backups for it. This can be handy if you need to store a lot of assets and. Volumes cannot at present be shared between droplets, so you'll need to duplicate a volume if you want it elsewhere. My strategy for assets is to have one primary server where uploads go which performs read and write, and then secondary servers which are incomplete copies of primary, and allow only read - they forward any 404 assets over to the primary server to serve, so it doesn't matter that they are incomplete. This is pretty straightforward to set up and allows me to have one primary assets server and then as many cheap read-only replicas as required for good read performance, without worrying about syncing assets between them.

They also offer object storage, however this had quite a few outages when it first came out, and as a result I don'd trust it very much - it may have improved in the last year.

Want to try it out?

If you want to give Digital Ocean a try without risk, you can click the button below to get a free $50 hosting referral code/coupon to get you started, just click the button below and sign up with them to activate the referral code and get $50 of free hosting to try out their service.

Get $50 free hosting