High Reliability Cloud Powered Hosting
Shanje runs in a fully virtualized high availability cloud environment. Shanje has rack mounted blade centers with a half terabyte of RAM and nearly 100TB of storage. We can move running web servers between physical nodes in our blade centers without causing interruptions to services. All of the website, email, and database content is centrally stored in several powerful storage area networks (SAN) that all of our blade centers can access. Each SAN unit uses RAID10 to ensure fast, reliable access to data.
The Shanje cloud environment is quite exciting. Instead of having hundreds of small servers, we can use a smaller number of very powerful servers. These powerful servers each have 16 logical CPU cores and 48GB of RAM. The actual web, database, and email servers run inside the cloud environment as virtual servers. We can move the virtual servers around within the cloud between the physical nodes as needed without interrupting service availability. For example, if we need to maintenance the physical server that your sites are currently running on, we can live migrate the virtual server to a different physical node within the cloud before doing the planned maintenance. This all happens without any service interruption at all. Planned physical maintenance no longer needs to interfere with uptime.
The actual content is centrally stored in powerful storage area networks that all of the physical nodes can access, so files don't need to be copied during such a transition. We can live migrate nearly anything within a few seconds this way.
The Shanje web, database, and email servers are arranged as a computing grid running within our high availability cloud. Most other hosts run web, database, and email servers all on one server. We don't do that at Shanje. As a best practice for both performance and reliability, we spread the web, database, and email services out across a large grid of computing resources.
At Shanje, your websites will run on one of the web servers, your databases will run on one of the database servers, and your email will run on one of the email servers. We even split databases up by database type. MySQL4, MySQL5, MSSQL2000, and MSSQL2005 each run on their own separate servers. Even the phpMyAdmin interface (for managing MySQL databases) is running on its own server for optimal performance. Email is similarly split up with WebMail running on its own server separate from the SMTP, POP3, and IMAP services. The backend database for each email server also gets its own server to run on, separate from other email services. This grid based design lets Shanje scale to performance levels that single-server hosting companies simply cannot match.
Shanje does extensive monitoring of both uptime and performance. To monitor uptime, we poll every service on every server once per minute to make sure everything is online and responding properly. When a service is down, our techs are immediately paged so the issue can be promptly resolved. To monitor performance, we gather SNMP based statistics from every server every few minutes. We graph all of the performance metrics that we monitor so we can keep an eye on all of the important performance aspects. We monitor and graph CPU usage, memory usage, disk space free, disk queue length, disk IO per second, and network traffic for every server in the Shanje high availability cloud. We are able to detect and correct performance issues before those issues become serious. This helps us maintain a very high performance web hosting environment that clients can use to build their own reliable hosting companies.