Lộ trình
Microsoft AzureCơ bảnTuần 2: Đào sâu dịch vụ cốt lõiBài 9 / 30

Ngày 9: Container & Serverless

Thời lượng: 45 phút
Mục tiêu: 2 nhiệm vụ chính
Tiến độ lộ trình
az-900ngày 9
hoàn thành9 / 30 bài
Bối cảnh bài học

Phân biệt AKS và Azure Functions, đồng thời chọn Function App hay App Service theo execution model, state, trigger, scaling và operational control.

đọc hiểuthực hànhcheckpoint
Bài giảng hôm nay

Học hiểu, rồi mới thực hành

Phân biệt AKS và Azure Functions, đồng thời chọn Function App hay App Service theo execution model, state, trigger, scaling và operational control.

Bắt đầu đọc bài giảng

Nhiệm vụ bài học hôm nay

  • Tìm hiểu AKS, Azure Functions
  • Phân biệt use case Function App và App Service
Instructor walkthrough

Bài giảng chi tiết: từ bài toán đến bằng chứng

Scenario xuyên suốt

Một team có HTTP API luôn chạy, một job xử lý blob event và một hệ thống nhiều container cần service discovery. Chọn Functions cho API latency ổn định hoặc AKS cho một trigger đơn giản đều tạo trade-off không cần thiết.

01Đọc bài toán

Xác định actor, workload, constraint và trạng thái cuối cần đạt.

02Vẽ luồng / boundary

Chỉ ra request, dependency, identity và failure domain trước khi chọn công cụ.

03Chọn và thực hành

Thay đổi nhỏ nhất trong lab cô lập; command nào cũng phải nói rõ nó kiểm tra điều gì.

04Kiểm chứng / recovery

Đối chiếu trạng thái thực tế, tạo một failure variant và ghi cách hoàn tác.

Cách nối lý thuyết với thực tế
  • Azure Functions là event-driven/serverless compute với trigger/binding, phù hợp workload ngắn hoặc scale theo event; cold start/runtime limits cần cân nhắc.
  • App Service phù hợp web/API chạy liên tục với runtime/deployment feature và control đơn giản hơn cluster.
  • AKS là managed Kubernetes control plane nhưng cluster/node/add-on/network/security operations vẫn tồn tại.
  • Serverless không xóa responsibility về identity, secret, retry, idempotency, observability và cost.

Ba workload, ba execution model

API luôn phục vụ request cần behavior ổn định; blob event cần xử lý theo event; platform nhiều container cần orchestration. Đừng bắt đầu bằng chữ “serverless” hay “Kubernetes”, hãy bắt đầu bằng lifecycle và operational need.

Function App

Trigger/binding giúp nối event và handler. Cần thiết kế timeout, retry, idempotency, poison message/DLQ, secret, concurrency, cold start và observability. Function không tự đảm bảo exactly-once hoặc data consistency.

App Service

App Service là PaaS cho web/API; phù hợp khi app chạy liên tục và team muốn giảm OS/node management. Cần quyết định deployment slot, health, scale, identity, network integration và logging.

AKS

AKS cung cấp managed Kubernetes control plane, nhưng node pool, workload, network policy, identity, add-on, upgrade, cost và troubleshooting vẫn cần vận hành. Không chọn AKS chỉ để chạy một HTTP handler.

Bài tập

Hoàn thiện matrix cho API, blob job và multi-container platform; với mỗi option ghi trigger, scale, state, failure behavior, operator burden và rejected alternative.

Terminal reference

Command list và cách dùng

Chạy từng lệnh theo đúng thứ tự. Trước các lệnh có thể tạo hoặc thay đổi tài nguyên, hãy kiểm tra profile, account và region.

Commands · read-only checkpoints
az account show --output table
az account list --output table
az group list --output table
Hands-on lab

Thực hành theo scenario

  1. Lập matrix cho always-on API, blob-processing function và 10-service platform cần Kubernetes API.
  2. Vẽ event flow cho Blob Storage → Function → queue/DLQ; ghi retry, idempotency, timeout và poison message behavior.
  3. Thiết kế App Service deployment cho API và ghi health/scale/logging; không tạo AKS cluster có phí cho bài khái niệm.
  4. Kiểm tra runtime/version/region support từ tài liệu Azure hiện hành trước khi chốt production design.
Evidence checkpoint

Kiểm chứng kết quả

Không coi lệnh chạy thành công là đủ. Hãy đối chiếu output với trạng thái mong đợi:

  • Chọn Functions/App Service/AKS theo execution model và operational need.
  • Giải thích trigger, retry, idempotency và DLQ cho event workload.
  • Nêu phần operations còn lại khi dùng AKS.
  • Phân biệt cold start/always-on/scale behavior.
  • Có identity, secret, logging và cost assumptions.
Transfer to exam / production

Bẫy thường gặp và trade-off

Functions hợp event-driven code; App Service hợp web/API managed chạy liên tục; AKS chỉ đáng chọn khi Kubernetes capability/control cần thiết và team chấp nhận complexity.

Checkpoint · 3 phút

Kiểm tra nhanh

Câu hỏi: Một file upload vào Blob Storage cần kích hoạt xử lý thumbnail theo event, có thể retry an toàn và không cần server luôn chạy. Lựa chọn nào phù hợp nhất?

Kết thúc bài

Checklist trước khi sang Ngày 2