Testimonials"I can't recommend HostVentures enough for hosting. We've been with them for several years and they're the only hosting company with whom we haven't grown frustrated after a few months. They're responsive, accommodating, and understanding of all our issues. The guys who run it are so dedicated to us it's crazy. HostVentures serves as a consultant to us on anything server or code-related we need help with."
Jakob
HostVentures provides high-availability consulting, implementation and support. Our experience in the field is unmatched, ranging from Fortune 100 consulting, to helping small businesses grow, to supporting configurations with over a million unique visitors per day. Please contact us for more information.
Here are some application and system concerns with respect to implementation of high availibily architectures:
Redundancy is key in any high availability scheme and this means multiple running copies of databases and other data such as static content files, images, movies, etc... Database redundancy and scalability is the most difficult to achieve and there are various techniques to meet the goal. For instance, all database products have a real-time replication feauture that can keep slaves synchronized to within several seconds of the master. There are techniques whereby transactions are written simultaneously to multiple master databases, incurring extra write/insert overhead but featuring no replication delays. Furthermore, disk sharing techniques combined with memory replication exhibit excellent performance and failover characteristics.
To facility real-time failover, load distribution schemes must detect and react to network outages and delays as well as application outages and response time slowdowns. For instance, when a load balancer detects that a particular server is responding slowly, it will direct more traffic to other servers. Furthermore, in a global load balancing scheme the DNS service that directs users to a specific geographic location needs to have real-time performance data for each location and direct users where performance is likely to be optimal considering geographic proximity as well as application response times in each point of presence.
Consider what can fail when designing a high availability system. For instance, typical problems include network outages, hard disk failures, power supply failures, operating system issues, and database performance problems. Identify and attempt to eliminate any single points of failure and ensure that failover is as automated as possible.
If uptime requirements are 24/7/365 then you will need to consider how to perform systems maintenance and upgrades without service disruption. For example, you can take down and perform maintenance on one of two redundant configurations, swap the patched and upgraded system with the live one and upgrade the other system with minimal or no downtime.