This post was originally published at:
https://www.blog.duomly.com/digital-ocean-review/
Intro to Digital Ocean review is it the best hosting in 2020
Today we will go through the Digital Ocean review and verify if its the best hosting in 2020.
Hosting is a crucial thing for every developer, cause we want our apps to be publicly visible, we need to deploy them somewhere.
The most standard, simple, and popular for the smaller projects are shared hostings with preinstalled PHP or Node.JS (only some of them).
They are fine when we want to deploy a simple website or small e-commerce, but what when we build bigger projects that need customized solutions?
Do we need own servers (or FaaS when going with Serverless), own file storage, own databases, and whole infrastructure?
We could buy all of that hardware and set up our own servers or use cloud solutions provided by companies like Google, AWS, or Digital Ocean.
Let's see if the third one, Digital Ocean, can provide enough services to host our infrastructure.
We will cover how much all of that costs, as well, and even see additional services as 1-click installs, security, or networking.
Let's start!
And if you prefer video, here is the youtube version:
Digital ocean coupon for $100
I have a special gift for you!
Here is the coupon for $100 of Digital Ocean credit that you can use, and tell us if you like Digital Ocean as your hosting provider:
https://m.do.co/c/578a8c43dc62
Tell me in the comments what type of infrastructure you've built!
Digital ocean pricing
There are less known and cheaper hostings, but DO's pricing looks better than the biggest ones, so that looks very attractive.
Especially when we take into consideration the name, support, how good docs are, and reliability.
The cheapest instances start from $5 per month and give 1GB RAM, 25GB SSD, and 1000 GB of transfer.
They grow by performance, and for example, for $20, and offers 4GB RAM, 80GB SSD, and 4TB of transfer, that should be enough to handle backend actively used by few thousands of users.
Possible distributions
Here we should be happy with what we get.
Like Ubuntu, FreeBSD, Fedora, Debian, and CentOs, the most popular distros are on the table.
We can specify the distro version that we want to have on the image. That is cool.
We can also start image as RancherOS, select one from the 1-click installs or even have its own custom image.
Digital ocean possible locations
Of course, the biggest providers like AWS have many more regions, but we have covered the most popular locations anyway.
We have 5 locations in North America (2x New York, 2x San Francisco, and Toronto)
Two in Asia (Bangalore, and Singapore).
And three in Europe (Amsterdam, London, and Frankfurt).
Even if the selection is not that wide as the biggest ones offer, it's enough to have minimal latency, even if the final user in on the very end of the world.
Digital ocean 1-click install ready applications
The digital marketplace of 1-click install ready applications can be a useful feature for some solutions.
Digital Ocean offers almost 200 readies to click and install applications, like for example, MySQL DB, Node.js, or even Minecraft server.
It's enough to visit the marketplace and click "create droplet" on the selected app.
Digital ocean authentication
There are two options for authentication with the instances.
One of them is just a password one, that is not very secure, but very easy to handle.
The better one is the ssh key, which works like we can pass our public key into the hosting settings, so users of another computer will have problems logging into your instance through SSH.
It's a kinda secure way (not 100%, but its still not bad), especially when we lock ports access only to the specified network.
Digital ocean backups
This is a very, very important feature of every hosting.
You always should care if your hosting provider offers backups, if they are automatic, and how often they are.
Of course, you could try to set up your own backup machines or even do it manually, but I'd say it's a bit painful, and if you have not very advanced infrastructure, auto-backups are very worth having.
Here is the option of weekly backups of instances, and it costs $8.
RDS alternative managed databases
You can set up your own server-style instance and install the database there.
In this case, you'd need to set up the whole server, care about security, backups and maintain that later.
It could be cheaper, true, but its much work to do, challenging to scale, and in many cases, there can be some security misconfiguration, which is very dangerous.
It's an especially bad and dangerous idea to set up databases and backend on the same server.
Luckily we can use managed databases like AWS RDS, MongoDB Atlas, or Digital Ocean Databases.
Here we can select through PostgreSQL, MySQL, or Redis.
Costs start from $15 per month for the 1GB RAM, 1vCPU, and 10GB Disk, which should be enough to run even some production-level projects, smaller, of course.
Next costs and performance double, so $30 for 2GB RAM, $60 for 4GB RAM etc.
S3 alternative file storage space
Some of our projects need file storage, for example, when we want to handle file upload or give users the possibility to download them.
It's a much better idea to use separate service for that, and much more secure.
The most popular and friendly to use are AWS S3 (pricing per transfer and data amount) or Digital Ocean spaces, which costs $5 per month.
DO Spaces works as S3, and we can even use AWS CLI to handle them.
Anyway, AWS S3 has one benefit, because we can use it as web hosting (for example, our front-end App).
How to setup firewall and network
Network related things are crucial for our IT infrastructure.
With DO is only a few options possible to set up by click, the rest you'll need to set up inside your server instances.
But for what I like, Digital Ocean really is the possibility to setup Domains, Load Balancers, and Firewalls very quickly.
For example, you can block or assign TCP/UDP ports to the IP by one-click.
Hosting monitoring and alerts
This one is smaller and strongly simpler than, for example, AWS alerts.
It has pros and cons.
If you are very advanced and need super targetted monitoring, you will need to configure that separately on instances or use 3rd party tools.
I like them because setting up stuff like overwhelmed instance requires only 2 clicks.
When you do not need very advanced metrics, it's excellent and should be enough for most users.
Digital ocean coupon for $100
I have a special gift for you!
Here is the coupon for $100 of Digital Ocean credit that you can use, and tell us if you like Digital Ocean as your hosting provider:
https://m.do.co/c/578a8c43dc62
Tell me in the comments what type of infrastructure you've built!
Is Digital Ocean worth it
Digital Ocean is a very good, known hosting provider, with good up-time and wide offer.
You can find cheaper solutions about the pricing, but many of them could be less reliable and don't offer services, like storage or managed databases.
I'd personally stay with known ones like Digital Ocean, AWS, Azure, or GCP.
Digital Ocean probably will be the cheapest of them, for sure, with the standard config like instances, database, storage.
Actually, about managed databases, there are not many alternatives at all. The most known is AWS or MongoDB atlas (only MongoDB).
Same with the file storage, there will not be very easy to find a good file storage service in the same datacenter that you have servers or DB.
The most known competition's solution is AWS S3, which is very good, and in many cases, will be cheaper than Digital Ocean Spaces.
I hope now you know all the most features, pros, and cons of Digital Ocean hosting, and you will be able to decide if it's the right solution for you or not.
Thanks for reading,
Radek from Duomly