Các dự án của Young Monkeys được vận hành thế nào?
Back To BlogsMỗ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:
- Admin: Cung cấp giao diện quản trị.
- Web: Cung cấp giao diện web và API.
- 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.
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:
Đả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:
Độ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.