# High Availability Architecture

### **Overview**

**High Availability (HA) Architecture** is designed for mission‑critical systems that require continuous operation and minimal downtime. This architecture is suitable for environments where system availability is closely tied to business operations and defined service level agreements (SLAs).

The primary goal of High Availability Architecture is to ensure that the system continues to operate even when individual components fail, through redundancy, load balancing, and fail‑over mechanisms.

***

### Architecture Overview

In a High Availability setup, the ONEWEB Platform is deployed across multiple nodes to eliminate single points of failure and improve system resilience.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FY15lmnhADFumYXaV56Du%2F0?alt=media" alt=""><figcaption></figcaption></figure>

This architecture typically extends the standard three‑tier model by introducing redundancy at each tier and coordinating traffic through load balancing mechanisms.

***

### Key Design Principles

High Availability Architecture is based on several core design principles:

#### **Avoid Single Points of Failure**

To maximize system availability, the architecture must eliminate components whose failure would cause the entire system to stop. This is achieved by introducing redundancy and distributing workloads across multiple servers.

#### **Hardware Redundancy**

Hardware redundancy ensures that the failure of a physical server does not disrupt the system. Common approaches include:

* **Active‑Active** deployments, where multiple servers run concurrently and share the workload
* **Active‑Standby** deployments, where a backup server takes over when the primary server fails

#### **Process Redundancy**

Process redundancy and isolation ensure that application failures on one server do not impact other running instances. This allows the system to continue operating even when individual processes fail.

***

### Load Balancing (Active‑Active)

Load balancing is a core component of High Availability Architecture.

By distributing incoming requests across multiple servers:

* No single server becomes a bottleneck
* System performance remains stable under load
* Failed or unhealthy nodes can be removed from traffic automatically

This approach improves both availability and scalability.

***

### Fail‑Over Support (Active‑Standby)

Fail‑over mechanisms ensure service continuity when components become unavailable.

In an Active‑Standby setup:

* Standby components continuously monitor the active components
* Traffic is redirected automatically when a failure is detected
* Services continue operating with minimal interruption

This capability is essential for meeting strict availability and recovery requirements.

***

### When to Use High Availability Architecture

High Availability Architecture is recommended when:

* The system supports critical business functions
* Downtime must be minimized or avoided
* Service availability is governed by formal SLAs
* The system must tolerate hardware or process failures

Compared to Standalone Architecture, HA Architecture introduces additional complexity but provides significantly higher resilience and reliability.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onewebstack.com/oneweb-platform-th/overview/platform-architecture/high-availability-architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
