Oct 03, 2017

14 min read

Guide: What the heck is self-hosting?

Written by

Vippy The VPS

If you read Serverwise with any regularity, you've probably run into the term self-hosting before. And you might be wondering, "What is self-hosting, after all?" Let me explain.

Do you have an email account you log into every day? A to-do app? Maybe you have a folder in the cloud where you store and synchronize your files? You probably have a dozen of such services you use regularly. Web applications (web apps), particularly in the software as a service (SaaS) model, are so standard we barely even think about them anymore. They’re just part of our daily lives.

For reasons we’ll get into in a minute, some people are choosing to take control of their web experiences, and the data they give them, through self-hosting.

“What’s that?” you might be asking. “Is it complicated? Is it hard? Why does it sound like being the only person who shows up for your own birthday party?”

wordpress hosting

Don’t worry — we’ll answer your questions in a minute. When it comes to friends, you’re on your own.


What is this, a center for apps?

Before we define self-hosting clearly, we need quickly explain what a web app is, and how it works. For this discussion about self-hosting, a web app consists a frontend, a backend, and storage. In reality, it’s more complex than that, but let’s keep it simple.

The frontend is the presentation, or user interface, of the web app — it’s what you look at and click on to make it do what you want. Developers use HTML, CSS, and JavaScript to create frontends, and while these interfaces are the only part of a web app that you interact with directly, they’re only a small piece of the puzzle.

The backend is both the brain and the messenger of the web app. It lives on a server, is written in one of many different languages, such as Node.js, Ruby, Python, Java, PHP, and others.

A backend not only relays information between the user and the storage but also makes important decisions, such as whether or not you entered your password correctly and how much information you should be seeing.

The storage is both information and files. Information goes into databases, which are similar to spreadsheets — lots of little cells holding a number or a piece of text. Files — which can include videos, photos, documents, gifs, your hopes and dreams, and more — are put into highly-organized folders. Not unlike a library, which uses a catalog system to keep track of its many books.

The frontend, backend, and database, which contains your information and that of many others, all live on a server. One that looks something like this:

linux cloud server

So, the frontend talks to the backend, which in turn talks to the database. The database returns the information or files that you requested, and the backend then decides how you’ll view it. It sends these details back to the frontend, which formats the information and presents it via the interface.

Because the frontend and backend are independent, a web app can be used by many people all at once, or by one person with a few different devices.

Here’s a rough idea of what I’m talking about:

Continue reading this article
by subscribing to our newsletter.
Subscribe now