image001.jpg

Tìm hiểu về Moodle LMS

Được biết, Moodle LMS là một hệ thống quản lý học tập (LMS - Learning Management System) hay còn gọi là hệ thống học trực tuyến (E-learning). Về khía cạnh công nghệ, Moodle LMS là một ứng dụng monolith được phát triển bằng PHP với cơ sở dữ liệu MySQL hoặc PostgreSQL. Monolith là kiểu kiến trúc ứng dụng mà ở đó toàn bộ code được đóng gói và phát triển trên duy nhất một project/source code (đây là mô hình ứng dụng truyền thống còn nhiều bất tiện trong việc triển khai, vận hành...). Moodle LMS lưu trữ dữ liệu ứng dụng trong cơ sở dữ liệu và cả trong thư mục hệ thống tập tin có tên Moodledata. Để cải thiện hiệu suất, Moodle LMS còn hỗ trợ các dịch vụ caching (bộ nhớ đệm) như Redis hay Memcached.

image002.jpg
Kiến trúc tổng quan các thành phần trong ứng dụng Moodle

Tại sao cần triển khai ứng dụng Moodle LMS theo Serverless Container

Ứng dụng Moodle LMS chạy trên các môi trường máy chủ vật lý và máy ảo sẽ có một nhược điểm là không thể mở rộng (scale-out/scale-in) linh hoạt dẫn đến không thể tối ưu chi phí hạ tầng. Khi các doanh nghiệp giáo dục áp dụng công nghệ Serverless Container, toàn bộ cấu hình của ứng dụng Moodle LMS sẽ được đóng gói cùng với các thành phần đi kèm cần thiết. Điều này giúp Moodle LMS có thể mở rộng linh hoạt do triển khai theo dạng Serverless Container, có khả năng scale-out và scale-in nhanh chóng trên bất kỳ môi trường nào. 

Với công nghệ Serverless Container, ứng dụng Moodle LMS không chỉ giúp các tổ chức giáo dục mở rộng hạ tầng linh hoạt mà còn giảm nhẹ rủi ro và gánh nặng vận hành VM (Virtual Machine: Máy ảo). Bởi các công việc như cập nhật bản vá hệ điều hành (Operating System), bảo mật, mở rộng sẽ đều được quản lý bởi nhà cung cấp, từ đó dẫn đến việc mở rộng hiệu quả hơn. 

Bên cạnh đó chi phí cũng sẽ được tối ưu hơn vì Serverless Container tính phí theo lượng vCPU, Memory mà ứng dụng tiêu tốn để xử lý. Lý do là khi triển khai ứng dụng bằng Serverless Container, ứng dụng sẽ tự scale cấu hình phù hợp cho các node (máy ảo hoặc 1 môi trường vật lý để chạy các Container trên đó). Do đó, người dùng không cần quan tâm đến cấu hình (CPU, RAM).

Cách CMC Telecom triển khai Moodle LMS cho các tổ chức giáo dục

Với kinh nghiệm triển khai dự án Moodle LMS cho nhiều tổ chức giáo dục khác nhau, CMC Telecom đã đúc kết được phương pháp hiện đại hoá ứng dụng học trực tuyến trên AWS theo các thực tiễn tốt nhất (best practices) của AWS. 

CMC Telecom triển khai ứng dụng Moodle LMS trên các Container được quản lý bởi dịch vụ Amazon ECS. Đây là dịch vụ giúp khách hàng quản lý các ứng dụng được đóng gói Container và giúp đơn giản hoá việc quản trị Container trong trường hợp khách hàng không có nhiều kinh nghiệm với nền tảng Kubernetes. Ứng dụng Moodle LMS được đóng gói và lưu trên Amazon ECR và được triển khai dưới dạng Serverless với dịch vụ AWS Fargate giúp khách hàng tối ưu chi phí sử dụng do chỉ tính phí theo vCPU, Memory tiêu hao. Do đó, khách hàng hoàn toàn có thể tập trung vào quản lý ứng dụng Moodle LMS thay vì tốn nguồn lực cho quản trị hạ tầng. 

Chuyên gia MultiCloud của CMC Telecom chia sẻ: “AWS Fargate là dịch vụ máy chủ ảo dùng để triển khai và quản lý Containers mà không cần quan tâm đến cấu hình máy ảo (VM). Còn Amazon ECR (Amazon Elastic Container Registry) là ứng dụng nhằm đơn giản hóa việc lưu trữ, quản lý và triển khai các Docker container image, đây là một file bất biến không thay đổi, chứa các source code, libraries, dependencies, tools và các files khác cần thiết cho một ứng dụng để chạy”. 

Để vận hành hiệu quả, CMC Telecom tích hợp các giải pháp giám sát và ghi log trên AWS như Amazon CloudWatch và AWS CloudTrail. Khi sử dụng hai dịch vụ này, khách hàng dễ dàng nhận biết tình trạng cũng như hiệu năng hoạt động của ứng dụng, từ đó đưa ra các quyết định tối ưu hệ thống.

Để đảm bảo tính sẵn sàng cao cho ứng dụng Moodle LMS, CMC Telecom thiết kế ứng dụng chạy và mở rộng trên 2 Availability Zone (AZ) để dự phòng trường hợp sự cố xảy ra trên 1 AZ thì ứng dụng của nhà trường không bị ảnh hưởng quá nghiêm trọng. Bên cạnh đó, ứng dụng chạy trên Container Serverless có thể mở rộng linh hoạt đáp ứng nhu cầu truy cập đồng thời cho hàng nghìn học viên.

Không chỉ thế, CMC Telecom triển khai CloudFront như một giải pháp CDN để giảm độ trễ truy cập cho học viên. Người dùng sẽ truy cập ứng dụng Moodle LMS qua Application Load Balancer (ALB) để phân phối tải đều vào các Container. Để bảo vệ ứng dụng khỏi các tấn công Layer 7, AWS WAF (ứng dụng tường lửa của AWS) được tích hợp trên CloudFront và ALB. Các file moodledata được lưu trên Amazon EFS (dịch vụ lưu trữ file dữ liệu), là hệ thống file dùng chung cho ứng dụng Moodle và Amazon RDS được dùng để triển khai Database cho ứng dụng. Đây đều là các dịch vụ được quản lý bởi AWS giúp khách hàng giảm nhẹ mối lo về mở rộng. Cuối cùng, để tăng hiệu năng ứng dụng trong việc truy xuất dữ liệu trong database hay file, dịch vụ Amazon ElastiCache for Redis được triển khai làm thành phần quản lý bộ nhớ đệm (caching) cho ứng dụng.

image003.jpg
 Kiến trúc triển khai ứng dụng Moodle LMS theo công nghệ Serverless Container trên hạ tầng AWS

Trên đây là cách thức mà CMC Telecom tận dụng lợi thế về hạ tầng và công nghệ của AWS để triển khai ứng dụng học trực tuyến Moodle LMS trên Cloud với khả năng tự động mở rộng linh hoạt, tối ưu chi phí, vận hành hiệu quả và bảo mật an toàn. 

Với vị thế là Advanced Tier Services của AWS tại Việt Nam, đồng thời CMC Telecom đã trực tiếp triển khai Moodle LMS trên AWS cho nhiều tổ chức giáo dục, doanh nghiệp này là một lựa chọn để giúp khách hàng dịch chuyển an toàn và hiện đại hoá hạ tầng học trực tuyến hiệu quả. 

Thúy Ngà