Lộ trình
Google CloudAssociateTuần 2: Đào sâu dịch vụ cốt lõiBài 13 / 30

Ngày 13: App Engine & Cloud Run

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

Chọn App Engine, Cloud Run hoặc Cloud Functions theo execution model, statelessness, scaling, identity, revision/traffic và rollback.

đọ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

Chọn App Engine, Cloud Run hoặc Cloud Functions theo execution model, statelessness, scaling, identity, revision/traffic và rollback.

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

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

  • So sánh App Engine, Cloud Run, Cloud Functions
  • Thực hành deploy 1 ứng dụng đơn giản lên Cloud Run
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 HTTP service cần deploy nhanh nhưng team chọn platform theo tên quen thuộc, giữ file local trong container và không có revision rollback; khi traffic tăng, concurrency và cold start gây latency khó giải thích. Bài học xây decision matrix trước khi deploy.

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ế
  • Cloud Run chạy container stateless theo request/event model, scale-to-zero và revision; concurrency, startup, min instances và timeout ảnh hưởng behavior/cost.
  • App Engine cung cấp application platform với runtime/scaling model và version traffic; cần hiểu service/version/instance boundary.
  • Cloud Functions phù hợp function/event handler với trigger và retry semantics; không đồng nhất với một web container dài hạn.
  • IAM invoker, service identity, ingress và secret/config injection là các lớp khác nhau; không dùng public access mặc định.

Decision matrix trước platform

Bắt đầu từ contract: HTTP hay event, runtime/container cần gì, timeout/concurrency, state ở đâu, trigger/retry, ingress, identity và scaling. Cloud Run phù hợp container stateless; App Engine là application platform với version/service model; Cloud Functions tập trung vào function và trigger. Tên “serverless” không xóa các trade-off.

Revision và state

Mỗi revision phải truy vết được image/config, health evidence và traffic. Rollout lỗi cần chuyển traffic về revision ổn định, sau đó phân tích logs/metrics. File local, process memory và connection cache có lifecycle ephemeral; state quan trọng phải ở managed storage/cache phù hợp.

Bài tập

Chọn platform cho ba scenario: public API, Pub/Sub event handler và legacy web app. Deploy design hoặc lab nhỏ, ghi revision/traffic/IAM/health/cost, cố ý tạo một failure rồi rollback. Cleanup artifact/service theo owner và verify.

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
gcloud run services list --project=LAB_PROJECT_ID --format="table(metadata.name,metadata.namespace,status.url,spec.template.metadata.name)"
gcloud run services describe SERVICE_NAME --region=REGION --project=LAB_PROJECT_ID --format="yaml(status.url,spec.template,spec.traffic)"
gcloud app services list --project=LAB_PROJECT_ID
gcloud functions list --gen2 --project=LAB_PROJECT_ID --format="table(name,environment, state,serviceConfig.uri)"
Hands-on lab

Thực hành theo scenario

  1. Lập decision matrix cho API HTTP, background event handler và legacy web app: runtime, trigger, concurrency, timeout, state, scaling, networking, identity và cost.
  2. Đọc service/revision metadata read-only; nếu deploy lab, dùng source không chứa secret, image/version truy vết, min instances thấp, timeout/concurrency có rationale và budget/TTL.
  3. Verify URL/health, revision, traffic allocation, invoker policy, logs, latency/error và service account. Cố ý deploy revision lỗi rồi rollback theo revision ID.
  4. Cleanup service/revisions/images/log sinks theo policy; kiểm tra không để traffic hoặc artifact tính phí ngoài ý muốn.
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 đúng platform theo request/event/runtime/state.
  • Giải thích statelessness, concurrency, cold start và scale-to-zero.
  • IAM invoker/service identity/ingress có scope an toàn.
  • Revision traffic và rollback có evidence.
  • Cleanup service/revision/artifact và cost được kiểm tra.
Transfer to exam / production

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

ACE hỏi “managed/serverless” nhưng distractor khác nhau ở trigger, runtime, scaling, state và control. Đừng gọi mọi workload HTTP là Cloud Run hoặc mọi event là Cloud Functions.

Checkpoint · 3 phút

Kiểm tra nhanh

Câu hỏi: Một container HTTP stateless cần deploy nhanh, scale-to-zero và rollback theo revision. 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