After having tried a number of shared hosting providers, I decided to step up to rent a VPS for a number of reasons from low-price point at entry level and the ability to choose the stack I wanted. 3 years later, I am glad to have made the switch and along the journey manage a diverse variety of VPSes (OVZ, KVM and even NAT). As the switch involves a learning curve that is quite easy to climb, I want to talk to you about why you should switch and what you can expect when you do.
There are a number of good providers who provide reliable shared hosting, I am not here to discount any of them but to tell you why the upgrade will still give you the shared hosting benefits and then some.
cPanel is often ubiquitous when it comes to shared hosting. This popular web-based panel lets you install software, browse your files, manage databases and seems to be the perfect answer to your web application management. True, but you could easily install cPanel on a VPS and forget the SSH command line. However, this comes with a cost, around $15/mth. Fret not, there are a number of free alternatives that pack the same punch. Ajenti, WebMin, Kloxo-MR all provide a similar interface and let you manage everything from virtual hosts to cron jobs.
Typical (meaning not oversold) shared hosting servers run on servers that have large RAM, multi-core CPUs, connected via Gigabit internet links that are very good at handling large volumes of traffic. An entry level VPS can never match that speed, until you look at the number of websites running on a shared server. While many of them may be really low volume sites, some reach several thousand hits a day. Traffic spikes on shared hosting can affect how your site’s accessibility. On the other hand, even a 512MB VPS would have a dedicated IP meaning all traffic that hits that IP is only intended for you and the VPS can respond appropriately.
Let’s look at this from the other end, VPSes promise a fixed number of resources specifically dedicated to you. You can choose the combination you need based on what the VPS will be used for. You may need lots of storage space as you are hosting your own tutorial videos or you may need more RAM to allow for intensive database operations to be performed. A solution that fits your need is available for you.
You also have flexibility in terms of what you can host. Your VPS can run your personal blog and at the same time be a TeamSpeak server. Having access to the command line gives you the ability to install applications that are typically not available through shared hosting plans.
A closely related plus point is the ability to scale up based on your needs. You can always start small and expand without losing existing data or your current setup.
Once you get a VPS, there are some important steps that will help you make the transition easier. and in many cases, your provider’s knowledgebase as well as Google is your friend.
Most providers hold you responsible for everything that happens on your node. If it is compromised and used to orchestrate a DDoS or flood a hundred thousand inboxes with spam, you are held accountable. You can easily mitigate this through a series of simple steps
VPS nodes do not generally come with GUI interfaces, which means the command line interface (CLI) is your best friend. To setup the node, you will first have to install packages from the command line. Once setup, you could install front-end panels for managing your server (Cockpit is one fine example) or a specific web panel for managing a LAMP/LEMP stack. Detailed guides exist guiding you to setup the server, install stacks and errors can be rectified quite easily (Often errors are due to missing dependencies or dependencies being of a lower version than what is expected)
Both from a point of security as well as having access to better features, you will have to periodically manage your server by running updates. Once you get the hang of cron (the automated task scheduler), you could let these run automatically at a time convenient to you.
Never in my years of shared hosting, did I wonder if the server was running Ubuntu/CentOS. Neither did I really look at the web server stack. Softaculous would install the application and that was it. With a VPS, you will have to make these choices. Which flavor of Linux should I install? Will this be a LEMP/LAMP/LLMP stack? Fortunately, there is no wrong answer. All options are well tested and tried in production nodes, you just can’t take be off the mark.
As I conclude this, an analogy comes to mind (which should have come in sooner). Using shared hosting is like taking public transit; You share the ride with a number of users, if another commuter enters with two shopping carts worth of groceries, you have to wait for that person to embark/disembark affecting your time. The upside is that you don’t get have to worry about navigating bumper-to-bumper traffic and if things work out, you have ample space and can zoom along the road pretty well. On the other hand, using a VPS is like renting a car to travel. You control the stops, you control what is loaded into the car and major car maintenance is taken care of by the company. Yes, it is a little more expensive and you have to navigate the journey yourself. However, I find that in this ride you get to enjoy sights that you would probably miss sitting in the bus.