Files
AVEX-Systems-Architecture/CLOUD_SYSTEM_ARCHITECTURE.md

201 lines
4.1 KiB
Markdown

# Cloud System Architecture (Non-HA)
## Overview
This document describes the architecture of the cloud-hosted application environment.
The system is designed as a **single primary cloud deployment without high availability**, with **external access over the internet** and **backup protection managed by CBM**.
This design prioritizes:
* simplicity
* lower infrastructure cost
* straightforward deployment
* reliable offsite backups
High availability and automatic failover are **not implemented** in this architecture.
---
# Architecture Overview
```mermaid
flowchart TB
A[Users]
B[Internet]
C[Cloud Application Server]
D[(Primary Database)]
E[CBM Backup System]
A --> B
B --> C
C --> D
C --> E
D --> E
```
### Components
| Component | Description |
| ------------------------ | ------------------------------------------------------- |
| Users | Employees or authorized users accessing the application |
| Internet | Public internet connection used to access the system |
| Cloud Application Server | Hosts the web application |
| Primary Database | Stores application data |
| CBM Backup System | Performs scheduled backups for disaster recovery |
---
# System Access
The application is accessed externally via a domain name.
Example:
```
https://app.avexmro.com
```
Traffic flow:
```mermaid
flowchart LR
USER[User Device]
INT[Internet]
APP[Cloud Application Server]
DB[(Database)]
USER --> INT
INT --> APP
APP --> DB
```
### Authentication
Access to the system may be restricted through:
* application login authentication
* IP allow lists
* HTTPS encryption
---
# Infrastructure Components
## Cloud Application Server
The cloud server hosts:
* the web application
* API services
* connection to the database
Typical responsibilities:
* processing user requests
* serving application content
* interacting with the database
---
## Primary Database
The database stores:
* application records
* inventory or operational data
* user information
* system configuration data
The database resides **on the same cloud infrastructure environment** as the application server.
---
# Backup System
All backups are managed through **CBM**.
```mermaid
flowchart LR
APP[Application Server]
DB[(Database)]
BACKUP[CBM Backup Storage]
APP --> BACKUP
DB --> BACKUP
```
Backups include:
* full database backups
* application server snapshots
* file storage backups (if applicable)
### Backup Schedule
Typical configuration:
| Backup Type | Frequency |
| ---------------- | --------------------- |
| Database Backup | Daily |
| Server Snapshot | Daily |
| Backup Retention | Defined by CBM policy |
Backups are stored **offsite to protect against data loss**.
---
# Disaster Recovery
In the event of system failure:
1. CBM restores the most recent backup.
2. The cloud server environment is rebuilt if necessary.
3. The application and database are restored.
4. Services are brought back online.
Recovery time will depend on:
* backup size
* restoration process
* infrastructure rebuild time
---
# Limitations of This Architecture
Because this system is **not high availability**, the following conditions may cause downtime:
| Event | Result |
| ----------------------------------- | ---------------------------- |
| Cloud server failure | Application unavailable |
| Cloud maintenance | Temporary downtime possible |
| Database corruption | Restore from backup required |
| Internet outage at hosting provider | System unreachable |
---
# Future Upgrade Path
If higher reliability is required, the architecture can be expanded to include:
* cloud load balancers
* multiple application servers
* database replication
* on-premise failover
* automated health monitoring
These upgrades would transition the system into a **high availability system**.