Refactor code structure for improved readability and maintainability
هذا الالتزام موجود في:
113
README.md
113
README.md
@@ -1,2 +1,113 @@
|
||||
# Ghaymah-Exam-GamalMohamed-SRE
|
||||
# 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/
|
||||
```
|
||||
المرجع في مشكلة جديدة
حظر مستخدم