Module 01 Foundation 5 labs

DevOps Mindset, Cloud Models và Lộ trình nghề nghiệp

Hiểu bản chất văn hóa DevOps (CALMS, Three Ways), các mô hình cloud (IaaS/PaaS/SaaS, private/public/hybrid/multi-cloud) và vẽ được lộ trình nghề nghiệp Cloud & DevOps Engineer từ nền tảng đến enterprise.

Công cụ thực hành CLI, VS Code, Git
Nền tảng Windows / Linux (WSL2), GitHub
Thời điểm phát hành 23/05/2026
Ngày biên soạn 23/05/2026
Người biên soạn Trần Văn Hòa — Microsoft Certified Trainer (MCT)

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

1. Lý thuyết cốt lõi

1.1. DevOps là gì?

DevOps là một văn hóa và tập hợp thực hành nhằm rút ngắn vòng đời phát triển phần mềm, tăng tần suất release mà vẫn giữ chất lượng cao. Thuật ngữ ra đời từ DevOpsDays 2009 (Patrick Debois). Cốt lõi: phá bỏ "bức tường" giữa Development (xây dựng tính năng) và Operations (vận hành ổn định) — hai mục tiêu vốn xung đột — bằng tự động hóa, đo lường và chia sẻ trách nhiệm.

Mô hình CALMS

  • Culture — văn hóa hợp tác, không đổ lỗi (blameless).
  • Automation — tự động hóa build/test/deploy/infra.
  • Lean — loại bỏ lãng phí, làm việc theo lô nhỏ.
  • Measurement — đo mọi thứ để cải tiến.
  • Sharing — chia sẻ kiến thức, runbook, postmortem.

1.2. The Three Ways (Gene Kim — DevOps Handbook)

1.3. Cloud Service Models & Deployment Models

Mô hìnhBạn quản lýVí dụ
IaaSOS, runtime, app, dataEC2, Azure VM, GCE
PaaSApp + dataApp Service, Cloud Run, Heroku
SaaSChỉ cấu hìnhM365, Salesforce

Deployment: Private cloud (hạ tầng riêng, kiểm soát tối đa), Public cloud (AWS/Azure/GCP, co giãn nhanh), Hybrid (kết hợp on-prem + public, ví dụ giữ data nhạy cảm on-prem), Multi-cloud (nhiều nhà cung cấp để tránh vendor lock-in, tăng resilience).

1.4. DORA Metrics — đo "tốt" như thế nào?

Nghiên cứu Accelerate (Forsgren, Humble, Kim) chứng minh 4 chỉ số dự báo hiệu năng đội ngũ và cả kết quả kinh doanh:

1.5. Phổ vai trò: DevOps → SRE → Platform → NoOps

DevOps Engineer ghép Dev và Ops bằng tự động hóa; SRE (Google) áp dụng kỹ thuật phần mềm vào vận hành với SLO/error budget; Platform Engineering xây Internal Developer Platform để self-service; NoOps là trạng thái lý tưởng nơi vận hành được tự động hóa gần như hoàn toàn (serverless, auto-remediation). Đây là các lớp bổ sung, không loại trừ nhau.

2. Thực hành (Labs)

LAB-001

Phân tích vai trò DevOps trong một công ty thật

CLI · VS Code · Git

🎯 Mục tiêu: Đọc một case study (Netflix/Etsy/Amazon) và lập bảng map thực hành DevOps theo CALMS.

🧰 Công cụ / nền tảng: VS Code, Git, terminal (Bash hoặc PowerShell).

📦 Chuẩn bị: Cài Git + VS Code; có tài khoản GitHub.

▶️ Các bước (CLI):

# 1. Tạo workspace và repo cục bộ
mkdir devops-m01-lab && cd devops-m01-lab
git init
code analysis.md

# 2. Trong analysis.md, tạo bảng CALMS (Culture/Automation/Lean/Measurement/Sharing)
#    điền dẫn chứng từ case study đã chọn.

# 3. Commit kết quả
git add analysis.md
git commit -m "lab-001: CALMS analysis of "

🖥️ Đối chiếu GUI:

Trong VS Code: dùng tab Source Control (Ctrl+Shift+G) để stage và commit thay cho lệnh git.

✅ Kết quả mong đợi: git log --oneline hiển thị 1 commit; file analysis.md có bảng 5 dòng CALMS với dẫn chứng cụ thể.

🧹 Cleanup: giữ lại repo để dùng cho LAB-003/005, hoặc cd .. && rm -rf devops-m01-lab.

LAB-002

Vẽ sơ đồ cloud model cho doanh nghiệp

CLI · VS Code · Git

🎯 Mục tiêu: Mô hình hóa kiến trúc hybrid bằng Mermaid trong Markdown (diagram-as-code).

🧰 Công cụ / nền tảng: VS Code + extension "Markdown Preview Mermaid Support", Git.

📦 Chuẩn bị: Cài extension Mermaid trong VS Code.

▶️ Các bước:

# Tạo file diagram trong repo lab
code cloud-model.md
```mermaid
flowchart LR
  user[Người dùng] --> pub[Public Cloud: App Service]
  pub -->|VPN/ExpressRoute| onprem[(On-prem: DB nhạy cảm)]
  pub --> obj[Object Storage]
```

🖥️ Đối chiếu GUI: Nhấn nút Open Preview (Ctrl+K V) để render sơ đồ trực tiếp.

✅ Kết quả mong đợi: Preview hiển thị sơ đồ luồng public ↔ on-prem; phân loại đúng IaaS/PaaS/SaaS cho từng thành phần.

🧹 Cleanup: commit file, không cần xóa.

LAB-003

Tạo skill matrix cá nhân

CLI · VS Code · Git

🎯 Mục tiêu: Tự đánh giá năng lực theo 9 learning track và xác định khoảng trống.

🧰 Công cụ / nền tảng: VS Code, Git; tùy chọn xuất CSV để mở bằng Excel.

▶️ Các bước (PowerShell tạo nhanh khung CSV):

$tracks = "Linux","Networking","Git","Containers","Kubernetes","CICD","IaC","Observability","Security"
$rows = $tracks | ForEach-Object { [PSCustomObject]@{ Track=$_; Level_0_5=0; Note="" } }
$rows | Export-Csv -Path skill-matrix.csv -NoTypeInformation -Encoding UTF8
Import-Csv skill-matrix.csv | Format-Table

🖥️ Đối chiếu GUI: Mở skill-matrix.csv bằng Excel, chấm điểm 0–5 cho từng track.

✅ Kết quả mong đợi: File CSV 9 dòng; xác định ≥3 track yếu nhất để ưu tiên trong LAB-005.

🧹 Cleanup: commit; không xóa (đầu vào cho roadmap).

LAB-004

Viết runbook chuẩn cho một service

CLI · VS Code · Git

🎯 Mục tiêu: Tạo runbook vận hành (theo tinh thần Sharing của CALMS) cho một web service giả định.

🧰 Công cụ / nền tảng: VS Code, Git.

▶️ Các bước:

code runbook-web-api.md
# Cấu trúc bắt buộc của runbook:
#  1. Tổng quan service & owner
#  2. Kiến trúc & dependencies
#  3. Cách deploy / rollback
#  4. Health check & dashboard link
#  5. Quy trình xử lý 3 sự cố thường gặp (symptom → check → fix)
#  6. Thông tin on-call & escalation
git add runbook-web-api.md && git commit -m "lab-004: add web-api runbook"

✅ Kết quả mong đợi: Runbook đủ 6 mục; mỗi sự cố có lệnh kiểm tra cụ thể (vd curl -f https://.../healthz).

🧹 Cleanup: commit, giữ lại làm mẫu tham khảo.

LAB-005

Tạo roadmap học 6–12 tháng

CLI · VS Code · Git

🎯 Mục tiêu: Lập kế hoạch học dựa trên skill matrix (LAB-003), trực quan bằng Gantt Mermaid.

🧰 Công cụ / nền tảng: VS Code + Mermaid, Git.

▶️ Các bước:

```mermaid
gantt
  title Lộ trình Cloud & DevOps 6-12 tháng
  dateFormat YYYY-MM
  section Foundation
  Linux & Networking      :2026-06, 2M
  Git & Scripting         :2026-07, 1M
  section Core
  Docker & Kubernetes     :2026-08, 2M
  CI/CD & IaC             :2026-10, 2M
  section Advanced
  Observability & SRE     :2026-12, 1M
  DevSecOps & GitOps      :2027-01, 2M
```

✅ Kết quả mong đợi: Gantt render đúng; mốc thời gian khớp với ≥3 track yếu đã xác định ở LAB-003.

🧹 Cleanup: git add . && git commit -m "lab-005: 6-12 month roadmap" rồi push lên GitHub làm portfolio.

3. Tình huống doanh nghiệp thực tế

Bối cảnh

Một ngân hàng có core banking on-prem (yêu cầu tuân thủ dữ liệu) nhưng muốn tung mobile app nhanh, release 2 tuần/lần. Đội Ops sợ rủi ro, đội Dev bực vì chậm.

Cách xử lý (tư duy DevOps)

  • Cloud model: Hybrid — giữ core banking + dữ liệu nhạy cảm on-prem; chạy mobile backend trên public cloud (PaaS) để co giãn.
  • Way 1 (Flow): CI/CD cho mobile backend, batch nhỏ, feature flag để tách deploy khỏi release.
  • Way 2 (Feedback): dashboard 4 chỉ số DORA + alert; Ops thấy được rủi ro thực thay vì cảm tính.
  • Way 3 (Learning): blameless postmortem sau mỗi sự cố; error budget để cân bằng tốc độ vs ổn định.
  • Kết quả: Change Failure Rate giảm nhờ kiểm thử tự động; niềm tin ↔ Dev–Ops tăng vì quyết định dựa trên số liệu.

📚 Nguồn tham khảo

Tất cả module Module 02: Linux Administration
Zalo