Cloud Web Hosting
Cloud hosting is a loosely defined collection of practices and techniques which have developed out of the latest research in data center operations that are designed to keep the largest sites on the web online across all varieties of user traffic requirements. Many cloud hosting technologies evolved out of the management of “big data” networks at the largest IT companies, where websites scale to provide remote application services under usage rates that are far larger than a single dedicated server can support. Small websites frequently go offline when links to a web page go viral on social media and lead to traffic spikes that exceed the resource allocation of a shared web hosting plan or VPS account. It is important to distinguish between the “elastic cloud” approaches designed for the largest sites on the web and Platform as a Service (PaaS) products in cloud hosting that combine a number of new approaches to web server network management to optimize the remote application performance of smaller websites operating under the shared server limitations of retail web hosting plans.
Elastic Cloud Hosting
Elastic cloud hosting frameworks use virtualization to launch multiple versions of a single server, including website files and a database, into server clusters that can be positioned in different geo-locations like CDN files to serve web traffic to major media markets more efficiently. For example, a CMS website built from PHP code and running on a MySQL database could be cloned by using snapshots and VPS technology to be duplicated into five synchronized versions of the website running in different data centers globally in order to meet a high user traffic rate that even a single dedicated server could not manage. Looking at this practically, an elastic cloud approach requires a smart routing system that directs each user request for website data to the server closest to their physical location, and also to the web server with the least amount of overall system resource usage, so that it can complete the request in the most optimal time possible. A similar method can be employed with smaller websites by keeping multiple copies of a website on a server network and using load balancing to direct web traffic to the local server most able to complete the user traffic request in the least amount of time.
While only a few main cloud hosting companies actually offer elastic cloud services that scale to multiple instances in server clusters, most retail cloud plans include data mirroring and network load balancing which implements a similar solution in a local data center. This means that rather than being locked into a single hardware device on a shared hosting plan, a website hosted under a cloud plan may have multiple versions of the site files distributed on different servers and storage drives in the same data center. The routing server managing user traffic requests is equipped with network monitoring capabilities that are able to recognize which servers are under the highest amount of usage rates when each request comes in, and then routes the request to the server with the lowest usage rate for faster processing of the website files to the web browser. Additionally, rather than having the website’s database and static files running together on the same single server hardware, the database and website files are served from different machines, i.e. multiple copies of the same files distributed over the network, so that the overall processing speeds in serving data transfer requests to the end user is improved. In this manner, the same network load balancing techniques developed for corporate “big data” applications can be implemented to serve the needs of smaller websites on a cloud hosting plan.
Cloud Hosting Platform as a Service
The cloud hosting plans developed by web hosting companies as “Platform as a Service” (PaaS) products are not based solely on a single technique like load balancing, but rather are composed of multiple approaches to network optimization which operate in layers or in an interrelated manner in order to provide a higher level of services that improve the overall page load speeds of websites under high user traffic rates. Many retail cloud hosting plans employ premium hardware such as the latest generation of multi-core processors with solid state drives, configured with a lower density of customer websites per server, in order to provide a better level of service. On this basis, software techniques such as network load balancing, advanced page caching, scalable resource allocation, data mirroring, virtualization, database optimization, and other methods are deployed in layers to build additional speed gains. Each web hosting company may develop different approaches to platform management depending on their resources, experience, and budget to offer retail cloud hosting plans to the public as a service. The competing platform services are all marketed under the same “cloud hosting” banner, but actually contain different combinations of software solutions designed to optimize the support of remote applications hosted on the data center hardware. Thus, it is important to understand the differences in approaches offered by the various web hosting companies when evaluating between the wide number of competing cloud hosting plans sold to the retail market.
Cloud Hosting Main Principles
Some of the most common methodological approaches employed by web hosting companies in developing their cloud hosting platforms are:
- Elastic Cloud: Scaling a single web server into multiple copies in server clusters deployed to different data centers internationally to meet the web traffic demands of the largest websites and mobile applications is known as elastic cloud technology. Rackspace and AWS are the main two web hosting companies developing and specializing in elastic cloud solutions.
- Virtualization: Snapshots of the entire software stack of a web server, including the website, database, operating system, and installed programming languages, can be used to quickly duplicate a virtual machine into server clusters for elastic cloud scaling requirements. Virtualization technology is deployed in many ways to develop cloud hosting solutions.
- Load Balancing: Network load balancing works with smart routing, real-time performance monitoring, and data mirroring to improve page load speeds and database processing in cloud hosting platforms. Incoming web traffic requests are routed to the server hardware that has the lowest overall usage rates in order to maximize the performance of the network equipment.
- Stack Snapshots: The use of snapshots with virtualization can speed up the deployment of web servers immensely, for example where the entire LAMP stack can be installed from a single portrait. When used with live websites, the database and web page files can be included with the entire web server environment to backup, clone, restore, and transfer functional data.
- Remote Apps: The deployment of web applications on remote server farms in “the cloud” is a fundamental aspect of cloud computing. Most CMS, CRM, blog, wiki, and ecommerce scripts function in this manner, making cloud hosting an optimized service environment for running the apps for use by clients in a web browser on desktop computers, tablets, and mobile devices.
- Big Data: While the “big data” concept is usually associated with search engine companies and enterprise corporations with huge databases and large IT teams, the entire data center in web hosting can also be viewed as another example, with all of the web hosting files and databases of clients stored on a platform taken together. The same cloud technology can be used in both cases to improve the performance of server networks, databases, and website file transfers.
- Scalable Resources: The current generation of web servers have multi-core CPUs, solid state drives including TBs of storage in RAID arrays, huge allocations of RAM, and other features which combine to create elements of supercomputing in data centers. Scalable resource allocation uses real-time network monitoring to provide more hardware resources to websites to keep them online under any user traffic conditions.
While these are not the only methods being developed by cloud hosting companies today, most of these aspects can be found in the different Platform as a Service products being offered by the main companies in the sector. Cloud hosting plans combine the use of many of these techniques in overlapping ways in order to improve web server network performance, website page load speeds, and database processing times for remote applications. This allows web hosting companies to offer improved support for the numerous requirements of web publishing to their customers, who also end up with a better result. The Platform as a Service model makes cloud hosting plans more affordable.
Cloud Hosting Platform Software
Because each company in the web hosting sector is developing their own cloud platform solutions uniquely, there is not a lot of standardization in the industry. Web hosting companies build proprietary solutions in cloud hosting by applying a variety of different hardware and software solutions in layers to data center operations, in order to better improve the overall quality of network services according to customer requirements. Some of the main platform software found in retail cloud hosting plans are:
- OpenStack: Developed by Rackspace and NASA, OpenStack allows web hosting companies to deploy VPS networks using the latest cloud hosting standards. Over 500 companies currently develop for the platform, providing third-party modules that can add functionality in different ways to the service. OpenStack can be used as a complete cloud data center solution.
- CloudStack: Part of the Apache Server project, CloudStack is another open source solution for data centers that allows for the management of virtual private server networks. CloudStack integrates with KVM, Xen, and VMware hypervisors, including real-time network monitoring features, advanced load balancing for web traffic, and robust platform security options.
- Nginx: One of the most popular cloud solutions implemented in web hosting is to replace Apache HTTP Server with Nginx, a reverse proxy server that provides better page caching facilities and scales to support more simultaneous users per hardware unit than Apache. WordPress and other CMS websites benchmark significant performance gains running on Nginx.
- Varnish Cache: The Varnish Cache software is an advanced page caching solution popular with large websites that need to scale CMS code to support millions of page loads per day. Many cloud hosting plans offer Varnish Cache support for Apache servers, along with APC, OPcache, and Memcache, to implement a multi-layered approach to website performance optimization.
- CloudFlare CDN: The free CloudFlare CDN service is integrated with many retail cloud hosting plans and involves the parking of cached versions of a website in different data centers around the world to deliver the files more quickly to major media markets. The CloudFlare service requires a website’s DNS server address to be re-routed to the CDN network to operate.
- KVM: Kernel-based Virtual Machine (KVM) is part of the Linux operating system and allows for the shared use of hardware driver resources in the creation of VPS networks on a host computer or web server network. KVM is part of many cloud hosting plans based on virtualization.
- Ceph: The Ceph file storage platform is used by many cloud hosting plans for distributed cluster solutions, data mirroring, snapshot utilities, and website backup facilities. Since 2010, Ceph has been part of the Linux kernel. The software has API integration with Amazon S3 and OpenStack.
- Bitnami: The Bitnami service provides a number of pre-formatted snapshots that allow for the installation of a full software stack on virtual servers which includes choices for different operating systems combined with various server software platforms, programming languages, database frameworks, and web scripts. Bitnami is frequently used for cloud server deployment.
- HTTP/2: The latest update to the HyperText Transfer Protocol (HTTP) critical for all website publishing on the internet is HTTP/2. Not all web hosts currently support the standard, but it has become an important element used to speed up network data transfers on cloud hosting plans.
- PHP 7: It is estimated that over 80% of published websites in 2017 run on PHP scripts. While PHP version 5.6 is the current version supported by many web hosts, the release of version 7.x is considered an important part of improving CMS website processing on new cloud platforms.
- HHVM: Hip Hop Virtual Machine (HHVM) is a programming language developed for the cloud by Facebook as an alternative to PHP, intended to overcome some of the limitations of running PHP code on web servers and to increase the performance speed of remote applications.
While not all of these software distributions are limited to use in cloud hosting, most of the cloud hosting platforms developed by the major web hosting companies implement these solutions in various ways in their standards. When comparing the different cloud hosting plans offered by companies in the sector, look for these software solutions and be familiar with the various advantages of each service in optimizing website performance for speed gains. Where cloud hosting is driven continually in new directions by software innovation in the industry, these are some of the best tools currently available for web developers to build upon to take advantage of the latest advances in practical application of the technology.