الملفات

113 أسطر
3.4 KiB
Markdown

# Ghaymah SRE Project
This repository contains a full set of SRE and DevOps deliverables for the Ghaymah platform. It includes a health-monitoring web app, a containerized dashboard, an incident postmortem, CI/CD guidance, and a high-traffic architecture design.
## Project Overview
The project is organized into five main parts:
- Q1: API health monitoring app and dashboard
- Q2: Incident postmortem and resilience recommendations
- Q3-CICD: CI/CD workflow and deployment strategy
- Q4: High-traffic architecture design for 15,000 RPS
- Q5: Containerized monitoring service for uptime and SSL checks
## Repository Structure
```text
Ghaymah_Task/
├── Q1/
│ ├── Dashboard/
│ ├── Dockerfile
│ ├── monitor.sh
│ ├── package.json
│ ├── README.md
│ └── server.js
├── Q2/
│ └── readme,md
├── Q3-CICD/
│ ├── README.md
│ └── workflow.yml
├── Q4/
│ ├── GhaymahAPI.png
│ └── README.md
├── Q5/
│ ├── Dockerfile
│ ├── Entrypoint.sh
│ ├── README.md
│ ├── index.html
│ └── monitor.py
└── README.md
```
## What Each Part Includes
### Q1 — API Health Monitor and Dashboard
This section provides a lightweight web service that exposes a health endpoint and serves a dashboard for monitoring service status, response time, and request count.
Key files:
- [Q1/server.js](Q1/server.js)
- [Q1/monitor.sh](Q1/monitor.sh)
- [Q1/Dashboard/index.html](Q1/Dashboard/index.html)
### Q2 — Incident Postmortem
This section documents a major outage caused by memory exhaustion and proposes mitigation strategies such as autoscaling, pagination, and observability improvements.
Key file:
- [Q2/readme,md](Q2/readme,md)
### Q3-CICD — Continuous Integration and Deployment
This section outlines the CI/CD workflow for automating build, test, and deployment processes for the platform.
Key files:
- [Q3-CICD/workflow.yml](Q3-CICD/workflow.yml)
- [Q3-CICD/README.md](Q3-CICD/README.md)
### Q4 — High-Traffic Architecture Design
This section explains how to design a scalable architecture for handling 15,000 requests per second, covering load balancing, caching, database replication, and storage planning.
Key files:
- [Q4/README.md](Q4/README.md)
- [Q4/GhaymahAPI.png](Q4/GhaymahAPI.png)
### Q5 — Containerized Monitoring Service
This section contains a Dockerized monitoring solution that checks uptime, latency, SSL expiry, and dashboard availability using a simple Python script.
Key files:
- [Q5/Dockerfile](Q5/Dockerfile)
- [Q5/monitor.py](Q5/monitor.py)
- [Q5/Entrypoint.sh](Q5/Entrypoint.sh)
## How to Use This Repository
1. Review the documentation in each folder.
2. Run the applications locally as described in their own README files.
3. Use the CI/CD workflow from Q3-CICD for deployment automation.
4. Reference Q4 for the large-scale architecture approach.
5. Use Q5 as a container-based monitoring example.
## Technologies Used
- Node.js / Express
- Python
- Docker
- HTML / CSS / JavaScript
- GitHub Actions workflow-based CI/CD
## Summary
This project demonstrates a practical SRE approach covering monitoring, incident response, automation, scalability, and container-based operations for a production-style platform.
---
## Author
**Gamal Mohamed**
DevSecOps Engineer
Qabilah Profile
```
https://qabilah.com/profile/gamalmohammed0909/
```