RobustX / Chương trình học / Chuyên đề / DevOps / Tự động hóa Hạ tầng với Infrastructure as Code (IaC)

Tự động hóa Hạ tầng với Infrastructure as Code (IaC)

Trong kỷ nguyên công nghệ phát triển mạnh mẽ, Infrastructure as Code (IaC) trở thành nền tảng quan trọng giúp tổ chức quản lý hạ tầng CNTT thông qua mã nguồn có thể kiểm soát phiên bản. IaC biến các quy trình phức tạp, dễ sai sót thành tự động hóa, nhất quán và đáng tin cậy.

Khóa học này cung cấp kiến thức và kỹ năng thực hành về IaC, tập trung vào hai công cụ chính: Terraform và Ansible. Với Terraform, bạn sẽ học cách định nghĩa, tự động hóa việc tạo, thay đổi và hủy tài nguyên hạ tầng như máy ảo, mạng, lưu trữ. Với Ansible, bạn nắm vững kỹ năng tự động hóa quản lý cấu hình và triển khai ứng dụng, từ cài đặt phần mềm, quản lý dịch vụ đến triển khai trên nhiều máy chủ. Khi kết hợp, hai công cụ tạo nên giải pháp toàn diện cho xây dựng và quản lý hạ tầng hiện đại.

Mục tiêu cuối cùng là giúp bạn hình thành tư duy và khả năng xây dựng hệ thống tự động, nhất quán và tái lập, giảm thiểu sai sót thủ công, tăng tốc độ triển khai và đảm bảo hạ tầng vững chắc. Hoàn thành khóa học, bạn sẽ tự tin trở thành chuyên gia tự động hóa hạ tầng, góp phần thúc đẩy tổ chức tiến xa trong kỷ nguyên DevOps.

Thời lượng: 36h

Hình thức đào tạo:

    • Đào tạo trực tiếp tại lớp học
    • Đào tạo trực tuyến
    • Đào tạo hybrid (trực tuyến kết hợp trực tiếp)
    • Đào tạo tại văn phòng khách hàng

Mục tiêu khoá học:

  1. Tư duy IaC và lựa chọn công cụ phù hợp

    Phân biệt và áp dụng hai mô hình khai báo (Declarative) và mệnh lệnh (Imperative) để đưa ra quyết định công cụ tối ưu cho từng bài toán.

  2. Thành thạo cấp phát hạ tầng với Terraform

    Tự động hóa việc tạo, thay đổi và hủy bỏ các tài nguyên hạ tầng bằng ngôn ngữ HCL, đảm bảo tính nhất quán và hiệu quả.

  3. Nắm vững tự động hóa cấu hình với Ansible

    Viết và tổ chức các Playbook cùng Role để tự động cài đặt phần mềm, quản lý dịch vụ và triển khai ứng dụng trên nhiều máy chủ đồng thời.

  4. Xây dựng quy trình tự động hóa toàn diện

    Tích hợp Terraform và Ansible để xây dựng một pipeline thống nhất, từ việc cấp phát hạ tầng cho đến cấu hình hoàn chỉnh.

  5. Quản lý hạ tầng theo tiêu chuẩn chuyên nghiệp

    Áp dụng các phương pháp tốt nhất như Module, Role, quản lý trạng thái từ xa, bảo mật thông tin nhạy cảm để xây dựng các hệ thống bền vững.

Đối tượng tham gia

Nội dung khóa học

1. Nguyên lý và Kiến trúc của Infrastructure as Code (IaC)
    • Tổng quan về IaC và DevOps:
      • Định nghĩa IaC và các lợi ích trong quy trình DevOps.
      • Khái niệm Hạ tầng Bất biến (Immutable Infrastructure).
    • Các mô hình và công cụ IaC:
      • So sánh mô hình Khai báo (Declarative) và Mệnh lệnh (Imperative).
      • Tổng quan hệ sinh thái công cụ: Terraform, Ansible, Pulumi, CloudFormation.
2. Terraform – Cấp phát Hạ tầng  
    • Khởi tạo dự án Terraform:
      • Cài đặt Terraform và cấu trúc một dự án.
      • Tìm hiểu vòng đời quản lý: init, plan, apply, destroy.
    • Ngôn ngữ HCL (HashiCorp Configuration Language):
      • Cú pháp cơ bản: provider, resource, variable, output.
      • Sử dụng biến và các kiểu dữ liệu.
      • Truyền giá trị giữa các tài nguyên và xuất kết quả.
    • Làm việc với hạ tầng On-premise:
      • Cấu hình Provider cho vSphere/Proxmox.
      • Tạo máy ảo từ template, cấu hình CPU, RAM, Disk, Network.
      • Sử dụng cloud-init để tự động hóa cấu hình ban đầu.
    • Kỹ thuật viết mã nâng cao:
      • Sử dụng vòng lặp (count, for_each) để tạo nhiều tài nguyên.
      • Giới thiệu về Provisioner (remote-exec, local-exec) và các trường hợp sử dụng.
3. Terraform – Quản lý nâng cao
    • Tổ chức mã nguồn chuyên nghiệp:
      • Tái sử dụng mã với Modules.
      • Quản lý các môi trường khác nhau (dev, staging, prod) với Workspaces.
    • Quản lý trạng thái và vòng đời:
      • Quản lý trạng thái (State Management): local vs. remote backend, state locking.
      • Điều khiển vòng đời tài nguyên với lifecycle.
4. Ansible – Quản lý Cấu hình
    • Kiến trúc và cài đặt Ansible:
      • Tìm hiểu kiến trúc không cần agent (agentless) của Ansible.
      • Cài đặt Ansible và cấu hình file Inventory.
    • Viết Playbook Cơ bản:
      • Thực thi lệnh Ad-Hoc cho các tác vụ nhanh.
      • Cú pháp Playbook YAML: hosts, tasks, handlers.
      • Sử dụng các module phổ biến: package, service, copy, template.
      • Sử dụng biến (variables) và facts.
    • Tổ chức Playbook với Roles:
      • Cấu trúc và cách sử dụng Roles để tái sử dụng logic.
      • Sử dụng Ansible Galaxy để tìm và dùng các role có sẵn.
    • Các kỹ thuật nâng cao:
      • Quản lý thông tin nhạy cảm với Ansible Vault.
      • Sử dụng template Jinja2 để tạo file cấu hình động.
      • Điều khiển luồng thực thi với điều kiện (when) và vòng lặp (loop).
5. Tích hợp Terraform và Ansible
    • Chiến lược kết hợp:
      • Phân tích các phương pháp tích hợp: Terraform cấp phát, Ansible cấu hình.
    • Xây dựng Pipeline tự động:
      • Tự động tạo inventory tĩnh cho Ansible từ output của Terraform.
      • Sử dụng Dynamic Inventory để tích hợp liền mạch.
      • Thực hành xây dựng pipeline hoàn chỉnh cho một ứng dụng 3 tầng (Web, App, DB).
 6. IaC Best Practices
    • Quy trình làm việc:
      • Cấu trúc thư mục dự án IaC cho môi trường production.
      • Áp dụng quy trình Git (branching, pull request) cho mã hạ tầng.
    • Bảo mật và Kiểm thử:
      • Tích hợp quét bảo mật cho mã IaC vào pipeline CI/CD.
      • Các chiến lược kiểm thử mã hạ tầng.

LỊCH KHAI GIẢNG

(Đang cập nhật)

Bài viết liên quan