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 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
Continue reading this article
by subscribing to our newsletter.
Subscribe nowby subscribing to our newsletter.