Apr 29, 2024

16 min read

What is Self-hosting? Simple 2024 Guide

Written by

Vippy The VPS
If you read this blog often, you've probably run into the term self-hosting before. And you might be wondering, What is self-hosting, after all? Let me explain self-hosting to you in simple terms.  

What is Self-hosting?

Self-hosting is when you host applications on your own server infrastructure, managing your own databases. This gives you full control over your data and the environment in which your applications operate, instead of relying on third-party services for hosting and data storage.

What is a Self-hosted Website?

A self-hosted website is a website that you host on your own server, with total control over your databases, web architecture, and design. With the main drawback being maintenance responsibilities.

What is a Self-hosted Application?

A self-hosted application is similar to a self-hosted website. It refers to an application hosted on your own server infrastructure, where you manage databases and customize the user experience.

Self-hosting Overview

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. You might be asking: “Is self-hosting complicated? Is it hard? Why does it sound like being the only person who shows up for your own birthday party?” Don’t worry — we’ll answer your questions in a minute. When it comes to friends, you’re on your own. [cta_inline]

The Standard App Structure

Before we define self-hosting clearly, we need to quickly explain what a web app is, and how it works. For this discussion about self-hosting, a web app consists of 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: So, the frontend talks to the backend, which in turn talks to the
Continue reading this article
by subscribing to our newsletter.
Subscribe now