Emma Boudreau
3 min readJan 21, 2024

--

Thanks for the congratulations I appreciate it :)

I will be hosting them from my home network -- I think there is a bit of a misunderstanding.

The reason why most people use VPS or web-hosting is because in order to deploy a server you need a forwarded DHCP configuration and a server to deploy something.

There are three main parts that we have to concern ourselves with here:

- The TLD name server

- The domain name server

- And our server itself.

The TLD server is the server that returns the nameserver address of your server whenever someone puts a TLD into a URL. A TLD is just the ending for a URL, an example of a TLD would be `.com`. There is a master `.com` TLD name server which administers names

So we don't have to worry about the TLD server, only our server and a nameserver to direct incoming domain requests to its IP.

A VPS or web-host takes care of our server itself and the domain name server for us. If we have a physical server, the only need we could have for a web-host is for DNS -- for example, Namecheap offers a DNS service for an extra fee alongside the purchase of their domains. In essence, what I am trying to explain to you is that I am the host because I own my own hardware I will be hosting myself.

With this considered, your curiosity on the differences can also begin to be satisfied:

- With your own hardware, you will have access to an entire computer and its hardware without limits.

- With your own hardware, the service runs on your home network. Keep this in mind, it is important to consider the limitations of your own network -- and furthermore what you are willing to do to your home network.

- Without your own hardware, setting up the server will be a lot easier.

- Without your own hardware, you will likely only have access to a virtualized CPU and very limited hardware specifications.

The solution that works best for you of course depends on what you are trying to deploy. If you want to deploy a relatively simple application that accomplishes some light goal in function, I would use a VPS. Linode is my personal favorite, though I have not used them since their acquisition by Akamai. With Linode, they have a 5-dollar `Nanode` option which I think fits the majority of deployment cases.

In my case, I am building an online notebook editor -- so it makes a lot of sense that I would want dedicated machines, a more complicated load distribution system, and it makes a lot of sense why I am targeting a hardware platform that gets me ~768GB of memory. I have to imagine most use cases are probably simpler, and as a result I would probably recommend Linode instead of what I am doing for most cases.

Also, even if your application is more complicated -- it might be a good learning experience to try deploying on a VPS first. At 5 dollars a month for that nanode I think it would be a great option for this. There are just a number of complications that make things exponentially more difficult when starting from your home network, there are a lot more steps involved, so it might be better to skip most of that and instead focus on learning all of the other things you might need to learn for a VPS.

This is a really old article, but in this ancient piece I deployed Flask with Gunicorn, Supervisor, Crontab, and NGINX -- all of these types of services are the exact things you will need to learn for this, so maybe this could give you some direction on how to get from " having a VPS" to " having a deployed web-server."

https://towardsdatascience.com/deploying-flask-with-gunicorn-3-9eaacd0f6eea

Hope this information was helpful. If you have any more questions, feel free to let me know I will do my best to provide an answer!

--

--

Emma Boudreau
Emma Boudreau

Written by Emma Boudreau

i am a computer nerd. I love art, programming, and hiking. https://github.com/emmaccode

Responses (1)