Split-Shared Technical Analysis
Split-Shared web hosting is a unique, technologically advanced method of delivering web-based services such as web sites, email, etc. The technology behind Split-Shared hosting is what sets it apart from traditional hosting services.
Using a combination of technologies including virtualization, server clusters, iSCSI SAN network storage, portable IP address space, proprietary resource monitoring and management, Split-Shared web hosting breaks the mold that was once "shared" hosting.
Overview
At the base of Split-Shared hosting is true enterprise class hardware. A service is only as fast and redundant as the hardware it runs on. All Split-Shared hosting environments are provisioned on servers with the following specifications as a minimum:
- Dual Intel Xeon 5450 Quad Core Harpertown processors
- 12 GB RAM
- RAID-1 local disk
Crucial employs a state of the art iSCSI Storage Area Network (SAN) for all client data. This iSCSI based network storage has many advantages over traditional local disk storage. Using SAN for data storage improves speed, redundancy and reliability related to disk access.
The use of Virtuozzo virtualization technologies provides complete isolation between hosting environments. Using virtualization the server or hardware node is split into 10 isolated virtual hosting environments (VE). Each VE is 100% isolated from each other and has guaranteed resources that can not be used by other VE providing a guaranteed level of quality service.
Virtualization technology allows Split-Shared hosting environments to dynamically scale the resources available to the VE. Proprietary monitoring systems evaluate memory and disk use of each hosting environment every 5 minutes. If a resource shortage is determined by the monitoring system the short resource on the VE is automatically scaled up by a factor of 20% and rechecked.
Split-Shared takes virtualization a step further by clustering hardware nodes. Each account on a Split-Shared environment is provisioned a dedicated portable IP address. This portable IP address space allows for an account to be physically migrated to a new hardware node inside the cluster without a DNS change. Account portability of this nature allows Split-Shared hosting to provide "live migrations" and move accounts within the cluster with zero downtime.
Data Center Backend
It comes as no surprise that when utilizing advanced technologies the data center must support the underlying infrastructure necessary for the technologies. Crucial Web Hosting is an authorized SoftLayer Technologies Partner. SoftLayer is a recognized leader in world class data center design.
SoftLayer provides the carrier class network infrastructure necessary for technologies used by Split-Shared hosting. Crucial Web Hosting developers are able to focus on creating powerful hosting solutions while avoiding the issues commonly associated with web hosting companies trying to run their own network.
Softlayer provides the necessary underlying network technologies and Crucial Web Hosting provides the operating level technologies that together make up the Split-Shared hosting product.
Engineering & Performance
Speed
1. Hardware
When it comes to high performance web hosting, the first measure is the speed of the system. There is no amount of optimization that can beat a faster processor. This is why Split-Shared uses only the fastest processors available. Dual Xeon Quad Core Harpertown 3.0 GHz (Model E5450) processors power current Split-Shared hosting environments. This processor is ranked at the top of PassMark’s High End CPU benchmark tests.
Another factor that greatly effects the speed of a system is the amount of RAM a server has available. RAM is "fast memory," which stores commonly accessed instructions and files into it’s available space. The more available space the more instructions which can be stored in RAM. Very few would argue that less RAM is better.
Each server used for Split-Shared hosting has a minimum of 12 GB RAM. This is a full 6x greater than the traditional shared hosts 2 GB RAM or less. The reason traditional shared hosting providers use less RAM is simple, RAM is very expensive. It’s much more cost effective to provide the minimum RAM necessary to run the system.
RAM also plays a very important roll in the virtualization used in Split-Shared hosting. Each hosting environment is guaranteed to have a minimum of 1 GB RAM available to it at all times. This is a minimum guaranteed amount, however each hosting environment has access to any portion of the total 12 GB RAM that is not in use by other hosting environments.
A hardware node is provisioned with 10 Split-Shared hosting environments. Each environment is guaranteed to have 1 GB RAM available at all times. This leaves 2 GB "spare" RAM that is instantly available to each VE in times of need. In times of extreme need RAM will be "borrowed" from hosting environments that are not using their full 1 GB guaranteed RAM.
In the event that the borrowed resources become necessary to the original hosting environment the RAM is reclaimed to provide the guaranteed minimum. Should more RAM become necessary this hosting environment would share the available RAM resources with the original hosting environment that also needed additional resources.
This borrowing of resources is extremely rare in Split-Shared hosting. Due to the fact that a maximum of 25 accounts are placed in a hosting environment the 1 GB provisioned is more than enough to provide exceptional responsiveness. An example of when a hosting environment may need additional dynamically allocated memory would be a time of exceptionally high traffic bursts such as that of a Digg or Slashdot effect or a DDOS.
These bursts in traffic are easily handled by automated monitoring systems which detect the resource shortage and scale the guaranteed resource by a factor of 20 percent. By dynamically allocating a greater portion of RAM to the hosting environment we can allow the usage burst to run it’s course while maintaining an excellent quality of service.
This scalability of hosting environments is completely unique to Split-Shared hosting. This would be analogous to taking a server offline to add additional memory in times of high use. The dynamic scalability of Split-Shared hosting environments were designed to take advantage of unused system resources in the time of need without human intervention.
2. iSCSI Storage Area Network (SAN)
Split-Shared hosting environments use enterprise class iSCSI network area storage for all client data. This method of storage greatly improves the performance of disk access as well as the availability of stored data. Each hardware node or server is connected to it’s own LUN or SAN "storage device" which can be grown to over 100+ terabytes.
SAN storage solutions outperform even local disks. The use of 1 Gbps fiber channel technology and high capacity private networks using VLAN network technology reduce the latency and network saturation associated with network based storage.
The iSCSI adapter employs hardware level caching to further improve the local performance of the SAN. The iSCSI adapter uses caching to decrease disk latency in read and write operations.
Current implementations of virtualization have an inherent problem with disk related I/O. There has always been a "bottleneck" when it comes to reading and writing data to disk. Split-Shared’s use of iSCSI SAN data storage with its caching and fiber channel speeds effectively defeats this bottleneck. The overall performance of Split-Shared hosting environments is greatly enhanced by the use of iSCSI SAN for data storage.
3. Network
As an authorized SoftLayer technologies partner, Crucial Web Hosting employs geographically displaced data centers in Dallas and Seattle. Each data center provides a carrier grade network for Crucial to launch services from.
An Internet service is only as fast as the slowest link. Split-Shared web hosting requires Enterprise Class speeds to perform at it’s peak. Each server is equipped with dual fiber channel 1GBp/s network interfaces. These interfaces provide the fastest possible network connection allowing for greater through put and less network latency and saturation.
This combination of enterprise class hardware, SAN data storage, carrier grade data centers and fiber channel connectivity provides the framework from which Split-Shared web hosting draws its speed.
Uptime / Availability
A second aspect of high performance web hosting is the availability of services, or uptime. While speed measures enhanced performance at low use, availability measures itself in terms of resiliency and ability to remain stable under even the worst of conditions and highest of loads.
Hardware
Redundancy must be built in. It can not be added after the fact as a "good idea." The server hardware is the basis for physical redundancy. Split-Shared hosting relies on strong, available hardware to provide the guaranteed service quality that it offers.
RAID (Redundant Array of Independent Disks)
Split-Shared hardware nodes are provisioned with RAID1 local disk array. This provides for a mirrored hard disk set using a hardware based RAID controller to power two 250 GB SATA II hard drives.
The RAID controller has a battery backup to ensure power continuance further enhancing the local drive system redundancy and integrity. Should one local disk suffer a catastrophic failure, the second disk continues to provide the data necessary for system operation while the failed hardware is replaced.
Quality Components
Only the very latest technology is used for Split-Shared hardware. CPU, RAM, motherboard, RAID controller, disk drives are all of the latest available technology.
Crucial Web Hosting understands that "owning" hardware is not a good idea as it ties you to that quickly dated technology for years to come just to break even on the expense. Instead Crucial leases the latest available hardware from our partner, SoftLayer.
Without financial ties to our hardware as with ownership, we can rapidly change hardware environments without the consideration of purchasing new hardware or replacing old hardware. Split-Shared hosting operates at it’s best on the fastest and latest available hardware technologies and depends on this technology growth for higher density client/server solutions.
Dynamic Resource Allocation
Resource usage or more specifically, resource "over usage," is the most common reason for system failure and associated service downtime in traditional shared hosting. The concept is very simple: a server becomes overwhelmed by requests (Digg, Slashdot, DDOS) and runs out of resources (memory, processor) to handle the incoming requests. This ultimately causes the system to "crash," or hang inevitably requiring a reboot at the very least.
Crucial Web Hosting, ltd is an authorized Parallels hosting partner. Parallels, formerly SWSoft, is the creator of the industry leading virtualization software, Virtuozzo.
The virtualization software, Virtuozzo, provides the ability to perform real-time adjustments to CPU Usage, memory, and disk space allotment inside each virtual environment in real-time without requiring a reboot or any downtime.
At the same time virtualization provides "limits" to a virtual environment resource usage. This valuable limitation of resource usage protects the Split-Shared hosting environment from runaway processes and other resource consuming activities such as DDOS.
Should a rogue script or DDOS effect a Split-Shared hosting environment the limits in place will protect the virtual environment, the other virtual environments on the hardware node and the hardware node itself. This provides the resource isolation that is necessary to stop any single virtual environment from consuming the full resources of the server and creating a full hardware level failure.
During provisioning each Split-Shared hosting environment is given statistically more CPU, memory, and disk space than the environment should need on average over the life of the hosting environment. This over supply of resources to each VE allows the Split-Shared hosting environment to "breath" and grow into the initial resource allocation.
Redundancy and Availability
Clustered Virtualization
Crucial uses advanced clustering technology to create Virtuozzo hardware node clusters. This clustering technology is combined with private VLAN technology and portable IP address space to deliver true clustered virtualization.
Portable IP address space differs from static address space in that static address space is "assigned" to a single server whereas portable IP address space is assigned to a network VLAN and can be used on any server hardware node also within the VLAN.
The portable IP space along with the clustered virtualization allows for an entire Split-Shared hosting environment to be migrated, with zero downtime, to a new hardware node within the cluster under the same VLAN. The advantages of this clustered virtualization with portable IP space is that in the event of a hardware node failure any server in the cluster can quickly take on the master role without the need for any DNS changes.
Portable IP Address Space
Each Split-Shared hosting account is provisioned with a single portable dedicated IP address. There are many well known advantages to having a dedicated IP address, however portable IP addresses are not so well documented.
There is little difference between the two types of IP addresses, dedicated and portable dedicated, other than the portability part. As mentioned earlier a portable IP address is assigned to a VLAN allowing any server under the VLAN to use that IP address at any time. The IP address is not tied to the server, but to the sub network on which the server resides providing the IP to be portable from hardware node to hardware node.
ISCSI Storage Area Network (iSAN)
The "Crown Jewel" of the Split-Shared hosting environment is the iSCSI SAN. This ultra-fast storage medium not only provides redundancy through SAN technology and speed via hardware caching and 1Gbps private VLAN it also creates a completely "portable" disk partition that can be mounted from any other hardware node.
The importance of this factor in redundancy and availability can not be over emphasized.
The iSAN can be thought of as a "remote disk partition" that is mounted by a server on the same network. This iSAN disk partition contains the complete working dataset for each virtual environment it is home to. That is to say that the iSAN stored virtual environments exist independently of the hardware node.
The result of this is a fully independent drive system (iSAN) that can be mounted at any time by any server (Hardware Node) in a virtual cluster under the same VLAN. Given that the IP address space is portable there are no server level or DNS implications.
Example
VLAN 10 contains a cluster of Virtuozzo hardware nodes. Hardware node #1 experiences a catastrophic motherboard failure and immediately goes offline. The backup hardware node on VLAN 10 immediately mounts the iSAN associated with now failed hardware node #1. Backup hardware node notifies the VLAN switch it now has the IP Address space that was on hardware node #1. The net result is that the service outage time is greatly decreased by not working on what’s wrong, but working on what’s right.
In this example a hardware node with 10 Split-Shared hosting environments with 25 clients each suffered irreparable hardware damage but was down for less than 20 minutes before the sites were back online.
Split-Shared Monitoring & Reaction Systems
Even the best engineering and performance are marginalized without monitoring and reaction systems to report on performance characteristics. Crucial Web Hosting has developed a unique monitoring and reaction system using open source applications which have been extended to meet the very specific and new needs of Split-Shared web hosting environment.
Cacti
Each Split-Shared hosting environment is monitored via Simple Network Monitoring Protocol (SNMP) using the open source application Cacti. Cacti is primarily a visual tool creating graphs of various services and measurements.
Crucial employs the concept of thresholds inside of the Cacti graphing system. A threshold can be considered a level of violation on a Cacti monitoring graph. For instance, a graph for "Host A" monitors the number of active Apache web server connections. "Host A" has a 95th percentile average of 100 apache connections and a maximum of l20 Apache connections. A Threshold alert is set for any time the graph breaches the 110 Apache connections providing time for system administrators to review the high usage and determine an appropriate course of action.
The Cacti graphs themselves provide invaluable historic information that can easily be identified by the patterns in graphs over time. The visual nature of the graphs provide a tool for systems administrators to take advanced action on growth patterns or reoccurring problems that happen at recognizable intervals.
Nagios
1. Monitoring
Nagios is the cornerstone of the Crucial Web Hosting monitoring system. Crucial systems administrators have been using and actively developing on the Nagios platform since it was called NetSaint and Big Brother before that.
Crucial has developed several proprietary Nagios plugins to monitor the resource status of each virtual environment. These plugins monitor the "user_beancounter" files for breaches in "Guaranteed Memory Usage" and "Burst Memory Usage" among other environment characteristics including:
- Memory Usage (% of allocated capacity)
- Memory Allocation Failures (Max Limit Breaches)
- Load Average
- Active Shell Users
- HTTPd Service
- SMTP Service
- SSH Service
- Number of HTTPd Connections
- Number of Messages in Mail Queue
- Total Running Processes
- Total Zombie Processes
- Virtual File System Usage (% of allocated capacity)
2. Reaction
Effective system monitoring includes automated reaction services which can attempt to correct the reported problem automatically without human intervention or the time associated with manual troubleshooting. Crucial Web Hosting has developed custom Event Handlers designed to automatically correct reported problems by the monitoring systems.
3. EventHandlers
Each of the above Nagios monitoring subjects has an associated EventHandler which automatically attempts to either repair or restart the reported problem. In the case of Memory Usage and Memory Allocation failures Crucial proprietary software is used to automatically scale the available resources.
Memory Usage
Memory usage is evaluated in terms of percentage of usage. Each virtual environment has a guaranteed memory allocation of 1 GB. In the event that the actual memory usage of the virtual environment goes above 80% of the guaranteed resource the system administration team is notified of the elevated condition.
Should the memory usage breach the 90% usage threshold a special proprietary event handler is triggered to automatically scale the memory of the virtual environment by a factor of 20% and immediately recheck the memory usage percentage. Anytime a virtual environment has its memory automatically scaled a text message is dispatched to the active system administration team to notify them of the event immediately.
Memory Limits
When a virtual environment breaches it’s memory limit it records a failure count in the "user_beancounters" file. Using Crucial proprietary software we have added the ability to Nagios to monitor this failure count.
Every five minutes this failure count is evaluated for an increase in value. If a single failure to allocate memory occurs due to virtual limitations put in place our system administrators are immediately sent a text message with the failure notification. Memory limit failures also trigger dynamic allocation of resources in the same fashion as Memory Usage Event Handlers.
It should be noted that this ability to automatically scale the available resources to a hosting environment is completely unique to Crucial’s Split-Shared web hosting. No other hosting provider can claim to have such resource isolation and flexibility in resource management.
The ability to both limit and dynamically allocate resources such as CPU, memory, and data storage space are simply not available in traditional shared hosting or the more exotic grid and clustered shared hosting solutions. Consider increasing the RAM or CPU on a dedicated server or a server cluster. At a minimum this will require a full power down and the downtime associated with the hardware upgrade.
Only virtualization technology provides the ability to dynamically allocate system resources to web hosting environments exactly when they need them with no interruption in service. When this flexibility of virtualization is combined with hardware node clustering, portable IP address space and iSAN technologies, the result is a powerful shared web hosting platform baring the characteristics of enterprise grade hosting called Split-Shared web hosting.
Conclusion
Split-Shared hosting is the result of 11 years of direct business web hosting experience. The combination of technologies used in Split-Shared hosting are unique and provide clear advantages over the traditional shared hosting model of adding hosting accounts by the hundreds to a single dedicated server.
With Split-Shared hosting, clients are isolated from each other in groups no larger than 25 users providing enhanced security and availability by reducing the number of shared hosting "neighbors," the main problem with shared hosting.
Split-Shared hosting provides the ability to dynamically allocate resources such as CPU, memory, and disk space. The ability to both guarantee and limit resources provides both a guaranteed quality of services as well as protection against system over usage and service degradation by limiting runaway resource use. These features are completely unique to Split-Shared hosting and impossible in other hosting environments.
The portability of service is also unique to Split-Shared hosting. All accounts receive a portable dedicated IP address and are hosted on clustered virtualization technology. This allows an account or an entire hosting environment to be seamlessly migrated from one hardware node to another. The use of SAN storage technology further enhances this account portability by providing the ability for any hardware node in the cluster to mount the SAN and immediately begin serving requests.
Split-Shared hosting is much more advanced than traditional shared hosting and brings new technology, many performance enhancements and a choice to the web hosting industry. Crucial Web Hosting is dedicated to continue providing enhanced web hosting solutions for clients of all sizes.
Bookmark: Del.icio.us · Digg · Furl · Google · Reddit · Technorati · Yahoo!
Subscribe Now
Subscribe to our blog by RSS or by email.
Swsoft’s license structure demands up front deposits in the thousands. Each minor feature also requires a license. All Monthly, of course. Tally up your total AP to Parallel, your lease price for premium equipment and I would go so far to estimate your spending around 2k maybe 3k a month per server not including technicians to monitor from the VE monitoring node.
Plesk implements soft quota limits, clear stored passwords via its unencrypted database “out of the box”. Even their billing software runs upwards of 4k or more and require 100/mo per reseller account to be tied into the software.
How on earth you are making money, is beyond me. I would like to know how you are dealing with these premium fees and turn a profit?