Reading Time: 4 minutes
In the last decade, we’ve seen a rise in cloud-based services, from SaaS (software as a service) offerings to whole companies moving all their services to the cloud. Have you ever wondered the differences between using cloud services or going self-hosted (do it yourself) style?
What’s the cloud?
The cloud’s best-known first appearance was in virtual hard-drive applications, like Dropbox, Google Drive, et al. So the cloud means, fundamentally, that someone is giving/selling you access to their server through a specific application for a particular purpose. You don’t own anything but the license to access their platform.
Self-hosting was the original way of doing things on the web, someone sold you, or you downloaded a piece of software to install on your own server/PC. Every time you want to update, maintain, or backup the data, you have to do it yourself. Everything is accessible on your server, so you can change, migrate or improve things freely.
How do they compare?
The best comparison is akin to owning a house and renting a flat: in the first, you can start making holes in the walls, improve the bathroom, install new windows, and more; in the other, you have to adapt to what comes with the flat and your landlord authorize you to do.
Owning also comes with more risks since you have to own the changes, maintenance, security of your house. In contrast, when renting a flat, you are able to ask your landlord to fix problems, and he’ll guarantee that everything works as it should and take responsibility if something goes wrong.
Nowadays, most open-source products offer both: a cloud version as well as a self-host version. By doing so, they give a choice to their users. Besides, the cloud version enables them to profit and grow quicker than just offering the self-host, which most of the time is free and takes longer to get the same updates than their cloud version.
This happens because it’s easier for them to improve, control, and assure quality in the cloud version due to controlling the servers, all their dependencies, and variables.
Pros and cons of cloud
Why should you opt for the cloud version?
- Peace of mind. Basically, you just use the service and don’t need to worry about updates, maintenance, if the server it’s on, etc
- Security: they are paranoid about securing their cloud and will detect, fix and alert security risks faster than anything.
- Being on the cutting edge: you’ll get all the updates without having to worry about anything.
Why shouldn’t you?
- Flexibility: you need or want to be able to make changes or create integrations between services on your personal server;
- You want to save money: most SaaS cloud offerings charge by user so that the cost can rise really fast for mid-to-big teams.
- Ownership: in the cloud version, you don’t really own anything. if something goes wrong and you lose access to their platform, all your data is kaputt. (Like this case of someone that lost access to all their Google accounts)
Pros and cons of self-hosting
Why should you opt for self-hosting:
- You work with sensitive data and must assure their security, privacy, and backup, as well as knowing how everything works.
- You need a myriad of software that would cost a lot if you opted for their equivalent cloud versions or you want to save money.
- Freedom is of utmost importance for your business: you want to have the agility to experiment and make quick tech decisions that don’t depend on your cloud SaaS providers.
Why shouldn’t you?
- It’s dangerous for crucial business software if you don’t have a team with the know-how to maintain, update, secure and backup it.
- You have to acquire or rent your individual server, set it up, make it safe and then install everything, configure it, get a domain, set up the domain with the server and installed platform(s) that have a web-based frontend, and then make sure everything has automatic backups in case something goes wrong. Yes, it’s a lot, and this was only a quick overview of what it takes to get a server and a self-hosted version up and running.
- You don’t want to worry about how things work, just that they work.
Side by side comparison (cost, talent needed, opportunities)
On the cloud side, you just pay and use it, don’t need anyone to maintain it, you get all the updates magically without doing anything, and everything just works. On the self-host side, most of the time, you don’t pay anything for the software itself (they are open source), but you need to get and set up a server (with the required specifications), a domain and have someone that knows to do all that. Contrarily, you get the freedom to set everything as you want and/or need and ultimately own everything that’s on your server.
In terms of cost, cloud is charged monthly or annually by user count, most of the time, so the price scales up with your team size. By comparison, the self-host versions may have a higher upfront cost (you have to get a server, if you don’t already have one, set up everything, and then maintain things), but in the long term, it’s much cheaper, especially if you have a big team or if it grows quickly.
I hope this helps you understand a little bit better the differences between the versions that most SaaS companies offer nowadays and, ultimately, help you decide what’s best for your project/company/startup.