Add CLOUD_SYSTEM_ARCHITECTURE.md
This commit is contained in:
200
CLOUD_SYSTEM_ARCHITECTURE.md
Normal file
200
CLOUD_SYSTEM_ARCHITECTURE.md
Normal file
@@ -0,0 +1,200 @@
|
||||
# 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.companydomain.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**.
|
||||
Reference in New Issue
Block a user