“VPS vs. VPN – What are the Differences?”
If you ever confused a VPN with a VPS, or vice-versa – it’s alright. Virtual Private Server and Virtual Private Network feel similar to someone who is not tech-savvy, which is why I’m going to elaborate on the details that make them different. A VPS can host a VPN server, but not the other way around. Confusing – I know, but it’ll get clear in a moment.
The term VPS stands for Virtual Private Server. It is a type of hosting service that gives you access to a guaranteed set of specifications that you sign up for. There are several hosting services, each with different pricing plans and specifications, but the type of hosting remains similar across the board. There’s Shared Hosting, VPS Hosting, and Dedicated Hosting.
The difference between them is the computational resources available to you. A VPS is much more robust than shared hosting. It guarantees you a portion of resources of a server that sits inside a datacenter somewhere. For example, a typical server configuration of 1 CPU core and 1GB RAM will handle multiple hosting in a shared environment. But a VPS environment will ensure that you have access to the 1 CPU core and 1GB RAM – no one else will use that space because it has been virtualized and assigned to you. The VPS will have a unique IP address.
Datacenters house stacks of hundreds of servers that have dozens of CPU cores and terabytes of RAM. Virtualization allows service providers to allocate resources based on different configuration plans. Having virtualization will grant root access to the VPS and installation of the operating system of your choice. It’s like having a personal computer, except that it sits in the cloud and can be accessed remotely from anywhere in the world.
You can understand better by imagining people in a room. Shared hosting is when the people in the room have no designated area; they all wrestle shoulders for space. A VPS is akin to portioning the room and letting people enjoy personal space.
Dedicated hosting gives you access to the entire server. And in the same example, you have ownership of the entire room and the freedom to setup.
A Virtual Private Network is a software that establishes a private link between a client and a server. It’s a software that runs on a computer. For clarification, a server is still a computer; it has just been configured as a server. A server is anything that hosts a website or program for you to access. A VPN is a software that has been installed on a server for remote access.
A VPN can be hosted on a VPS, but not the other way around, simply because the former is an application, and the latter is a system that can host such an application.
There are several VPN services in the market that have hundreds, and even thousands, of VPN servers worldwide. Some VPN services offering multiple servers of a single region are using virtualization to create more than one server on dedicated hosting. So, although you connect to USA Server 2, it’s likely hosted on the same server that’s running USA Server 1.
Who is a VPS For?
A VPS is for anyone looking for the freedom to access computing resources from anywhere in the world. It’s a computer that you can use remotely. There are also managed VPS plans for people who want the power of a VPS but are inexperienced to monitor and maintain the server. Managed VPS plans cost more, but they give you peace of mind. Just like how managed WordPress hosting requires no back-end input, all you have to worry about is running the WordPress website.
VPS hosting is not cheap. If you are looking for a personal blog to share thoughts and expect low user traffic, shared hosting is the perfect fit. A VPS is more robust; it will allow you to run a website or host any other program.
Digital Ocean, Linode, and Vultr are some prominent VPS hosting providers. They don’t offer managed VPS plans, but excellent choices for experienced users.
A VPS shouldn’t be confused with specialized services that fall under the likes of Amazon Web Services, Azure, and Google Cloud. Many of the services provided by the three are specialized in nature, such as Machine Learning; there’s not anything else that you can do.
Who is a VPN for?
A VPN is for someone looking to browse the web privately or establish a private network with other users through a central server. Some companies set up VPN servers to allow remote access to file servers and employee portals. The VPN server authenticates the user with credentials, thus preventing unwanted access from people outside the organization.
But a VPN today is mostly used for browsing the web unrestricted. It takes your internet requests and forwards them to their destination. A VPN server masks your IP address, so the destination server effectively reads the VPN server’s IP address. A VPN helps bypass geo-restriction and censorship. Encryption is a key pillar of VPNs; it is the process of converting plain-text into cipher-text. The contents of the data packet will appear as gibberish to anyone intercepting them.
VPNs are very popular for digital streaming services. Digital content varies by region because of laws, and some content may be intended for specific regions only. If you visit Netflix outside of the US, the chances are that the library is limited. Netflix USA is the best way to experience Netflix and nearly every other streaming service. It used to be easier before Netflix began blocking VPNs, but the top VPN services can easily avoid detection and let you stream without a hitch. Some services like FastestVPN have a dedicated Netflix server.
How to Setup a VPS
I would advise against renting a VPS server if you have no experience in maintaining a server. You will be dealing with Linux’s command line to setup and install programs. It’s a good place to start learning, but not recommended for a project for an inexperienced user.
I’ve mentioned a couple of VPS providers up there. The things you need to be looking for are uptime, cost, performance, and security. DigitalOcean, Linode, and Vultr are strictly self-managed VPS services; there is no managed VPS service. I’ll be going with DigitalOcean for this little tutorial because of my experience with the service.
DigitalOcean starts at just $5 for 1vCPU, 1GB RAM, and 25GB SSD space. It’s plenty for running low-traffic websites, like a personal blog. The great thing about DigitalOcean is that it charges by the hour and doesn’t charge you until the end of the month. So, if at any point in the month you decided to close the website or switch hosting providers, DigitalOcean will charge for only the time you have consumed. The monthly charge will not exceed $5, in this example.
You can start with services such as GoDaddy or SiteGround that’s easier to manage for beginners, but DigitalOcean is more powerful.
- Head to DigitalOcean and sign-up for an account.
- Click on Get Started with a Droplet.
- Choose your configuration, including the Linux distribution you want. If you are unsure, go with Ubuntu. Switch to the Marketplace tab and select WordPress for easy and automatic installation of WordPress as soon as the droplet is created.
- Pick the data center that’s nearest to your location.
- This step is very important. You need to choose an authentication method. This is the credentials you will use to connect with your VPS. A password is not recommended; create an SSH key by clicking on New SSH key.
- To create an SSH key, download PuTTY. It’s a small program that will also be used to connect with the VPS.
- Install PuTTY. Launch PuTTYgen, generate a new SSH(RSA) key. Give it a passphrase and save the public key and private key safely somewhere. Do not lose these!
- Copy the SSH key.
- Paste the key in the DigitalOcean panel.
- Now create the droplet.
- Wait for a while, and you will be notified when the VPS is ready.
- Copy the IP address of the droplet (VPS).
- Open PuTTY. Go to Auth and click on Browse. Select the private key that you saved earlier.
- Go to the Session menu. Enter the IP address under Host Name, select SSH as connection type, and hit connect.
- Click Yes on the next popup.
- A terminal will open, asking you to enter the username. By default, the username will be “root.” Next, enter the passphrase that was selected earlier. Don’t worry if nothing appears type in the terminal; it’s just a way of hiding the passphrase. Hit enter once you have typed it.
How to Install a VPN
The great thing about a VPN is how easy it is to use. The several dozen VPN services in the market strive towards making their apps easy-to-use. Pick any VPN service, download the app for your device, connect to any server via the app – it’s that easy.
As I said initially, a VPN is an application, and it’s not really complex to use. However, creating a VPN for work is very different. It requires much more deliberation.
Some VPN services also offer the ability to install directly in the router. This is a blanket solution that will enable VPN protection connected to the router. So, if you have a video-games console, installing a VPN on the router is the only way.
That wraps up VPS vs. VPN. I will stress again that running a VPS in a self-managed environment is not under everyone’s aptitude. Refer to other hosting providers that offer managed hosting to alleviate the concerns of running a VPS.
You can also create your own VPN server by renting a cheap VPS server to connect through the OpenVPN client app. I’ll explain how to do that in a separate blog.