Contact: 800-327-1802
or info@mindcentric.com | Service Status
|
Every company has different High-availability needs based on their business, goals and budgery. MindCentric can help you determine the correct high-availability solution for your business. If you need high availability, business continuity, disaster avoidance, disaster recovery, data security, dynamic failover, database failover, application continuity, or remote standby site or database standby, we can help by providing the technical pros and cons as well as budget information you need to determine the best solution for your business. Our inter-connected multiple-building architecture with fully independent infrastructure (separate power grids, networks, etc) provides more flexible and affordable high-availability options. For customers with mission-critical transaction or data, a high-availability solution can be designed to meet your technical, business, and financial objectives. Below are four scenarios to help you understand some of the basic options:
![]() Scenario 1: High-availability within a single site. High availability in a single site, transactional applications. Failure of the whole site is the least likely scenario, so a major focus of any effort that involves a transactional application should be making a single site highly available. This is important, because the most difficult aspect of running redundantly in two locations involves maintaining two synchronized copies of the database. Key features include web and application server farms, a database failover cluster, and RAID-5 or 1 redundant storage. There are a number of incremental costs to adding to a single site to achieve high availability:
Outstanding risks:
High availability, multi-site redundancy, in active/active mode, read-only applications. This scenario includes a copy of the entire environment at a geographically remote site. Since the data is read only, both sites can simultaneously process user queries and a geographic load balancer is used to distribute requests to the least-loaded site. In the event of a major site failure, all traffic is automatically routed to the available site. Batch updates to refresh the read-only content are applied simultaneously to the two sites. This scenario is often employed for ensuring high-availability of static websites, e.g., the existing IXC public websites. The incremental cost for adding multi-site high availability to Scenario 1, for read-only applications, includes:
Outstanding Risks:
High availability, multi-site redundancy, active/passive mode, transactional application. Because of the difficulty of implementing Scenario 4, this scenario is introduced as a simpler, less costly alternative for transactional applications. This scenario is based on the assumption that a complete site failure is the least likely unplanned outage, and in the unusual circumstance of a disaster occurring, it is acceptable to the business to tolerate a brief outage as the passive (inactive) failover facility is brought online. This approach builds on Scenario 2, but the second site is not active and storage-level replication is used to keep the remote database up to date. If the DBMS is Oracle, Microsoft SQL, or MySQL, facilities are available to keep the remote database online in a standby mode, which will reduce recovery time in the event of a failure. When a site failure is detected, all systems can be automatically started via remote clustering support. There is just one incremental cost for adding transactional capability to Scenario 2 (geographic load balancing is not needed):
Outstanding Risks:
High availability, multi-site redundancy, active/active mode, transactional application. This is the most difficult scenario to implement, because two independent databases must be kept in sync as users at either live site submit transactions that write to their respective local databases. This solution is not widely employed and involves a large development effort, with an exhaustive test cycle to ensure that the resulting very complex environment is correctly implemented. Storage-level replication scenarios are not appropriate in this situation, because both databases must be online and processing transactions. Two programming approaches are available: one involves transaction-level replication and the other database replication. Only transaction-level replication, where both databases are simultaneously updated in a single, two-phase commit transaction, ensures complete real-time synchronicity of the two environments. However, this cure may be worse than the disease, because the most likely failure would not be a site failure, but a failure related to the complexity of the environment that must be implemented to support the distributed update. Programming to accommodate this failure scenario is complex, involving queuing and restoring the failed transactions, e.g., queuing up failed transactions in a redundant queuing environment. Performance may also be an issue, since each transaction would include an additional remote write. An alternate approach would be to employ asynchronous remote updates, either at the transaction level by writing programs to queue the remote updates or by defining two-way database replication schemes. The latter has been employed by major banks, where Oracle has reported that it has achieved a transaction rate of 20 transactions per second in a financial application. This approach introduces a time interval where the two databases are not in sync (before the remote asynchronous updates have been applied) and the application team must address this. The incremental cost for adding transactional capability to Scenario 3:
|
|