Skip to content

Hệ thống lưu trữ đám mây thu nhỏ (Mini Cloud). Ứng dụng mô hình Client-Server, sử dụng lập trình Socket TCP/IP và Đa luồng (Multithreading) để quản lý và truyền tải file tốc độ cao.

Notifications You must be signed in to change notification settings

MingDanng/MyMiniCloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

☁️ MyMiniCloud - On-Premise Private Cloud Simulation

Docker Nginx Python Flask Keycloak Grafana

📖 Introduction

MyMiniCloud là đồ án mô phỏng một hệ thống điện toán đám mây thu nhỏ (Private Cloud), được xây dựng dựa trên kiến trúc Microservices và triển khai hoàn toàn bằng Docker.

Hệ thống bao gồm 9 máy chủ (containers) hoạt động độc lập, mô phỏng các thành phần cốt lõi của một Cloud Provider thực tế như AWS, bao gồm: tính toán, lưu trữ, cơ sở dữ liệu, định danh và giám sát.

🏗️ Kiến trúc Hệ thống (System Architecture)

Hệ thống sử dụng Docker Network để kết nối các service nội bộ, được điều phối bởi Docker Compose.

Sơ đồ mạng (Network Topology): Architecture Diagram

Các thành phần chính:

Thành phần Công nghệ Vai trò
Load Balancer Nginx Gateway chính, cân bằng tải và Reverse Proxy điều hướng traffic.
Identity Provider Keycloak Quản lý định danh tập trung, cung cấp SSO (Single Sign-On).
App Server Python Flask Backend API xử lý logic và kết nối Database.
Web Server HTML/CSS Giao diện Dashboard quản trị và Blog cá nhân (AWS Style).
Database MariaDB Lưu trữ thông tin người dùng và metadata sinh viên.
Object Storage MinIO Lưu trữ file (ảnh, tài liệu) tương thích chuẩn S3.
DNS Server Bind9 Phân giải tên miền nội bộ (VD: cloud.mylab.local).
Monitoring Prometheus & Grafana Thu thập metrics và vẽ biểu đồ giám sát tài nguyên.

📸 Demo & Screenshots

1. Giao diện & Giám sát

Dashboard Quản trị (Web UI) Giám sát Tài nguyên (Grafana)
Dashboard Grafana

2. Bảo mật & Lưu trữ

Đăng nhập SSO (Keycloak) Quản lý File (MinIO Console)
Keycloak SSO MinIO Storage

3. Hạ tầng Container

Trạng thái các container đang chạy (docker ps): Docker Terminal

🚀 Cài đặt & Chạy (Installation)

Yêu cầu

  • Docker & Docker Compose đã được cài đặt.
  • RAM tối thiểu: 4GB.

Các bước triển khai

  1. Clone dự án:

    git clone [https://github.com/username/MyMiniCloud.git](https://github.com/username/MyMiniCloud.git)
    cd MyMiniCloud
  2. Cấu hình DNS Local (File hosts): Thêm các dòng sau vào file /etc/hosts (Linux/Mac) hoặc C:\Windows\System32\drivers\etc\hosts (Windows):

    127.0.0.1   cloud.mylab.local
    127.0.0.1   auth.mylab.local
    127.0.0.1   storage.mylab.local
    127.0.0.1   monitor.mylab.local
    
  3. Khởi chạy hệ thống:

    docker-compose up -d --build

    (Chờ khoảng 2 phút để MariaDB và Keycloak khởi động hoàn tất)

  4. Truy cập:

    • Dashboard: http://cloud.mylab.local
    • Keycloak: http://auth.mylab.local:8080
    • Grafana: http://monitor.mylab.local:3000

📂 Tài liệu (Documentation)

Chi tiết về thiết kế và kết quả thực nghiệm xem tại báo cáo đầy đủ: 👉 Báo cáo Cuối kỳ - Xây dựng hệ thống MiniCloud (PDF)

👨‍💻 Tác giả (Authors)

Dự án được thực hiện bởi nhóm sinh viên Khoa CNTT - ĐH Tôn Đức Thắng:

  • Nguyễn Phúc Minh Đăng (MSSV: 521H0497) [Leader]
  • Nguyễn Trí Thức (MSSV: 521H0311)
  • GVHD: TS. Bùi Quy Anh

Project developed for Cloud Computing Course (2025).

About

Hệ thống lưu trữ đám mây thu nhỏ (Mini Cloud). Ứng dụng mô hình Client-Server, sử dụng lập trình Socket TCP/IP và Đa luồng (Multithreading) để quản lý và truyền tải file tốc độ cao.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors