

Một nền tảng E-learning có thể hoạt động ổn định với vài trăm người dùng nhưng bắt đầu chậm, giật video hoặc quá tải khi hàng nghìn học viên cùng đăng nhập. Nguyên nhân không chỉ nằm ở phần mềm LMS mà còn phụ thuộc rất lớn vào cách hạ tầng phía sau được thiết kế.
Vậy hạ tầng E-learning cần gì để đáp ứng lượng truy cập lớn, lưu trữ hàng nghìn video bài giảng và vẫn duy trì trải nghiệm học tập ổn định? Bài viết dưới đây sẽ phân tích những thành phần quan trọng mà doanh nghiệp, trường học và đơn vị cung cấp nền tảng đào tạo trực tuyến cần quan tâm.
Khác với một website giới thiệu thông thường, hệ thống E-learning phải xử lý đồng thời nhiều loại workload.
Một học viên có thể đăng nhập vào hệ thống, mở khóa học, tải tài liệu, xem video, làm bài kiểm tra và liên tục gửi dữ liệu tiến độ học tập về máy chủ. Nếu hàng nghìn học viên thực hiện các thao tác tương tự trong cùng thời điểm, lượng request đến hệ thống có thể tăng rất nhanh.
Đặc biệt, E-learning thường xuất hiện những thời điểm traffic tăng đột biến như:
Do đó, thay vì chỉ tăng cấu hình một máy chủ duy nhất, hạ tầng E-learning cần được thiết kế để các lớp compute, database, storage và phân phối nội dung có thể mở rộng độc lập.

Một kiến trúc E-learning có khả năng phục vụ lượng lớn người dùng thường không chỉ gồm một máy chủ chạy LMS. Hệ thống có thể được chia thành nhiều lớp để từng thành phần đảm nhiệm một nhiệm vụ riêng.
Mô hình tổng quát có thể hình dung như sau:
Người học → CDN/WAF → Load Balancer → Cloud Server/Application → Database → Object Storage → Backup
Cách tách các lớp này cũng xuất hiện trong kiến trúc Moodle có tính sẵn sàng cao do AWS đề xuất. AWS khuyến nghị tách lớp ứng dụng và Database để hệ thống có thể mở rộng linh hoạt hơn, đồng thời sử dụng Load Balancer, CDN, cache và các lớp lưu trữ riêng biệt.
Cloud Server là nơi triển khai các thành phần xử lý chính của nền tảng E-learning như:
Khi số lượng người dùng tăng, CPU và RAM của máy chủ cũng phải xử lý nhiều request hơn.
Nếu toàn bộ hệ thống chỉ chạy trên một máy chủ có cấu hình cố định, việc mở rộng sẽ sớm gặp giới hạn. Trong môi trường cloud, doanh nghiệp có thể tăng vCPU, RAM hoặc bổ sung thêm máy chủ khi workload tăng.
Một kiến trúc tốt cũng nên hạn chế phụ thuộc vào một server duy nhất. Thay vào đó, nhiều Application Server có thể chạy song song phía sau Load Balancer.
Khi hệ thống có nhiều Application Server, cần một lớp trung gian để phân phối request đến các server này.
Đó là nhiệm vụ của Load Balancer.
Ví dụ, thay vì 5.000 học viên cùng gửi request đến một máy chủ, Load Balancer có thể phân phối lưu lượng giữa nhiều server đang hoạt động.
Điều này mang lại một số lợi ích:
Database thường là một trong những thành phần dễ trở thành điểm nghẽn khi hệ thống E-learning mở rộng.
Mỗi thao tác như đăng nhập, mở khóa học, lưu tiến độ học tập, ghi điểm bài kiểm tra hay cập nhật thông tin học viên đều có thể tạo truy vấn tới Database.
Nếu Database nằm chung trên một máy chủ với LMS, CPU, RAM và Disk I/O phải chia sẻ giữa cả ứng dụng và cơ sở dữ liệu.
Khi traffic tăng, hai workload có thể cạnh tranh tài nguyên và khiến toàn bộ hệ thống chậm lại.
Vì vậy, với nền tảng có quy mô lớn, nên cân nhắc:

Video thường là thành phần chiếm nhiều dung lượng nhất trong hệ thống E-learning.
Một nền tảng với hàng nghìn khóa học có thể nhanh chóng phát sinh hàng chục hoặc hàng trăm TB dữ liệu gồm:
Nếu lưu toàn bộ các tệp này trên ổ đĩa của Application Server, dung lượng máy chủ sẽ tăng nhanh và việc mở rộng trở nên phức tạp.
Một hướng triển khai phổ biến là sử dụng Object Storage cho dữ liệu phi cấu trúc.
Object Storage có thể mở rộng dung lượng độc lập với Cloud Server, vì vậy doanh nghiệp không cần liên tục tăng ổ đĩa của máy chủ ứng dụng khi thư viện bài giảng ngày càng lớn.
VNPT Cloud Object Storage cũng xác định lưu trữ video cho nền tảng học trực tuyến là một trong các use case của dịch vụ. Hệ thống hỗ trợ API tương thích S3 và khả năng mở rộng dung lượng lưu trữ lên quy mô lớn.
Ngay cả khi Cloud Server và Storage đủ mạnh, việc hàng nghìn người cùng tải một file hoặc xem cùng một video vẫn có thể tạo ra lượng traffic rất lớn về máy chủ gốc.
CDN (Content Delivery Network) giúp giải quyết vấn đề này bằng cách cache nội dung tại các điểm phân phối và phục vụ dữ liệu từ vị trí phù hợp hơn với người dùng.
Các loại nội dung E-learning phù hợp với CDN gồm:
Nhờ đó, hệ thống có thể giảm số request phải quay trở lại Origin Server và giảm tải cho hạ tầng phía sau.
Với hệ thống có nhiều video hoặc người học phân bố tại nhiều khu vực, CDN vì vậy là một thành phần đáng cân nhắc thay vì để tất cả traffic truy cập trực tiếp vào Server hoặc Storage.

Không phải request nào cũng cần truy vấn trực tiếp vào Database.
Ví dụ, những dữ liệu như:
có thể được giữ tạm thời trong hệ thống cache.
Khi ứng dụng cần dữ liệu, hệ thống kiểm tra cache trước. Nếu dữ liệu còn tồn tại, ứng dụng có thể trả kết quả mà không cần gửi truy vấn mới tới Database.
Cách tiếp cận này giúp:
E-learning không chỉ chứa video bài giảng mà còn lưu nhiều dữ liệu quan trọng:
Nếu dữ liệu bị xóa nhầm, hỏng ổ đĩa, ransomware hoặc sự cố hệ thống, việc không có bản sao lưu có thể ảnh hưởng trực tiếp đến hoạt động đào tạo.
Do đó, hạ tầng E-learning cần có chiến lược Backup rõ ràng cho cả Database và dữ liệu ứng dụng.
Doanh nghiệp nên xác định trước hai chỉ số:
Từ RPO và RTO, doanh nghiệp mới có thể quyết định tần suất backup, số bản sao và phương án Disaster Recovery phù hợp.
Nền tảng E-learning thường được truy cập trực tiếp qua Internet và có lượng tài khoản lớn, vì vậy cũng cần được bảo vệ trước các cuộc tấn công mạng.
Một số lớp bảo mật nên xem xét gồm:
Đặc biệt với LMS mã nguồn mở hoặc hệ thống có nhiều plugin, việc quản lý phiên bản và cập nhật bản vá cần được thực hiện thường xuyên.

Với hạ tầng vật lý, doanh nghiệp thường phải mua máy chủ dựa trên mức tải dự kiến trong tương lai. Nếu traffic thực tế thấp hơn, một phần tài nguyên bị dư thừa; nếu traffic tăng nhanh hơn dự kiến, doanh nghiệp lại phải bổ sung phần cứng.
Cloud cho phép hạ tầng linh hoạt hơn.
Doanh nghiệp có thể:
Khả năng điều chỉnh tài nguyên theo workload cũng là một trong những lý do chính khiến cloud phù hợp với các ứng dụng có traffic thay đổi mạnh.
Với nền tảng đào tạo trực tuyến, doanh nghiệp có thể kết hợp nhiều dịch vụ cloud thay vì đặt toàn bộ workload trên một máy chủ duy nhất.
Hệ sinh thái VNPT Cloud hiện có các nhóm dịch vụ như Cloud Server, Cloud Database, Object Storage, Cloud Backup, Load Balancer, Kubernetes, CDN và WAAP, cho phép doanh nghiệp xây dựng nhiều lớp của một kiến trúc ứng dụng hoàn chỉnh trên cùng hệ sinh thái.
Ví dụ, một hệ thống E-learning có thể triển khai:
Đặc biệt với các nền tảng có thư viện video lớn, VNPT Cloud Object Storage hỗ trợ lưu trữ dữ liệu phi cấu trúc như hình ảnh và video, sử dụng API tương thích S3 và có khả năng mở rộng dung lượng lớn.

Thay vì đầu tư một hệ thống có cấu hình rất lớn ngay từ đầu, doanh nghiệp có thể xây dựng kiến trúc theo từng lớp và mở rộng tài nguyên khi số lượng học viên tăng.
Để phục vụ hàng nghìn người học cùng lúc, hạ tầng E-learning không nên chỉ dựa vào một máy chủ cấu hình cao. Một kiến trúc có khả năng mở rộng cần kết hợp Cloud Server, Load Balancer, Database, Cache, Object Storage, CDN, Backup và các lớp bảo mật phù hợp.
