When you host your website there are many options you can go for. Let’s see the four main types of hosting. There are Shared Hosting, Virtual Private Server, Dedicated Server and Cloud Hosting.
The best way to understand the differences is to look at it like real estate, where Shared Hosting is like renting your apartment in a building. You have your own personal space and resources, but the landlord owns the place and all assets.
The landlord (service provider company) leases out the communal assets like the pool, parking lots, etc (CPU, RAM, so on) and everyone share these resources. On the other hand, the landlord provides maintenance for certain things.
VPS is like having your condo, where you still share some assets, but now you actually own some portions of them. This sounds good, but now you are responsible for maintaining your interior space and make repairs. This means you can make your own modification too.
On top of this there are fewer residents and assigned parking. You have full rights to your own place, and the portion of communal assets that you want, you don’t need to consult with other users for using them.
The Dedicated Server is having your own house with a pool, own parking, own garden, and fences between neighbours. You have the full place, no one can tell you what to do on it, but it is much more expensive and requires high skills to keep everything running.
Cloud hosting is hard to explain with the real estate example, but try to imagine having different parts of your living room in different houses. You have the left side of your TV in an apartment, and the right side to the neighbouring apartment, the sofa is on the next street. You still can sit on your sofa and watch you favourite movie without problem.
Pros and cons:
Pros: Affordable, easy to start
Cons: Lack of server control and performance, also not isolated server resources
Pros: Root Server access, secured environment and resources, easy to upgrade
Cons: More Expensive than Shared Hosting
Pros: Maximum Control, great performance
Cons: Expensive, High IT skills needed to operate properly
Pros: Cost efficient, Server Scalability
Cons: Advanced IT knowledge, Insecure (arguable)