Bối cảnh và vấn đề nghiên cứu
Trong xu hướng chuyển dịch hạ tầng công nghệ thông tin hiện nay, nhiều doanh nghiệp đã chuyển từ hệ thống máy chủ vật lý sang nền tảng điện toán đám mây nhằm tối ưu hóa chi phí vận hành, linh hoạt mở rộng quy mô, nâng cao tính sẵn sàng và đảm bảo an toàn dữ liệu. Tuy nhiên, việc thiết lập và quản lý thủ công các ứng dụng web phức tạp—bao gồm máy chủ cân bằng tải (load balancer), máy chủ web (web server) và máy chủ cơ sở dữ liệu (database server)—thường tiêu tốn nhiều giờ làm việc và tiềm ẩn nguy cơ cao phát sinh lỗi do con người (human error).
Để giải quyết thách thức này, khóa luận tốt nghiệp của nhóm tác giả tập trung nghiên cứu và ứng dụng mô hình Cơ sở hạ tầng dưới dạng mã (Infrastructure as Code - IaC), sử dụng công cụ mã nguồn mở Terraform nhằm tự động hóa toàn bộ quy trình khởi tạo, cấu hình và quản trị tài nguyên mạng.
Mục tiêu nghiên cứu của đề tài được xác định cụ thể gồm:
- Xây dựng một hệ thống mô hình mẫu chứng minh ưu điểm của giải pháp IaC với công cụ Terraform trong việc rút ngắn thời gian triển khai và giảm thiểu sai sót kỹ thuật so với phương pháp cấu hình thủ công.
- Thiết lập và tự động hóa quy trình triển khai ứng dụng WordPress hoàn chỉnh trên cơ sở hạ tầng của cả hai nền tảng: dịch vụ đám mây doanh nghiệp Amazon Web Services (AWS) và nền tảng đám mây mã nguồn mở OpenStack.
- Phân tích, so sánh sự khác biệt giữa phương thức triển khai cơ sở hạ tầng đám mây truyền thống và phương thức tự động hóa, đồng thời nhận diện các hạn chế kỹ thuật hiện tại để đề xuất hướng phát triển tiếp theo.
Đối tượng nghiên cứu của khóa luận là cơ sở hạ tầng điện toán đám mây được định nghĩa bằng mã nguồn thông qua Terraform, cho phép người dùng quản trị tập trung các máy ảo trên AWS và OpenStack trực tiếp từ một máy tính cục bộ (local machine). Phạm vi nghiên cứu bao gồm: vai trò và khả năng tích hợp của Terraform trong quy trình triển khai ứng dụng web; kỹ thuật khởi tạo máy ảo và tài nguyên mạng trên AWS và OpenStack qua mã khai báo; cùng sự phối hợp đồng bộ với các công cụ cấu hình và đóng gói như Ansible, Docker, Docker-compose, hệ thống quản lý phiên bản Git và giải pháp giám sát Zabbix.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng trên nền tảng lý thuyết về điện toán đám mây và mô hình Infrastructure as Code (IaC):
- Điện toán đám mây (Cloud Computing): Được định nghĩa là không gian hạ tầng mạng cung cấp tài nguyên tính toán (phần cứng, lưu trữ, mạng, hệ điều hành, cơ sở dữ liệu) theo yêu cầu. Nghiên cứu phân biệt rõ hai nhóm nền tảng: Enterprise Cloud (đại diện điển hình là AWS với thị phần toàn cầu 32% vào quý 2/2021, sở hữu hạ tầng tại 81 vùng trên 25 khu vực địa lý, cùng Microsoft Azure chiếm 19% thị phần) và Opensource Cloud (tiêu biểu là OpenStack - nền tảng IaaS mã nguồn mở hỗ trợ cả private cloud và public cloud, có chu kỳ phát hành phiên bản 6 tháng/lần).
- Mô hình Infrastructure as Code (IaC): Phương pháp tiếp cận coi cơ sở hạ tầng như phần mềm, cho phép áp dụng hệ thống kiểm soát phiên bản (VCS), quy trình tích hợp liên tục/phân phối liên tục (CI/CD) và kiểm thử tự động. So với các công cụ IaC chuyên biệt của từng hãng như AWS CloudFormation, OpenStack Heat hay Azure Resource Manager (AzureARM), Terraform của HashiCorp nổi bật nhờ tính trung lập, tương thích đa nền tảng và sử dụng ngôn ngữ HashiCorp Configuration Language (HCL). Trạng thái hệ thống được theo dõi qua tệp
terraform.tfstate, có khả năng lưu trữ tập trung (remote state) trên S3, Terraform Cloud hoặc Consul để phục vụ làm việc nhóm.
- Công cụ quản lý cấu hình và container: Ansible được lựa chọn nhờ kiến trúc agentless, điều khiển từ xa qua giao thức SSH mà không cần cài đặt agent nền trên các node đích. Docker và Docker-compose đóng vai trò đóng gói dịch vụ web thành các container độc lập (Nginx, PHP, MariaDB). Hệ thống giám sát mã nguồn mở Zabbix được sử dụng để theo dõi chỉ số tài nguyên phần cứng (CPU, RAM, ổ cứng).
| Tiêu chí |
Ansible |
SaltStack |
Chef |
Puppet |
| Kiến trúc |
Client (Agentless) |
Server / Client |
Server / Client |
Server / Client |
| Cài đặt |
Dễ |
Trung bình |
Trung bình |
Trung bình |
| Quản trị |
Dễ |
Dễ |
Khó (Yêu cầu Ruby DSL) |
Khó (Yêu cầu Puppet DSL) |
Phương pháp nghiên cứu thực nghiệm được áp dụng: xây dựng hệ thống kỹ thuật thực tế, viết mã nguồn khai báo hạ tầng (.tf) và kịch bản thực thi (Ansible playbooks, Dockerfile, shell scripts), sau đó tiến hành đo đạc, kiểm thử tự động hóa trên hạ tầng AWS và máy chủ OpenStack nội bộ. Nguồn dữ liệu tham khảo bắt nguồn từ tài liệu kỹ thuật chính thức của AWS, OpenStack, HashiCorp Terraform, Ansible, Docker, Zabbix và các báo cáo thị phần điện toán đám mây năm 2021.
Thiết kế và triển khai
Hệ thống được thiết kế theo mô hình điều khiển tập trung: từ một máy tính cục bộ (local machine) đã cài đặt Terraform và Ansible, toàn bộ hạ tầng và ứng dụng được tự động sinh ra trên hai môi trường đám mây độc lập.
+------------------------------------------+
| Local Workstation |
| (Terraform Engine, Ansible Core) |
+--------------------+---------------------+
|
+----------------------------+----------------------------+
| API / SSH | API / SSH
v v
+------------------------------------+ +------------------------------------+
| Amazon Web Services (AWS) | | OpenStack Platform |
| | | |
| +--------------------------------+ | | +--------------------------------+ |
| | VPC: 10.0.0.0/16 | | | | Security Group V2 | |
| | +----------------------------+ | | | | +----------------------------+ | |
| | | Application Load Balancer | | | | | | Nginx Reverse Proxy | | |
| | +--------------+-------------+ | | | | | (Zabbix Server + MariaDB) | | |
| | | | | | | +--------------+-------------+ | |
| | +-------+-------+ | | | | | | |
| | v v | | | | +-------+-------+ | |
| | +-------------+ +------------+ | | | | v v | |
| | | Subnet 1a | | Subnet 1b | | | | | +-------------+ +------------+ | |
| | | EC2 Node 0 | | EC2 Node 1 | | | | | | Nova VM 1 | | Nova VM 2 | | |
| | | (CentOS 7) | | (CentOS 7) | | | | | | (CentOS 7) | | (CentOS 7) | | |
| | | Docker: | | Docker: | | | | | | LEMP Stack | | LEMP Stack | | |
| | | Nginx+PHP | | Nginx+PHP | | | | | | via Ansible | | via Ansible| | |
| | | + MariaDB | | + MariaDB | | | | | | + Zbx Agent | | + Zbx Agent| | |
| | +-------------+ +------------+ | | | | +------+------+ +------+-----+ | |
| | | | | | | | | |
| | Internet Gateway / Elastic IP | | | | +--------+-------+ | |
| +--------------------------------+ | | | v | |
| | | | Block Storage Vol V2 | |
| DNS: Freenom (isphone.ga, blog.ga) | | +--------------------------------+ |
+------------------------------------+ +------------------------------------+
1. Triển khai trên nền tảng AWS
Hạ tầng AWS được khởi tạo hoàn toàn bằng các tập tin mã nguồn .tf, bao gồm mạng ảo Virtual Private Cloud (aws_vpc dải mạng 10.0.0.0/16), cổng Internet Gateway (aws_internet_gateway), bảng định tuyến (aws_route_table), nhóm bảo mật (aws_security_group mở cổng 22 và 80) và địa chỉ IP tĩnh công cộng (aws_eip).
Nhằm đảm bảo tính sẵn sàng, hệ thống phân chia 2 subnet nằm tại 2 Availability Zones khác nhau (ap-southeast-1a và ap-southeast-1b thuộc khu vực Singapore), sau đó đấu nối vào một bộ cân bằng tải ứng dụng (aws_lb loại Application Load Balancer) để phân phối lưu lượng truy cập tới 2 máy chủ ảo CentOS 7 (terraform-webserver0 và terraform-webserver1).
| Tập tin cấu hình (.tf) |
Chức năng kỹ thuật chi tiết |
aws_provider.tf |
Khai báo provider AWS, cấu hình region ap-southeast-1 và nạp khóa xác thực |
aws_network.tf |
Tạo mạng VPC, các Subnet (1a, 1b), Internet Gateway, Route Table và Security Group |
aws_instance.tf |
Khởi tạo máy ảo EC2, sử dụng provisioner sao chép script và cài đặt môi trường |
aws_var.tf |
Định nghĩa biến môi trường: mã AMI CentOS 7, đường dẫn SSH key, thông số mạng |
aws_output.tf |
Xuất ra màn hình thông tin địa chỉ IP công cộng của các máy ảo sau khi khởi tạo |
aws_loadbalancer.tf |
Cấu hình Application Load Balancer, Listener và Target Group liên kết 2 máy ảo |
Sau khi hạ tầng máy ảo được cấp phát, Terraform sử dụng provisioner file để đẩy tệp kịch bản install_docker.sh lên máy ảo qua SSH (user centos), sau đó provisioner remote-exec thực thi cài đặt Git, Docker, Docker-compose và sao chép mã nguồn WordPress từ GitHub. Phiên SSH thứ hai kích hoạt lệnh docker-compose up -d --build để khởi chạy đồng thời 3 container (Nginx, MariaDB, PHP) ở chế độ detached mode, liên kết cổng 80 của container với cổng 80 của máy chủ host. Tên miền miễn phí đăng ký từ Freenom (isphone.ga, blog.ga) được trỏ bản ghi DNS về IP công cộng/Load Balancer để phục vụ người dùng cuối.
2. Triển khai trên nền tảng OpenStack
Trên môi trường OpenStack, Terraform khởi tạo 3 máy ảo máy tính (openstack_compute_instance_v2), nhóm bảo mật (openstack_compute_secgroup_v2), khối lưu trữ gắn ngoài (openstack_blockstorage_volume_v2) và liên kết ổ đĩa qua API Nova (openstack_compute_volume_attach_v2).
Tự động hóa cấu hình trên OpenStack được giao cho Ansible. Tệp inventory.tf tự động sinh ra danh sách hosts chứa IP các máy ảo với cổng SSH 2309 (tài khoản root). Kịch bản ansible-playbook gọi tuần tự các roles chức năng: cài đặt ngăn xếp web server LEMP (lemp), thiết lập tường lửa (firewalld), nạp mã nguồn ứng dụng (import_source) và tích hợp chứng chỉ bảo mật (add_ssl).
Hệ thống giám sát Zabbix được thiết lập tự động: máy chủ Zabbix Server đi kèm cơ sở dữ liệu MariaDB và Nginx Reverse Proxy được cài đặt trên một node quản trị, trong khi Zabbix-agent được kích hoạt trên các node máy chủ dịch vụ để thu thập dữ liệu hiệu năng hệ thống.
| Cấu trúc thư mục Role |
Mục đích sử dụng trong Ansible |
vars/ |
Định nghĩa các biến cục bộ sử dụng riêng bên trong role |
defaults/ |
Chứa các giá trị biến mặc định của role |
tasks/ |
Chứa các tệp YAML định nghĩa danh mục tác vụ cần thực thi trên máy đích |
handlers/ |
Định nghĩa các bộ xử lý sự kiện (ví dụ: khởi động lại dịch vụ khi tệp cấu hình đổi) |
templates/ |
Lưu trữ các tệp mẫu cấu hình động (.j2) để áp dụng xuống node |
files/ |
Chứa các tệp tĩnh cần sao chép trực tiếp lên máy chủ đích |
meta/ |
Chứa thông tin siêu dữ liệu (metadata) và quan hệ phụ thuộc của role |
Nội dung chính theo từng chương
Chương 1. Mở đầu
Chương mở đầu phân tích thực trạng chuyển đổi hạ tầng CNTT từ máy chủ vật lý lên nền tảng điện toán đám mây. Tác giả nêu bật những trở ngại khi quản trị thủ công hệ thống ứng dụng web đa tầng và khẳng định sự cần thiết của giải pháp IaC. Chương này xác định rõ mục tiêu xây dựng mô hình mẫu bằng Terraform trên AWS và OpenStack, đồng thời xác lập phạm vi nghiên cứu xoay quanh tự động hóa triển khai, container hóa ứng dụng và quản trị vận hành.
Chương 2. Tổng quan
Chương 2 cung cấp nền tảng lý luận toàn diện về:
- Khái niệm và nguyên lý hoạt động 3 bước của IaC (định nghĩa cấu hình -> gửi chỉ thị đến server/API/VCS -> nền tảng tự động xây dựng hạ tầng).
- Bản chất của Điện toán đám mây, phân biệt với các kiến trúc tính toán lân cận (SOA, Grid computing, Utility computing, Cluster computing).
- Đặc điểm của Enterprise Cloud (AWS, Azure) và Opensource Cloud (OpenStack).
- Nguyên lý hoạt động của Terraform (HCL, core workflow
init - plan - apply, cơ chế quản lý state file cục bộ và từ xa).
- Phân tích kỹ thuật các công cụ Ansible (so sánh ưu thế agentless với Chef, Puppet, SaltStack), Docker (Dockerfile, cơ chế container hóa), và hệ thống giám sát Zabbix (Zabbix Server, Proxy, Agent).
Chương 3. Phương pháp thực hiện
Chương 3 chi tiết hóa quy trình kỹ thuật từng bước:
- Thiết lập tệp
secret.tfvars để bảo mật thông tin xác thực tài khoản AWS và OpenStack khi lưu trữ mã nguồn trên GitHub.
- Xây dựng danh mục mã nguồn Terraform định nghĩa tài nguyên máy tính, mạng, lưu trữ và bảo mật.
- Kỹ thuật tự động truyền khóa xác thực công khai
id_rsa.pub lên máy ảo thông qua provisioner để thiết lập kênh kết nối SSH không mật khẩu.
- Xây dựng cấu trúc Ansible Playbook, phân rã các Role quản lý LEMP, cấu hình tệp
ansible.cfg và tạo danh sách máy chủ đích inventory.tf.
- Đóng gói ứng dụng WordPress bằng Dockerfile và điều phối đa dịch vụ qua
docker-compose.yaml.
- Quy trình gán tên miền miễn phí Freenom qua giao diện DNS Management và cài đặt giám sát Zabbix qua Nginx Reverse Proxy.
Chương 4. Triển khai mô hình thực tế
Chương 4 mô tả chi tiết quá trình khởi tạo và kiểm thử hệ thống:
- Mô hình mạng tổng quan kết nối từ máy local tới AWS (2 máy ảo CentOS 7, VPC 10.0.0.0/16, 2 subnet độc lập tại 2 Availability Zones
ap-southeast-1a và ap-southeast-1b, Application Load Balancer) và OpenStack (3 máy ảo, Volume lưu trữ gắn ngoài, cổng SSH 2309).
- Trình tự thực thi các lệnh cốt lõi của Terraform:
terraform init (khởi tạo thư mục và tải plugin), terraform plan (tạo bản mô tả kế hoạch tài nguyên), và terraform apply -var-file=secret.tfvars (thực thi kế hoạch, cấp phát tài nguyên và trả về địa chỉ IP công cộng).
- Quá trình tự động chạy script
install_docker.sh trên máy ảo AWS để cài Git, Docker-ce, Docker-compose và tự động build 3 container Nginx, MariaDB, PHP qua lệnh docker-compose up -d --build.
- Cấu hình cân bằng tải Application Load Balancer trên AWS và phân bổ lưu lượng truy cập website qua tên miền
isphone.ga và blog.ga.
Chương 5. Trình bày, đánh giá bàn luận về kết quả và Hướng phát triển
Chương cuối cùng tổng kết các kết quả đạt được, phân tích bảng so sánh thời gian xây dựng hạ tầng giữa phương pháp thủ công và tự động hóa qua Terraform, đánh giá tính ổn định của hệ thống WordPress và công cụ giám sát Zabbix, đồng thời vạch ra các hướng phát triển nâng cao cho đề tài.
Kết quả và đóng góp
Khóa luận đã hoàn thành toàn bộ các mục tiêu nghiên cứu và thực nghiệm đề ra với các kết quả cụ thể:
- Xây dựng hoàn chỉnh mã nguồn tự động hóa hạ tầng: Định nghĩa toàn bộ tài nguyên mạng, bảo mật, lưu trữ và máy tính ảo trên cả AWS và OpenStack bằng ngôn ngữ HCL của Terraform, cho phép khởi tạo hệ thống chỉ bằng một lệnh thực thi duy nhất (
terraform apply).
- Triển khai thành công ứng dụng web đa tầng: Tự động hóa cài đặt ngăn xếp ứng dụng WordPress hoàn chỉnh (Nginx web server, PHP xử lý ứng dụng, MariaDB cơ sở dữ liệu) thông qua Docker/Docker-compose trên AWS và thông qua Ansible Roles trên OpenStack.
- Thiết lập hạ tầng mạng và giám sát hoàn chỉnh: Cấu hình thành công bộ cân bằng tải Application Load Balancer phân phối tải qua 2 Availability Zones trên AWS, định tuyến tên miền qua DNS Freenom và xây dựng hệ thống thu thập chỉ số vận hành máy chủ thời gian thực qua Zabbix.
- Chứng minh hiệu quả vượt trội của IaC: Nghiên cứu đã thực hiện đo đạc và đối sánh quy trình, cho thấy việc áp dụng Terraform giúp loại bỏ hoàn toàn các sai sót thao tác bằng tay (human error), đồng thời rút ngắn đáng kể thời gian thiết lập môi trường từ nhiều giờ xuống còn vài phút so với phương thức cấu hình truyền thống trên bảng điều khiển giao diện web.
Đóng góp của đề tài thể hiện ở việc xây dựng một mô hình tham chiếu thực tế kết hợp linh hoạt giữa các công nghệ trụ cột trong văn hóa DevOps: sử dụng Terraform để khởi tạo hạ tầng (infrastructure provisioning), Ansible để quản trị cấu hình hệ thống (configuration management), Docker để đóng gói ứng dụng (containerization) và Zabbix để giám sát hiệu năng (monitoring), có khả năng áp dụng đồng thời cho cả đám mây công cộng (AWS) và đám mây nội bộ (OpenStack).
Hạn chế và hướng nghiên cứu tiếp
Dựa trên nội dung tự đánh giá trong văn bản, đề tài còn tồn tại một số điểm hạn chế kỹ thuật và đề xuất 3 hướng phát triển tiếp theo:
- Tự động hóa quá trình đăng ký tên miền Freenom: Hiện tại, bước đăng ký tài khoản và khởi tạo tên miền trên Freenom vẫn phải thao tác thủ công qua giao diện web. Hướng phát triển tiếp theo là xây dựng kịch bản tự động hóa hoặc tích hợp API để đăng ký và cập nhật bản ghi DNS Freenom hoàn toàn tự động.
- Mở rộng môi trường triển khai cơ sở hạ tầng: Phạm vi thực nghiệm hiện mới dừng lại ở AWS và OpenStack. Đề tài định hướng mở rộng mã nguồn Terraform để hỗ trợ thêm các nền tảng đám mây lớn khác như Microsoft Azure và Google Cloud Platform (GCP).
- Tối ưu hóa triển khai Docker trên AWS: Hiện tại các container Docker được khởi chạy trực tiếp trên máy ảo EC2 thông qua shell script và Docker Compose. Hướng hoàn thiện tiếp theo là chuyển đổi mô hình sang các dịch vụ quản lý container chuyên dụng trên đám mây (như AWS ECS hoặc Kubernetes/EKS) để tối ưu hóa khả năng co giãn (auto-scaling) và quản trị vòng đời container.
Giá trị tham khảo
Khóa luận là tài liệu tham khảo có giá trị kỹ thuật thực tiễn cao cho:
- Sinh viên và học viên chuyên ngành Mạng máy tính và Truyền thông, Hệ thống thông tin, Kỹ thuật phần mềm hoặc Công nghệ thông tin đang thực hiện đồ án tốt nghiệp liên quan đến Cloud Computing, DevOps và Infrastructure as Code.
- Kỹ sư hệ thống / Quản trị mạng muốn tìm hiểu cách thức kết hợp Terraform với Ansible, Docker và Zabbix trong việc quản trị hạ tầng Hybrid-Cloud (kết hợp Public Cloud và Private Cloud).
- Các phần nội dung đáng tham khảo nhất: Cấu trúc module tệp
.tf xây dựng mạng VPC và Load Balancer trên AWS; kỹ thuật quản lý trạng thái máy ảo và phân tách subnet đa vùng; kịch bản tích hợp provisioner SSH để tự động hóa bootstrap script cài đặt Docker; và cấu trúc phân chia thư mục Ansible Roles chuẩn mực để triển khai LEMP stack.
Câu hỏi thường gặp
1. Tại sao nhóm tác giả lại chọn Terraform thay vì các công cụ IaC chính hãng như AWS CloudFormation hay OpenStack Heat?
Do các công cụ như CloudFormation chỉ hoạt động trên AWS, Heat giới hạn trong OpenStack và AzureARM chỉ chạy trên Azure. Terraform có ưu thế vượt trội là công cụ mã nguồn mở độc lập, sử dụng ngôn ngữ HCL đồng nhất và có khả năng tương thích, làm việc với nhiều nhà cung cấp dịch vụ đám mây khác nhau trên cùng một hệ thống mã nguồn.
2. Làm thế nào nhóm thực hiện bảo mật được tài khoản và khóa bí mật AWS/OpenStack khi lưu trữ mã nguồn trên GitHub?
Các thông số nhạy cảm như access_key, secret_key, tên người dùng và mật khẩu được tách riêng vào tệp secret.tfvars. Tệp này không đẩy lên kho mã nguồn công khai mà chỉ được gọi cục bộ khi chạy lệnh triển khai: terraform apply -var-file=secret.tfvars.
3. Ứng dụng WordPress trên môi trường AWS được cấu hình chạy dưới dạng nào?
Trên mỗi máy ảo CentOS 7 (được gán IP tĩnh Elastic IP), WordPress được đóng gói và vận hành dưới dạng 3 container Docker độc lập gồm: Nginx (web server mở cổng 80, 443), PHP (xử lý logic) và MariaDB (cơ sở dữ liệu), được điều phối tự động thông qua tệp cấu hình docker-compose.yaml.
4. Hai subnet trên AWS được phân bổ như thế nào để phục vụ cân bằng tải?
Hệ thống tạo ra 2 subnet riêng biệt: private-subnet đặt tại Availability Zone ap-southeast-1b và public-subnet đặt tại Availability Zone ap-southeast-1a (Singapore). Việc đặt ở 2 vùng sẵn sàng khác nhau giúp Application Load Balancer duy trì hoạt động ổn định của website, đề phòng trường hợp một trung tâm dữ liệu gặp sự cố thì vùng còn lại vẫn đáp ứng dịch vụ.
5. Ansible kết nối tới các máy chủ ảo OpenStack bằng phương thức nào để triển khai LEMP stack?
Ansible hoạt động theo cơ chế agentless, sử dụng giao thức kết nối SSH qua cổng mạng 2309 với quyền tài khoản root. Khóa công khai id_rsa.pub từ máy local được Terraform tự động sao chép lên máy ảo trong quá trình khởi tạo hạ tầng.
Kết luận
Khóa luận tốt nghiệp của sinh viên Vưu Khánh Duy và Nguyễn Minh Tuấn Hải (ngành Mạng máy tính và Truyền thông, Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM) đã nghiên cứu và triển khai thành công giải pháp tự động hóa cơ sở hạ tầng điện toán đám mây bằng Terraform. Đề tài đã xây dựng hoàn chỉnh mô hình cấp phát tài nguyên đa nền tảng trên AWS và OpenStack, tự động hóa đóng gói và triển khai ứng dụng WordPress qua Docker và Ansible, đồng thời tích hợp hệ thống cân bằng tải và giám sát Zabbix. Nghiên cứu chứng minh rõ nét hiệu quả của mô hình Infrastructure as Code trong việc tối ưu hóa thời gian triển khai, loại bỏ lỗi thao tác con người và cung cấp khung tham chiếu kỹ thuật thực tế cho lĩnh vực kỹ thuật hạ tầng đám mây.