How to Pick and Optimize VPS for Your Website11
Server infrastructure is closely integrated to web presence. Although the last few years we have seen quite an evolution in the web hosting space, getting your web site or blog online still requires a bit of technical skills.
It’s true that nowadays you don’t have to purchase or maintain your own server. Most web owners never see the server they host their sites in. But right now, the ability to get involved at least at the setup level is normally required if you don’t want to depend on technical staff just to modify certain settings on the server.
Blog software really makes it easy to publish online. With it, gone are the days where you should wait for hours, if not days, just to fix a typo on your web page.
Before those days come for server management, for certain situation it helps if you are able to at least understand how it works. The same situation applies to email. Many business owners outsource email customer service nowadays, but they all know how to use it.
Managed vs. Unmanaged VPS
Based on the intervention from service provider, basically there are two types of VPS service:
- Unmanaged. In this type of VPS, the host is only responsible for the physical server, the availability of the server — but not your virtual server — and network connection. Everything else is under your responsibility.
- Managed This term varies from one provider to another. Commonly, if the VPS provides a standard web-based control panel, they will provide support through that panel if you have difficulties in setting things up. Your custom applications are still your responsibilities though. Of course, it also includes all the services explained in unmanaged service.
There is a third kind of service that falls between two above, which usually is referred to as semi-managed. Usually with this type of service, the service provider helps you upgrade the core of the operating system, such as the Linux kernel.
You have to request it manually though through one of their support systems to let them perform the upgrade though.
Things to Look for Before Signing up
It never is a good idea to compare just the amount of allowed disk space and bandwidth in both shared hosting and VPS, but lots of people still do that. It’s a marketing gimmick, you know.
Perhaps to your surprise, VPS almost always is available at higher price with less available resources. That’s because in shared hosting package, they are overselling. I’ve covered about this in the previous post.
In reality, you rarely need that much space or bandwidth. A WordPress blog with a few thousands of posts only takes about 100MB, depends on the length of your posts and other factors.
Presuming your page is 150KB on average, you only need about 15GB plus overhead (bandwidth / data transfer) to serve 100,000 page views a month. Of course, you need to consider if you need to serve zip, pdf, mp3 or other file formats because they are larger in size.
Amazon S3 or other storage solution probably is more suitable for the latter than your typical server hosting. It is also more economical for large file transfer.
Other things you want to pay attention to including, but not limited to:
- Server specification. Not all servers are built the same. Obviously the faster the server, the better it is in term of page load times.
- Sharing ratio. This is the amount of users per server. With cheap VPS, usually it means you have to share CPU with a hundred or more users. Lower ratio means more CPU resource for your web applications.
- RAM. How much memory is allocated for your VPS slice. It is possible that you are able to use memory from other users if it is idle up to a certain extent (i.e. burstable).
- Management interface. VPS usually doesn’t come with web-based management interface because it takes away your memory. This option is available if you need it though.
- Customer support. Most of the time, you are on your own when you buy a VPS, but community support usually is available. If you need customer support or managed hosting, expect to pay more.
In terms of features, you don’t have to worry about them because you are in control about how your server is setup. If you need to install modules or keep your PHP installation to the minimum, you can do so easily with your own VPS slice.
Once you sign up, the first thing you need to do is install server software. Some hosting providers do it for you, but in other cases, you have the ability to customize and choose your own server software through the dashboard.
VPS companies may also choose to host your domains on your behalf on their own servers, which distribute the data over multiple servers. This saves you some time to register the domain name servers and point the domain name back to the server. Using your own server usually means you have one point of failure.
For the latter, you may consider requesting other VPS users outside of the network to host your domain records and do the same for them.
Most Linux distribution allows you to install server packages, whether your server is for web or database, you will be able to choose the packages to load onto your VPS. More experienced users may choose to start with minimal software and install additional packages manually.
At this stage, you want to create SSH account to administer the server via command line and allow FTP access so you can transfer file in and out of the server. Free software like PuTTY and FileZilla let you access the server command line and transfer files, respectively.
Email server software allows you to accept emails for your domain. Alternatively, you can host your emails with Google’s infrastructure. Using Google Apps for business, Google will receive emails for your domains on your behalf. Access to the emails are available via POP3 to your favorite email clients like Outlook or via web-based email. The latter is using Gmail interface, but with your own domain.
If you choose to install control panel, webmin is available for free but not as feature rich as cPanel. License fee is required for cPanel though, which can get very expensive! In shared hosting, the provider pays for the license because it is shared among all users. The term for the license is per installation instead of per user.
Unlike shared hosting, you also need to learn how to edit server configuration, restart server software and hardware, and upgrade software if necessary. Those may or may not be part of the support option.
Optimizing Your VPS
With limited server resources, optimization is necessary. Why pay more if you can optimize your existing VPS to run faster and serve more visitors?
Besides for performance, optimizing also serves as a security countermeasure to prevent unexpected incidents. Although it is not possible to get into details in this short blog post, here are a few recommendations to inform you about where to start. At least they give you some clues if you decide to hire someone else for the job.
- Minimize running services. Chances are you can minimize the amount of running services to mail, web server, database, and remote access (login and file transfer). You can disable other services to save memory and close the doors for added security.
- Disable insecure file transfer. Start using SFTP or SCP for secure file transfer instead of FTP. The latter transfers your information in clear text.
- Choice of control panel. DirectAdmin and Webmin require less memory to run. If you buy VPS with less than 512MB of memory, this might be an important consideration. cPanel is the most popular choice though.
- Limit administrative access. If your VPS runs a version of control panel, consider limiting administrative access to certain host only. Do the same with SSH access if you prefer. Although data transferred with SSH is encrypted, there were a few security issues with OpenSSH in the past.
- Secure your passwords. VPS user accounts, administrator (root), MySQL and your web applications have their own usernames and passwords. If possible — and this is recommended — you should pick secure and unique passwords for each of them.
- Optimize web service. More running services consume more memory but better performance-wise, up to a certain extent. The number is different on a case by case basis but doing this right means ability to survive sudden high traffic load or otherwise. If memory is of concern, consider installing a light weight server such as lighttpd or nginx.
- Optimize for MySQL (database) performance. MySQL uses quite a lot of RAM, but you can optimize it for performance. This will make a difference in response time especially for database intensive web applications.
- Perform regular backups. Backup your data and use the VPS administration interface to backup your system, if available. You are on your own, including for backups, but that also means you can rest assured knowing that your backup really is there when you need it.
Running a VPS is not for the fainted heart. However, if you are willing to learn and absolutely need the extra performance and reliability, VPS provides an excellent alternative hosting environment for your business.
The whole thing may sound complicated but once you start mastering the basics, you will know enough to use search engines and solve whatever challenges that you have with your VPS slice.
Besides, nowadays hosting companies provide managed services. You may also hire or outsource the administration tasks as necessary.
Hendry Lee helps people overcome strategic and technological challenges in starting and growing their blogs. Get more blog tips from his blog where he reveals his writing secrets and how to make money blogging. While you’re there, don’t forget to download your free e-book and subscribe to the e-course.
Enjoy this post? You should follow me on Twitter!