VPS Web Hosting
Virtual Private Servers (VPS) are based on virtualization platform software that use isolated containers, hypervisors, and storage disk partitions to create “virtual machines” which operate with the basic functionality of autonomous hardware but can include multiple instances of an operating system running on the same host computer. An example of this would be using a single web server with a RAID storage drive to create ten, twenty, or hundreds of instances of virtual machines on the same hardware, all with a different operating system, server stack software, and website files, but sharing the same host system resources through platform-driven virtualization. Under this framework, a single superuser is created to administer the entire platform deployment in the data center, but each individual VPS instance functions as an independent network computer with isolation from the other accounts; distinct allocations of system CPU cores, RAM, and storage space; as well as virtual drivers, unique software stack installations, and a separate login for the registered user accounts.
There are two main types of virtualization implemented in VPS platforms which are generally related to the type of hypervisor employed in the software distribution. The main difference is whether or not the kernel of the host computer’s operating system is shared with the virtual machines or not. If the VPS platform software uses shared kernel techniques, such as KVM with Linux, then all of the virtual machines on the host will usually be required to run the same operating system. This is common on managed VPS plans in web hosting. If the virtualization platform uses a methodology to create the VPS instances that does not require a shared OS kernel, then the OS will need to be individually installed on each virtual machine along with all of the drivers for the hardware. This approach requires more time to deploy each VPS, but many users believe it provides increased isolation and security to the accounts. This method is primarily used with unmanaged VPS plans in web hosting. The first example is associated with a Type-2 “hosted” hypervisor, and the second with a Type-1 “native” or “bare metal” hypervisor.
In comparing the two types of VPS hosting plan, a managed VPS platform using shared kernel virtualization has the advantage of being available for instant use, with the operating system and stack software pre-installed. Under an unmanaged approach, the VPS administrator will be required to install the operating system and stack software individually, which can be a lengthy process. Some VPS accounts include the ability to use “snapshots” of a complete software stack with different operating systems in deploying and configuring accounts. Snapshots can also be used on some platforms to create backups and restore points of a server in development or production. Other differences are that with a managed approach, the web hosting company will usually provide integrated systems administration services where the account user does not need to worry about installing operating system or server extension security patches and updates. Under the unmanaged approach, VPS clients will be required to maintain their own system administration responsibilities directly, making sure that the server is correctly configured and updated routinely with security updates.
For some users, the managed approach saves time in VPS deployment and systems administration, while for others the unmanaged plans offer more freedom and flexibility in server configuration. Users who prefer to choose and install their own OS, for example a unique distribution of Linux, Windows, or BSD, will almost inevitably need to go with an unmanaged VPS plan. Users who use a VPS for remote computing or a second desktop as well as a web server will also need to go with an unmanaged VPS account. Most web hosting companies provide the same software stack as on their shared hosting plans and dedicated server accounts on a managed VPS platform. This may or may not include licensed use of cPanel, CentOS, CloudLinux, and WHM. It is important to verify in advance whether or not a cPanel license is included in a managed VPS plan, as the monthly cost for the license can be around $17.95 extra per month. Many users prefer the ease of use of cPanel on VPS plans, but users of custom Linux or Windows installs will need to use a free open source alternative like Virtualmin and Webmin, or Plesk with an $8.33 per month license. Otherwise VPS administrators will need to use command line tools via SSH access to manage the server settings, systems administration, and registered domains.
VPS – VIRTUALIZATION SOFTWARE
The virtualization software used for VPS platform deployment determines the different managed and unmanaged features that are found in web hosting plans. Many of the companies that are well known in desktop system virtualization or in enterprise IT applications are less common in web hosting because of the specialized requirements of web server networks. With VPS platform software, there are both open source and proprietary solutions available, with each web hosting company making a decision as to which software best provides the features required by their respective business plans. In looking at the virtualization platforms commonly found in web hosting in use with VPS plans, the most prevalent are:
- KVM: Kernel-based Virtual Machine (KVM) is part of the Linux operating system that allows the shared use of the kernel of a host machine as a hypervisor in virtualization for the creation of virtual machines on the hardware. KVM is an essential part of many open source VPS software platforms, cloud solutions, and web hosting plans.
- Hyper-V: Microsoft’s web server virtualization platform is based on Hyper-V, which creates isolated partitions on a host computer to be used in VPS deployment. Hyper-V manages the network traffic, file storage, component drivers, data storage, etc. required by the different virtual machines operating on the host computer.
- OpenStack: The OpenStack project was originally created as a partnership between Rackspace and NASA, now including hundreds of independent companies working together in software development. The platform allows for VPS networks to be deployed in data centers under the latest cloud hosting standards (file storage, search, database, account monitoring, etc.) .
- CloudStack: The open source CloudStack platform is part of the Apache project and integrates with a number of different hypervisors including KVM, VMware, and Xen to allow Apache servers to be deployed in VPS networks. CloudStack includes network and account monitoring features, as well as load balancing and firewall configuration options.
- OpenVZ: One of the most widely used platforms for managed VPS web hosting deployment is OpenVZ or Open Virtuozzo. The software includes the ability to modify VPS resource allocation through an account management panel in real-time without taking a website offline.
- Virtuozzo: Many web hosting companies use Virtuozzo over OpenVZ because it contains better network monitoring and account management tools for VPS platforms, but it has a proprietary license with a relatively expensive cost to providers. Virtuozzo integrates with both KVM and OpenStack, with different memory allocation and file storage options than OpenVZ.
- Xen: The Xen project is a “bare metal” hypervisor that is developed under open source standards and used in many VPS platform software distributions. Citrix XenServer and CloudStack are two of the most popular VPS management frameworks using Xen as a hypervisor.
- Linux-VServer: The Linux-VServer platform is another open source project that allows for the deployment and management of VPS networks in web hosting, with functionality similar to that provided by OpenVZ. It is not as widely used as the other software distributions.
- Bitnami: The Bitnami service does not provide VPS network deployment but integrates across platforms to allow for the entire server software stack, including the OS and CMS scripts, to be installed on cloud VPS services through snapshots that speed up deployment.
Most of the web hosting industry has standardized around these software distributions for VPS network solutions, although there is a lot of variety and custom platform development between companies. Many VPS hosting plans include a combination of these services in their product offerings. It is important to be aware of the platform differences between the software, as well as the advantages and disadvantages of each solution, before making any contract decision on a VPS web hosting plan.
VPS – CONFIGURATION OPTIONS
When signing up for a VPS hosting plan, there are a number of configuration options available that will determine the price of the account as well as the performance of the server, due to the allocation of hardware resources. Some of these to be familiar with are:
- CPU: The underlying hardware that a VPS is based on can make a difference in overall website performance. Primarily, this is a choice between the various generations of Intel Xeon and AMD Opteron chipsets with the number of CPU cores, processing speeds, multi-processors, etc.
- Number of Cores: Because VPS plans only use a fraction of the CPU resources of the host server, web hosting plans are based on the number of CPU cores dedicated to each account. As the number of cores determines processing power, this is a main aspect of VPS performance.
- Allocated RAM: Most CMS, CRM, blog, and ecommerce scripts running on PHP and MySQL require a significant amount of system RAM to operate optimally. As more simultaneous users access a website under peak traffic, site owners will need to allocate larger amounts of system RAM to the VPS to manage the database and file transfer requirements.
- Burstable RAM: When a VPS hosted website exceeds the RAM usage limitations governing an account, many hosting plans allow for the temporary allocation of an increased level of system resources. This is known as “burstable RAM” when more memory is allocated temporarily to a VPS instance in order to meet the processing demands of web traffic spikes.
- Storage – Capacity & Type: Solid state storage drives (SSDs) are benchmarked as providing 20x better performance in web hosting than traditional hard disk drive (HDD) storage. It is important to confirm the type of storage in use on a VPS plan, as well as the total partition allocation.
- Monthly Bandwidth: Unlike many “unlimited” shared hosting plans, most VPS accounts will have a monthly bandwidth and data transfer limit. For high traffic or download intensive websites, these limits can require a VPS hosting plan upgrade.
- Operating System: Managed VPS plans usually include a pre-installed operating system, while unmanaged and cloud VPS plans typically have more ability to choose a custom OS installation. It is important to make this decision before signing up for a long-term VPS hosting plan contract.
Website owners will need to understand the requirements of user traffic as it relates both to database performance and script processing in order to estimate how much of each resource to allocate to a VPS hosting account. Many VPS platforms include real-time monitoring of system resource usage by the account administrator, as well as the ability to increase hardware allocation to a hosting plan without taking a website offline, restarting the server, or migrating to another storage partition. Cloud VPS management panels include the ability to establish variable rates of server resource usage, for example scaling up more CPU cores and RAM during periods of peak user traffic. Elastic cloud platforms are able to launch multiple instances of a VPS to different geo-locations when user traffic increases beyond what a single hardware allocation will support. In this manner, VPS platforms are one of the most important aspects of cloud hosting solutions in web publishing and mobile application deployment.