Platform Engineering CHƯƠNG 39 Advanced 3 Labs Ngày tạo: 22/05/2026

Self-Service Environment Provisioning

developer self-service, Terraform/Bicep. Ưu tiên thực hành CLI; nếu có thao tác giao diện sẽ có thêm Cách 02 — GUI/Portal.

Thông tin thực hành

Ngày tạo bài: 22/05/2026
Cấp độ: Advanced
Nhóm nội dung: Platform Engineering
Số lab: 3
Ưu tiên: CLI trước, GUI/Portal là cách 02 nếu phù hợp
Hệ điều hành: Windows 11, WSL2 Ubuntu, Linux, macOS tùy lab

Mục tiêu học tập

  • Nắm được mục đích và vai trò của Self-Service Environment Provisioning trong lộ trình Platform Engineering.
  • Thực hành được bằng CLI, biết kiểm tra log/output và biết cleanup.
  • Biết khi nào cần dùng GUI/Portal và cách đối chiếu với CLI.
  • Áp dụng được vào môi trường doanh nghiệp với bảo mật, audit và vận hành rõ ràng.

Lý thuyết gắn gọn

Tổng quan Self-Service Environment Provisioning

Nội dung này giúp người học triển khai self-service environment provisioning theo hướng thực tế, có thể áp dụng vào pipeline, cloud platform hoặc quy trình vận hành doanh nghiệp.

Khi nào dùng?

Dùng khi cần chuẩn hóa thao tác, giảm lỗi thủ công, tăng khả năng kiểm soát, audit và tự động hóa trong vòng đời phần mềm.

Rủi ro thường gặp

Rủi ro thường gặp là cấu hình thủ công, thiếu kiểm soát quyền, không có rollback, không có log/alert, hoặc thiếu tài liệu vận hành.

Chuẩn thực hành

Ưu tiên Infrastructure as Code, pipeline as code, least privilege, traceability, monitoring, cost control và security gate sớm trong quy trình.

Kết quả mong muốn

Sau chương này, người học phải tạo được artifact hoặc cấu hình chạy thật, kiểm tra được kết quả, biết cleanup và biết cách áp dụng vào môi trường doanh nghiệp.

Thuật ngữ cần nhớ

Thuật ngữÝ nghĩa
Tổng quan Self-Service Environment ProvisioningNội dung này giúp người học triển khai self-service environment provisioning theo hướng thực tế, có thể áp dụng vào pipeline, cloud platform hoặc quy trình vận hành doanh nghiệp.
Khi nào dùng?Dùng khi cần chuẩn hóa thao tác, giảm lỗi thủ công, tăng khả năng kiểm soát, audit và tự động hóa trong vòng đời phần mềm.
Rủi ro thường gặpRủi ro thường gặp là cấu hình thủ công, thiếu kiểm soát quyền, không có rollback, không có log/alert, hoặc thiếu tài liệu vận hành.
Chuẩn thực hànhƯu tiên Infrastructure as Code, pipeline as code, least privilege, traceability, monitoring, cost control và security gate sớm trong quy trình.
Kết quả mong muốnSau chương này, người học phải tạo được artifact hoặc cấu hình chạy thật, kiểm tra được kết quả, biết cleanup và biết cách áp dụng vào môi trường doanh nghiệp.

Ghi chú áp dụng thực tế doanh nghiệp

  • Không triển khai production nếu chưa có kiểm soát quyền, log, monitoring và rollback.
  • Mọi cấu hình quan trọng nên được lưu bằng code: YAML, Bicep, Terraform, Helm, Kustomize hoặc policy.
  • Luôn có owner, naming convention, tags, cost center và tài liệu vận hành.
  • Không hard-code secret. Ưu tiên OIDC, managed identity, workload identity hoặc Key Vault.
  • Lab có CLI và GUI nhằm giúp học viên hiểu cả tự động hóa lẫn giao diện vận hành thực tế.

Bài tập lab step-by-step

LAB-100 Web CLI CLI

Self-service environment bằng Terraform

Nền tảng thực hành: Web, CLI, CLI

Terminal: PowerShell 7 hoặc Bash/Linux Terminal; macOS Terminal nếu dùng macOS

Phiên bản / ghi chú:

  • Ngày tạo bài: 22/05/2026
  • Git 2.40+
  • VS Code latest stable
  • Terraform 1.8+
Cách 01 — CLI ưu tiên
  1. Mở terminal tại thư mục lab Terraform.
  2. Kiểm tra: `terraform version`.
  3. Tạo file `main.tf`, `variables.tf`, `outputs.tf`.
  4. Cấu hình provider `azurerm`.
  5. Chạy `terraform init`.
  6. Chạy `terraform fmt` và `terraform validate`.
  7. Chạy `terraform plan -out tfplan`.
  8. Chạy `terraform apply tfplan`.
  9. Kiểm tra resource trên Azure Portal hoặc Azure CLI.
  10. Cleanup: `terraform destroy`.
CLI mẫu / gợi ý lệnh
Kiểm tra: `terraform version`.
Tạo file `main.tf`, `variables.tf`, `outputs.tf`.
Cấu hình provider `azurerm`.
Chạy `terraform init`.
Kiểm tra kết quả

Hoàn thành self-service environment bằng terraform và có bằng chứng kiểm tra: log, screenshot, pipeline run, resource hoặc output CLI.

Cleanup

Xóa tài nguyên lab không dùng, xóa secret/token demo, dọn branch/release/resource group để tránh chi phí và rủi ro.

LAB-101 Web CLI

Self-service environment bằng Bicep

Nền tảng thực hành: Web, CLI

Terminal: PowerShell 7 hoặc Bash/Linux Terminal; macOS Terminal nếu dùng macOS

Phiên bản / ghi chú:

  • Ngày tạo bài: 22/05/2026
  • Git 2.40+
  • VS Code latest stable
Cách 01 — CLI ưu tiên
  1. Mở Azure Cloud Shell Bash hoặc PowerShell.
  2. Kiểm tra Azure CLI: `az version`.
  3. Tạo Resource Group lab: `az group create -n rg-devops-lab -l eastus`.
  4. Tạo file `main.bicep`.
  5. Khai báo resource cần tạo trong Bicep.
  6. Chạy kiểm tra: `az deployment group what-if -g rg-devops-lab -f main.bicep`.
  7. Deploy: `az deployment group create -g rg-devops-lab -f main.bicep`.
  8. Kiểm tra resource bằng `az resource list -g rg-devops-lab -o table`.
  9. Ghi lại output và lỗi nếu có.
  10. Cleanup Resource Group khi hoàn tất.
CLI mẫu / gợi ý lệnh
Kiểm tra Azure CLI: `az version`.
Tạo Resource Group lab: `az group create -n rg-devops-lab -l eastus`.
Tạo file `main.bicep`.
Chạy kiểm tra: `az deployment group what-if -g rg-devops-lab -f main.bicep`.
Kiểm tra kết quả

Hoàn thành self-service environment bằng bicep và có bằng chứng kiểm tra: log, screenshot, pipeline run, resource hoặc output CLI.

Cleanup

Xóa tài nguyên lab không dùng, xóa secret/token demo, dọn branch/release/resource group để tránh chi phí và rủi ro.

LAB-102 Web CLI

Approval workflow cho environment

Nền tảng thực hành: Web, CLI

Terminal: PowerShell 7 hoặc Bash/Linux Terminal; macOS Terminal nếu dùng macOS

Phiên bản / ghi chú:

  • Ngày tạo bài: 22/05/2026
  • Git 2.40+
  • VS Code latest stable
Cách 01 — CLI ưu tiên
  1. Tạo repo GitHub hoặc dùng repo lab hiện có.
  2. Tạo thư mục `.github/workflows`.
  3. Tạo file workflow YAML theo tên lab.
  4. Thêm trigger phù hợp: `push`, `pull_request` hoặc `workflow_dispatch`.
  5. Thêm job chạy trên `ubuntu-latest`.
  6. Thêm step `actions/checkout@v4`.
  7. Thêm step kiểm tra/build/test theo nội dung lab.
  8. Commit và push lên branch lab.
  9. Mở tab Actions để xem workflow run.
  10. Nếu lỗi, mở từng step log để sửa và chạy lại.
CLI mẫu / gợi ý lệnh
Tạo thư mục `.github/workflows`.
Thêm trigger phù hợp: `push`, `pull_request` hoặc `workflow_dispatch`.
Thêm job chạy trên `ubuntu-latest`.
Thêm step `actions/checkout@v4`.
Kiểm tra kết quả

Hoàn thành approval workflow cho environment và có bằng chứng kiểm tra: log, screenshot, pipeline run, resource hoặc output CLI.

Cleanup

Xóa tài nguyên lab không dùng, xóa secret/token demo, dọn branch/release/resource group để tránh chi phí và rủi ro.

Câu hỏi ôn tập

  1. Trong chương 39, phần nào cần tự động hóa bằng pipeline/workflow?
  2. Nếu áp dụng vào môi trường production, rủi ro bảo mật lớn nhất là gì?
  3. Lab nào cần CLI? Lab nào cần Portal/GUI? Vì sao?
  4. Bạn sẽ kiểm tra thành công bằng log, output hay dashboard nào?
  5. Cleanup cần làm gì để tránh chi phí và rủi ro?
Zalo