Young Monkeys đang vận hành 5 website của chính mình và 5 website của các khách hàng khác nhau và sẽ tiếp tục tăng trong tương lai, câu hỏi đặt ra là làm thế nào để vận hành một số lượng lớn các dự án phần mềm với một nguồn lực hạn chế? Mình sẽ giải đáp các thắc mắc cho các bạn trong bài này nhé.

Mỗi dự án là một máy chủ khác nhau

Do đặc thù của mỗi dự án và mỗi khách hàng lại có yêu cầu khác nhau nên yêu cầu bắt buộc phải triển khai riêng ezyplatform cho từng dự án và từng khác hàng, mỗi máy chủ sẽ có các thành phần như sau:

Young Monkey được vận hành thế nào - to chuc tren mot may.png
  1. Admin: Cung cấp giao diện quản trị.
  2. Web: Cung cấp giao diện web và API.
  3. Socket: Cung cấp API socket realtime. Không phải dự án nào cũng dùng đến socket nên phần này là tuỳ chọn, hiện tại có trò chơi EzySmashers là đang sử dụng socket.

Nếu bạn triển khai EzyPlatform cho tổ chức của mình, bạn có thể để cơ sở dữ liệu ra một hạ tầng riêng vì cơ sở dữ liệu tốn khá nhiều bộ nhớ, nếu tổ chức tập trung thì có thể sẽ đỡ hơn.

Backup cơ sở dữ liệu và thông báo có lỗi

Cũng tương đối đơn giản, Young Monkeys sử dụng Amazon S3 để backup cơ sở dữ liệu và log lỗi thì bắn qua slack channel.

Young Monkey được vận hành thế nào - luu log va backup db.png

1. Tất cả các dự án sẽ backup cơ sở dữ liệu hàng ngày và vào một nơi duy nhất kiểu thế này:

Screenshot 2024-12-26 at 16.51.30.png

Đảm bảo khi có vấn đề xảy ra sẽ có cơ sở dữ liệu để rollback lại.

Tính năng backup này được cung cấp bởi Data Backup plugin.

2. Khi có lỗi xảy ra lỗi sẽ được gửi về một kênh slack duy nhất, các lỗi sẽ được chỉ rõ là từ dự án nào kiểu thế này:

Screenshot 2024-12-26 at 16.52.37.png

Đội ngũ của Young Monkeys sẽ phân tích lỗi và nếu lỗi đó cần phải fix thì sẽ tiến hành fix và nâng cấp phiên bản cho theme hoặc plugin.

Tính năng thông báo lỗi này được cung cấp bởi Logs Monitor plugin.

Kết luận

Vận hành phần mềm là một câu chuyện phức tạp, càng sinh ra nhiều hệ thống monitor sẽ càng làm phức tạp thêm vấn đề đối với những tổ chức hay cá nhân có nguồn lực hạn chế. Chính vì vậy mà Young Monkeys muốn áp dụng một mô hình đơn giản cho các dự án ở thời điểm hiện tại là tháng 12/2024. Trong tương lai khi số lượng dự án cần vận hành tăng lên và cách hiện tại không đủ khả năng đáp ứng nữa thì sẽ nghiên cứu giải pháp khác.