# sifat192/ai-cloud-digital-twin architecture

> Architecture diagram of the GitHub repository sifat192/ai-cloud-digital-twin, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sifat192/ai-cloud-digital-twin
- Repository: https://github.com/sifat192/ai-cloud-digital-twin

## Overview

This is a Streamlit cloud-resource monitoring dashboard that reads a usage dataset, filters it by user and workload, and presents current metrics, health status, forecasts, anomaly results, visualizations, and optimization recommendations. The principal workflow and recommendation logic are implemented together in app.py; model and scaler artifacts are stored under models/. The sampled code references dataset and model filenames without those directory prefixes, so the graph shows the intended data/model dependencies, not verified runtime path resolution. Other capabilities are based on the README because notebooks were not sampled.

Main entry points: [`app.py`](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py) (Streamlit dashboard), [`models/cpu_forecasting_model.pkl`](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/cpu_forecasting_model.pkl) (CPU model), [`models/cpu_scaler.pkl`](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/cpu_scaler.pkl) (CPU scaler), [`models/memory_forecasting_model.pkl`](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/memory_forecasting_model.pkl) (Memory model)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_dashboard["Dashboard"]
  node_dashboard_app["Streamlit dashboard<br/>[app.py]"]
  node_selection["User/workload filter<br/>[app.py]"]
  node_visualizations["Charts and analysis<br/>[app.py]"]
end

subgraph group_analytics["Analytics"]
  node_preparation["Feature preparation<br/>[app.py]"]
  node_monitoring["Metrics and health<br/>[app.py]"]
  node_forecasting["CPU/memory forecasts<br/>[app.py]"]
  node_anomaly_detection["Anomaly detection<br/>[app.py]"]
  node_recommendations["Optimization recommendations<br/>[app.py]"]
end

subgraph group_assets["Data and models"]
  node_dataset["Usage dataset<br/>[cloud_dataset.csv]"]
  node_cpu_model["CPU model"]
  node_cpu_scaler["CPU scaler<br/>[cpu_scaler.pkl]"]
  node_memory_model["Memory model"]
  node_memory_scaler["Memory scaler<br/>[memory_scaler.pkl]"]
  node_anomaly_model["Anomaly model<br/>[anomaly_model.pkl]"]
  node_anomaly_scaler["Anomaly scaler<br/>[anomaly_scaler.pkl]"]
end

node_administrator(("Administrator"))

node_administrator -->|"uses"| node_dashboard_app
node_dashboard_app -->|"reads"| node_dataset
node_dashboard_app -->|"renders"| node_selection
node_selection -->|"selects and encodes"| node_preparation
node_preparation -->|"provides records"| node_monitoring
node_preparation -->|"provides features"| node_forecasting
node_preparation -->|"provides features"| node_anomaly_detection
node_dashboard_app -->|"loads"| node_cpu_model
node_dashboard_app -->|"loads"| node_cpu_scaler
node_dashboard_app -->|"loads"| node_memory_model
node_dashboard_app -->|"loads"| node_memory_scaler
node_dashboard_app -->|"loads"| node_anomaly_model
node_dashboard_app -->|"loads"| node_anomaly_scaler
node_forecasting -->|"scales inputs"| node_cpu_scaler
node_forecasting -->|"predicts CPU"| node_cpu_model
node_forecasting -->|"scales inputs"| node_memory_scaler
node_forecasting -->|"predicts memory"| node_memory_model
node_anomaly_detection -->|"scales inputs"| node_anomaly_scaler
node_anomaly_detection -->|"predicts anomalies"| node_anomaly_model
node_dashboard_app -->|"renders"| node_visualizations
node_monitoring -->|"supplies current metrics"| node_recommendations
node_forecasting -->|"supplies predictions"| node_recommendations
node_anomaly_detection -->|"supplies anomaly status"| node_recommendations
node_dashboard_app -->|"generates"| node_recommendations

click node_dashboard_app "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py"
click node_dataset "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/Dataset/cloud_dataset.csv"
click node_selection "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py"
click node_preparation "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py"
click node_monitoring "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py"
click node_forecasting "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py"
click node_cpu_model "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/cpu_forecasting_model.pkl"
click node_cpu_scaler "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/cpu_scaler.pkl"
click node_memory_model "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/memory_forecasting_model.pkl"
click node_memory_scaler "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/memory_scaler.pkl"
click node_anomaly_detection "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py"
click node_anomaly_model "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/anomaly_model.pkl"
click node_anomaly_scaler "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/anomaly_scaler.pkl"
click node_visualizations "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py"
click node_recommendations "https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_dashboard_app,node_selection,node_visualizations toneBlue
class node_preparation,node_monitoring,node_forecasting,node_anomaly_detection,node_recommendations toneAmber
class node_dataset,node_cpu_model,node_cpu_scaler,node_memory_model,node_memory_scaler,node_anomaly_model,node_anomaly_scaler toneMint
class node_administrator toneIndigo
```

## Components

### Dashboard

- [Streamlit dashboard](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py): `app.py`
- [User/workload filter](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py): `app.py`
- [Charts and analysis](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py): `app.py`

### Analytics

- [Feature preparation](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py): `app.py`
- [Metrics and health](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py): `app.py`
- [CPU/memory forecasts](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py): `app.py`
- [Anomaly detection](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py): `app.py`
- [Optimization recommendations](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/app.py): `app.py`

### Data and models

- [Usage dataset](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/Dataset/cloud_dataset.csv): `Dataset/cloud_dataset.csv`
- [CPU model](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/cpu_forecasting_model.pkl): `models/cpu_forecasting_model.pkl`
- [CPU scaler](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/cpu_scaler.pkl): `models/cpu_scaler.pkl`
- [Memory model](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/memory_forecasting_model.pkl): `models/memory_forecasting_model.pkl`
- [Memory scaler](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/memory_scaler.pkl): `models/memory_scaler.pkl`
- [Anomaly model](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/anomaly_model.pkl): `models/anomaly_model.pkl`
- [Anomaly scaler](https://github.com/sifat192/ai-cloud-digital-twin/blob/main/models/anomaly_scaler.pkl): `models/anomaly_scaler.pkl`

### Other components

- **Administrator**

## Connections

- Administrator → Streamlit dashboard: uses
- Streamlit dashboard → Usage dataset: reads
- Streamlit dashboard → User/workload filter: renders
- User/workload filter → Feature preparation: selects and encodes
- Feature preparation → Metrics and health: provides records
- Feature preparation → CPU/memory forecasts: provides features
- Feature preparation → Anomaly detection: provides features
- Streamlit dashboard → CPU model: loads
- Streamlit dashboard → CPU scaler: loads
- Streamlit dashboard → Memory model: loads
- Streamlit dashboard → Memory scaler: loads
- Streamlit dashboard → Anomaly model: loads
- Streamlit dashboard → Anomaly scaler: loads
- CPU/memory forecasts → CPU scaler: scales inputs
- CPU/memory forecasts → CPU model: predicts CPU
- CPU/memory forecasts → Memory scaler: scales inputs
- CPU/memory forecasts → Memory model: predicts memory
- Anomaly detection → Anomaly scaler: scales inputs
- Anomaly detection → Anomaly model: predicts anomalies
- Streamlit dashboard → Charts and analysis: renders
- Metrics and health → Optimization recommendations: supplies current metrics
- CPU/memory forecasts → Optimization recommendations: supplies predictions
- Anomaly detection → Optimization recommendations: supplies anomaly status
- Streamlit dashboard → Optimization recommendations: generates
