113 أسطر
3.4 KiB
Markdown
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/
|
|
``` |