Ngân hàng đề — Google Cloud Digital Leader
Tìm thấy 611 câu.
A large financial services company wants to expose its market data services as a product to an ecosystem of external partners. They need a comprehensive platform to handle security, apply rate limits and quotas, get detailed analytics on API usage, and potentially monetize access.
Which Google Cloud product is designed for this full-lifecycle API management?
-
A
Cloud Load Balancing
-
B
Identity & Access Management (IAM)
-
C
Apigee API Management
-
D
Cloud Run Functions
Xem giải thích
Đáp án
C — Apigee API Management.
Vì sao đúng
Đề dùng đúng cụm "quản lý API trọn vòng đời" (full-lifecycle API management), và liệt kê bốn năng lực chỉ Apigee có đầy đủ.
⚠ Bốn yêu cầu ↔ Apigee:
1. BẢO MẬT
→ OAuth 2.0, JWT, API key,
kiểm tra mối đe doạ
2. RATE LIMIT VÀ QUOTA
→ theo từng đối tác,
theo từng gói dịch vụ
3. PHÂN TÍCH CHI TIẾT
→ ⚠ ai gọi, gọi bao nhiêu,
lỗi ở đâu, độ trễ thế nào
4. ⚠ KIẾM TIỀN (monetization)
→ tính phí theo lượt gọi,
theo gói — ⚠ CHỈ Apigee có
⚠ "Trọn vòng đời" nghĩa là gì:
THIẾT KẾ → đặc tả OpenAPI
↓
BẢO MẬT → chính sách xác thực
↓
TRIỂN KHAI→ proxy đứng trước backend
↓
CÔNG BỐ → ⚠ cổng lập trình viên,
đối tác tự đăng ký
↓
THEO DÕI → phân tích, cảnh báo
↓
KIẾM TIỀN → gói giá, hoá đơn
↓
NGỪNG → quản lý phiên bản,
thông báo ngừng hỗ trợ
⚠ Gần trùng với #13269 (cùng lô này) — đề đó là hãng hàng không mở dịch vụ cho đại lý du lịch, đề này là công ty tài chính mở dữ liệu thị trường cho đối tác. Bộ yêu cầu giống nhau, cùng khoá Apigee. Hoàn toàn nhất quán. Mẫu đề lặp: đối tác bên ngoài + hạn ngạch + phân tích + kiếm tiền → luôn là Apigee.
Vì sao các phương án khác sai
-
A (Cloud Load Balancing) — chỉ phân phối lưu lượng. Không xác thực đối tác, không hạn ngạch theo khách hàng, không phân tích cách API được dùng.
-
B (IAM) — quản lý quyền cho danh tính Google Cloud. Đối tác bên ngoài không nằm trong hệ thống IAM của bạn, và IAM không có khái niệm gói API hay tính phí theo lượt gọi.
-
D (Cloud Run Functions) — nơi chạy mã. Nó là backend đứng sau lớp quản lý API, không phải lớp đó.
Ghi nhớ
⚠ Ba lựa chọn quản lý API — bảng phải thuộc: | Sản phẩm | Dùng khi | |---|---| | Apigee | ⚠ API là SẢN PHẨM — đối tác ngoài, kiếm tiền, phân tích sâu, cổng lập trình viên | | API Gateway | API serverless nhẹ cho Cloud Run / Functions | | Cloud Endpoints | API nội bộ, nhẹ | | Cloud Load Balancing | chỉ phân phối lưu lượng |
Từ khoá nhận diện:
"trọn vòng đời, đối tác, kiếm tiền, cổng lập trình viên" → Apigee "API nội bộ đơn giản" → API Gateway / Endpoints "chống DDoS và WAF" → Cloud Armor "chia lưu lượng tới backend" → Load Balancing
| Năng lực riêng của Apigee | Năng lực |
|---|---|
| Developer portal | ⚠ tài liệu, tự đăng ký, lấy khoá |
| API product | gói nhiều API thành sản phẩm bán được |
| Monetization | ⚠ tính phí theo lượt gọi, theo gói |
| Chính sách không cần code | xác thực, biến đổi, cache, spike arrest |
| Analytics | theo đối tác, theo API, theo mã lỗi |
| Quản lý phiên bản | v1 và v2 song song |
| Apigee Advanced API Security | phát hiện lạm dụng và bot |
| ⚠ Quota và rate limit — phân biệt | Khác biệt |
|---|---|
| Quota | tổng số lượt trong khoảng DÀI — ngày, tháng |
| ⚠ cơ sở để tính tiền và phân gói | |
| Spike arrest / rate limit | số lượt mỗi giây — ⚠ BẢO VỆ backend |
| Nên có | cả hai, cho hai mục đích khác nhau |
| Vì sao cần lớp mặt tiền cho đối tác | Lý do |
|---|---|
| Che kiến trúc nội bộ | đổi backend không ảnh hưởng đối tác |
| Một chỗ duy nhất lo xác thực | không lặp lại ở từng dịch vụ |
| Bảo vệ backend khỏi quá tải | |
| Có số liệu để đàm phán và tính tiền | |
| ⚠ Nguyên tắc | hợp đồng API phải ỔN ĐỊNH hơn hệ thống phía sau |
| Thiết kế API tốt cho đối tác | Việc |
|---|---|
| Tài liệu OpenAPI đầy đủ | ⚠ đối tác đánh giá bạn qua tài liệu |
| Môi trường sandbox | thử trước khi tích hợp thật |
| Đánh phiên bản rõ ràng | /v1/, /v2/ |
| Chính sách ngừng hỗ trợ có thông báo trước | |
| Mã lỗi nhất quán và dễ hiểu |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Đối tác nào dùng nhiều nhất | Apigee analytics | | Có ai vượt hạn ngạch không | báo cáo quota | | Backend chịu nổi không | ⚠ đặt spike arrest TRƯỚC khi mở |
Và một cách nghĩ giúp phân biệt Apigee với mọi thứ khác: Apigee không phải hạ tầng, nó là mặt tiền thương mại của API. Khi câu hỏi nhắc tới đối tác, hợp đồng sử dụng, gói dịch vụ hay doanh thu, thì đáp án đã rời khỏi địa hạt của load balancer và IAM từ lâu.
A company wants to ensure that billing for its development projects is kept separate from its production projects. Furthermore, they want to apply a specific IAM policy only to the development projects.
What feature of the Resource Hierarchy should they use to group the development projects together?
-
A
Labels
-
B
Folders
-
C
Networks
-
D
A custom IAM role
Xem giải thích
Đáp án
B — Folders (thư mục).
Vì sao đúng
Đề đòi hai thứ cho cùng một nhóm project: tách thanh toán và áp một chính sách IAM riêng. Folder là tầng duy nhất trong phân cấp tài nguyên làm được cả hai.
⚠ Hai yêu cầu ↔ folder:
1. TÁCH THANH TOÁN dev khỏi prod
→ gắn folder `dev` vào một
tài khoản thanh toán riêng
→ hoặc bóc tách báo cáo theo folder
2. ÁP CHÍNH SÁCH IAM CHỈ CHO DEV
→ cấp vai ở cấp folder `dev`
↓
⚠ LAN XUỐNG mọi project bên trong
⚠ Project dev MỚI tự động
kế thừa — không phải nhớ cấp
⚠ Cấu trúc thường dùng:
ORGANIZATION
│
┌───────┴───────┐
FOLDER FOLDER
dev prod
│ │
projects projects
↓
Trên folder `dev`:
- lập trình viên có quyền rộng
- Organization Policy thoáng hơn
- ngân sách nhỏ, quota thấp
↓
Trên folder `prod`:
⚠ - quyền rất hẹp
⚠ - chính sách chặt
⚠ - bắt buộc CMEK, cấm IP công khai
⚠ Vì sao label không đủ:
LABEL
✔ bóc tách CHI PHÍ trong báo cáo
↓
⚠ NHƯNG KHÔNG cấp quyền theo label
⚠ KHÔNG áp Organization Policy
theo label
↓
→ giải được một nửa yêu cầu,
trượt nửa còn lại
⚠ Gần trùng với #13279 (cùng lô này) — đề đó nhóm project theo phòng ban (Finance, Marketing, Engineering), đề này nhóm theo môi trường (dev, prod). Cùng khoá Folder, hoàn toàn nhất quán. Mẫu đề lặp: nhóm project + áp chính sách chung → luôn là Folder.
Vì sao các phương án khác sai
-
A (Labels) — phương án gần nhất và bị nhầm nhiều nhất: label rất tốt cho bóc tách chi phí nhưng chỉ là siêu dữ liệu, không phải ranh giới quản trị. Không cấp quyền theo label được.
-
D (vai IAM tuỳ biến) — vai tuỳ biến định nghĩa tập quyền, nhưng không nhóm project. Bạn vẫn phải gán nó ở đâu đó — và chỗ hợp lý chính là folder.
-
C (Networks) — VPC là tài nguyên mạng, không phải tầng tổ chức project.
Ghi nhớ
⚠ Phân cấp tài nguyên — bảng phải thuộc: | Cấp | Vai trò | |---|---| | Organization | gốc, chính sách toàn công ty | | Folder | ⚠ nhóm project, áp IAM và Policy chung, LỒNG được | | Project | ⚠ ranh giới TÍNH TIỀN, quota, API | | Resource | VM, bucket, dataset | | ⚠ Quy tắc | chính sách LAN XUỐNG, không lan lên |
Từ khoá nhận diện:
"nhóm project, áp chính sách chung" → Folder "bóc tách chi phí theo đội trong báo cáo" → Label "tập quyền riêng" → vai IAM tuỳ biến "cấm hành vi ở mọi nơi" → Organization Policy
| ⚠ Folder và Label — dùng CẢ HAI | |
|---|---|
| Folder | ranh giới QUẢN TRỊ: IAM, Policy, kế thừa |
| Label | báo cáo chi phí, tìm kiếm, tự động hoá |
| Folder | một project thuộc ĐÚNG MỘT folder |
| Label | một tài nguyên có NHIỀU label |
| Thực hành | folder theo môi trường, label theo đội và ứng dụng |
| Chính sách nên khác nhau giữa dev và prod | Chính sách |
|---|---|
| Quyền | dev rộng, ⚠ prod rất hẹp |
| Organization Policy | ⚠ prod: cấm IP công khai, bắt CMEK |
| Quota | dev thấp để chặn tiêu hoang |
| Ngân sách và cảnh báo | tách riêng |
| Audit log | ⚠ prod bật Data Access log |
| Yêu cầu duyệt khi thay đổi | chỉ prod |
| Tách thanh toán ra sao | Cách |
|---|---|
| Nhiều tài khoản thanh toán | tách hoàn toàn, hoá đơn riêng |
| Một tài khoản + bóc tách báo cáo | ⚠ đơn giản hơn, đủ cho phần lớn trường hợp |
| Billing export sang BigQuery | phân tích theo folder, project, label |
| Ngân sách theo folder | cảnh báo riêng cho dev |
| Sai lầm hay gặp về phân cấp | Sai lầm |
|---|---|
| Tạo project rời rạc, không có folder | ⚠ quản không nổi khi lên hàng chục project |
| Cấp quyền ở cấp project cho từng người | không mở rộng được |
| Dùng label thay folder | không áp được chính sách |
| Trộn dev và prod trong một project | ⚠ nguy hiểm nhất |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Cây tổ chức hiện ra sao | trang Manage resources | | Chính sách nào áp cho dev | tab Organization Policies của folder | | Chi phí dev là bao nhiêu | billing report nhóm theo folder |
Và một ranh giới nên thiết lập trước khi hệ thống lớn lên: dev và prod phải nằm ở hai project khác nhau, dưới hai folder khác nhau. Chia sẻ một project cho cả hai môi trường nghe tiện lúc mới bắt đầu, nhưng đó cũng là cách nhanh nhất để một lệnh thử nghiệm chạm vào dữ liệu thật.
A bank uses a machine learning model to approve or deny loan applications. Due to financial regulations, the bank must be able to provide a clear reason for every decision made by the model, especially for denials.
Which principle of Responsible AI is most critical in this scenario?
-
A
Explainability
-
B
Availability
-
C
Durability
-
D
Scalability
Xem giải thích
Đáp án
A — Explainability (khả năng giải thích).
Vì sao đúng
Đề nêu một yêu cầu pháp lý cụ thể: ngân hàng phải nêu được lý do rõ ràng cho MỌI quyết định, nhất là khi từ chối hồ sơ vay. Đó chính là định nghĩa của explainability.
⚠ Vì sao đây là vấn đề thật:
Mô hình học sâu là "HỘP ĐEN"
↓
Nó trả về: "TỪ CHỐI, điểm 0,23"
↓
⚠ Khách hàng hỏi: "TẠI SAO?"
⚠ Cơ quan quản lý hỏi: "TẠI SAO?"
↓
"Vì mạng nơ-ron nói vậy"
KHÔNG phải câu trả lời hợp lệ
↓
→ cần công cụ bóc tách
ĐÓNG GÓP CỦA TỪNG ĐẶC TRƯNG
⚠ Explainability cho ra cái gì:
Hồ sơ #12345 — TỪ CHỐI
↓
Đóng góp của từng yếu tố:
Tỉ lệ nợ trên thu nhập −0,42
Lịch sử thanh toán trễ −0,31
Thời gian làm việc +0,08
Số dư tài khoản +0,05
↓
⚠ Giờ ngân hàng NÓI ĐƯỢC:
"hồ sơ bị từ chối chủ yếu do
tỉ lệ nợ trên thu nhập cao
và lịch sử thanh toán trễ"
↓
→ đáp ứng yêu cầu pháp lý
→ và khách hàng biết cần cải thiện gì
⚠ Vì sao ba phương án kia không liên quan:
AVAILABILITY → hệ thống có chạy không
DURABILITY → dữ liệu có mất không
SCALABILITY → chịu được bao nhiêu tải
↓
⚠ Cả ba là thuộc tính HẠ TẦNG
⚠ Không cái nào trả lời được
câu hỏi "vì sao mô hình
quyết định như vậy"
Vì sao các phương án khác sai
- B (Availability), C (Durability), D (Scalability) — đều là đặc tính kỹ thuật của hệ thống, quan trọng nhưng thuộc địa hạt hạ tầng. Không cái nào liên quan tới việc giải thích quyết định của mô hình.
Ghi nhớ
⚠ Bảy nguyên tắc AI của Google — bảng nên thuộc: | Nguyên tắc | Nội dung | |---|---| | Có lợi cho xã hội | | | ⚠ Tránh tạo hoặc củng cố THIÊN LỆCH bất công | | | Được xây dựng và kiểm thử an toàn | | | Chịu trách nhiệm trước con người | ⚠ có người giám sát | | Tôn trọng quyền riêng tư | | | Giữ chuẩn mực khoa học cao | | | Chỉ dùng cho mục đích phù hợp | |
Từ khoá nhận diện:
"phải nêu được lý do cho quyết định" → Explainability "mô hình đối xử không công bằng với một nhóm" → Fairness / thiên lệch "dữ liệu cá nhân trong huấn luyện" → Privacy "có người xem lại trước khi áp dụng" → Human oversight
| Công cụ giải thích trên Google Cloud | Công cụ |
|---|---|
| Vertex Explainable AI | ⚠ đóng góp của từng đặc trưng cho MỖI dự đoán |
ML.EXPLAIN_PREDICT |
giải thích ngay trong BigQuery ML |
| Feature importance | mức quan trọng tổng thể |
| What-If Tool | ⚠ thử đổi đầu vào xem kết quả đổi ra sao |
| Model Cards | tài liệu về mục đích, giới hạn, hiệu năng |
| Vertex AI Model Monitoring | phát hiện drift và thiên lệch theo thời gian |
| Hai kỹ thuật giải thích chính | Kỹ thuật |
|---|---|
| SHAP (Shapley values) | ⚠ có nền tảng lý thuyết trò chơi, phân bổ công bằng |
| Integrated Gradients | cho mạng nơ-ron |
| Sampled Shapley | cho mô hình dạng bảng |
| Kết quả | đóng góp dương hoặc âm của từng đặc trưng |
| ⚠ Đánh đổi giữa độ chính xác và khả năng giải thích | Đánh đổi |
|---|---|
| Hồi quy tuyến tính, cây quyết định | ⚠ dễ giải thích, thường kém chính xác hơn |
| Mạng nơ-ron sâu, ensemble lớn | chính xác hơn, khó giải thích |
| Trong ngành bị quản lý chặt | ⚠ nhiều nơi CHỌN mô hình đơn giản hơn |
| Cách dung hoà | mô hình phức tạp + công cụ giải thích |
| ⚠ Thiên lệch — rủi ro song hành | Điểm |
|---|---|
| Dữ liệu vay quá khứ chứa cả định kiến quá khứ | |
| Mô hình học và khuếch đại định kiến đó | |
| ⚠ Bỏ cột "giới tính" KHÔNG đủ | đặc trưng khác có thể ĐẠI DIỆN cho nó |
| Cách kiểm | đánh giá hiệu năng theo TỪNG NHÓM nhỏ |
| Hậu quả | rủi ro pháp lý và uy tín rất lớn |
| Yêu cầu pháp lý liên quan | Yêu cầu |
|---|---|
| GDPR | ⚠ quyền được biết lý do của quyết định tự động |
| Luật cho vay công bằng | phải nêu lý do từ chối |
| EU AI Act | ⚠ chấm điểm tín dụng là hệ thống RỦI RO CAO |
| Nguyên tắc chung | quyết định ảnh hưởng lớn tới con người thì phải giải thích được |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Có giải thích được từng quyết định không | ⚠ thử với một hồ sơ bị từ chối thật | | Mô hình có thiên lệch không | đánh giá theo từng nhóm nhân khẩu | | Có người xem lại không | quy trình khiếu nại và phúc thẩm |
Và một điều rất đáng cân nhắc khi triển khai AI trong lĩnh vực bị quản lý chặt: một mô hình chính xác hơn nhưng không giải thích được có thể hoàn toàn không dùng được. Trong những bối cảnh này, khả năng giải thích không phải tính năng phụ mà là điều kiện cần — nếu thiếu, mô hình dù tốt đến đâu cũng không được phép ra quyết định.
A data science team needs a single, unified platform to manage their entire machine learning workflow. They want one interface where they can prepare data, build models using AutoML, train custom models, manage and version their models, and deploy them to production.
Which Google Cloud product provides this unified MLOps experience?
-
A
BigQuery ML
-
B
Vertex AI
-
C
A pre-trained API like Vision API
-
D
Looker
Xem giải thích
Đáp án
B — Vertex AI.
Vì sao đúng
Đề đòi một nền tảng DUY NHẤT cho toàn bộ vòng đời ML, và Vertex AI ra đời chính để gom mọi mảnh rời rạc đó lại.
⚠ Năm nhu cầu ↔ năm thành phần của Vertex AI:
"chuẩn bị dữ liệu"
→ Vertex AI Datasets, Feature Store,
Workbench
"dựng mô hình bằng AutoML"
→ Vertex AI AutoML
"huấn luyện mô hình tuỳ biến"
→ Vertex AI Training
"quản lý và đánh phiên bản mô hình"
→ ⚠ Vertex AI Model Registry
"triển khai lên sản xuất"
→ Vertex AI Endpoints
↓
⚠ Tất cả trong MỘT giao diện,
MỘT hệ thống quyền,
MỘT nơi ghi nhận nguồn gốc
⚠ Vì sao "hợp nhất" lại quan trọng:
TRƯỚC khi có Vertex AI
AutoML Tables — một sản phẩm
AI Platform Training — sản phẩm khác
AI Platform Prediction — khác nữa
↓
⚠ Mỗi cái một giao diện,
một API, một cách quản quyền
⚠ Không có nơi chung để
theo dõi phiên bản và nguồn gốc
SAU khi có Vertex AI
⚠ Một nền tảng
⚠ Chuyển từ AutoML sang tuỳ biến
mà không đổi công cụ
⚠ Lineage xuyên suốt: mô hình này
huấn luyện từ dữ liệu nào
⚠ Vì sao ba phương án kia chỉ là một mảnh:
BIGQUERY ML
→ ⚠ CHỈ huấn luyện bằng SQL
trong kho dữ liệu
→ không có AutoML ảnh, không có
Model Registry đầy đủ,
không có pipeline MLOps
VISION API
→ ⚠ chỉ là MỘT mô hình dựng sẵn
→ không huấn luyện gì cả
LOOKER
→ ⚠ công cụ BI, không phải ML
Vì sao các phương án khác sai
-
A (BigQuery ML) — phương án gần nhất và rất mạnh trong phạm vi của nó, nhưng nó chỉ phủ một phần: huấn luyện bằng SQL trên dữ liệu bảng. Không có chuẩn bị dữ liệu đa dạng, AutoML cho ảnh và video, hay hạ tầng MLOps đầy đủ. (Hai sản phẩm tích hợp với nhau — mô hình BigQuery ML đăng ký được vào Vertex AI Model Registry.)
-
C (Vision API) — một mô hình dựng sẵn, không phải nền tảng.
-
D (Looker) — nền tảng BI để trực quan hoá.
Ghi nhớ
⚠ Các thành phần của Vertex AI — bảng nên thuộc: | Thành phần | Việc | |---|---| | Workbench | notebook có quản lý | | Datasets | quản lý tập dữ liệu và gán nhãn | | Feature Store | ⚠ đặc trưng dùng chung, tránh training–serving skew | | AutoML | huấn luyện không cần mã | | Training | huấn luyện tuỳ biến | | Model Registry | ⚠ quản lý phiên bản mô hình | | Endpoints | phục vụ suy luận | | Pipelines | ⚠ tự động hoá quy trình ML | | Model Monitoring | phát hiện drift | | Explainable AI | giải thích dự đoán | | Model Garden | mô hình nền dùng sẵn |
Từ khoá nhận diện:
"nền tảng hợp nhất, toàn bộ vòng đời ML, MLOps" → Vertex AI "huấn luyện bằng SQL trong kho dữ liệu" → BigQuery ML "dùng ngay, không huấn luyện" → API dựng sẵn "dashboard nghiệp vụ" → Looker
| ⚠ MLOps là gì | Nội dung |
|---|---|
| Áp DevOps vào học máy | |
| Tự động hoá: huấn luyện, đánh giá, triển khai | |
| Đánh phiên bản: ⚠ cả MÃ, DỮ LIỆU và MÔ HÌNH | |
| Giám sát liên tục | mô hình xuống cấp theo thời gian |
| Tái lập được | chạy lại cho ra cùng kết quả |
| Vì sao cần | ⚠ mô hình không phải làm xong là xong — nó phải được NUÔI |
| Vertex AI Pipelines làm gì | Việc |
|---|---|
| Nối các bước thành quy trình lặp lại | |
| Ví dụ | lấy dữ liệu → kiểm chất lượng → huấn luyện → đánh giá → ⚠ chỉ triển khai NẾU tốt hơn bản cũ |
| Chạy theo lịch hoặc theo sự kiện | |
| Ghi lại lineage | ⚠ mô hình này từ dữ liệu và mã nào |
| Nền tảng | Kubeflow Pipelines / TFX |
| ⚠ Feature Store giải bài toán gì | Bài toán |
|---|---|
| Training–serving skew | ⚠ tiền xử lý lúc huấn luyện KHÁC lúc phục vụ |
| Hậu quả | mô hình tốt khi thử, kém khi chạy thật |
| Cách chữa | cùng một định nghĩa đặc trưng cho cả hai |
| Lợi ích thêm | đội khác dùng lại đặc trưng đã có |
| Vòng đời một mô hình trong sản xuất | Giai đoạn |
|---|---|
| Huấn luyện và đánh giá | |
| Triển khai canary | 5–10% lưu lượng |
| Giám sát | ⚠ drift, thiên lệch, chất lượng dự đoán |
| Huấn luyện lại định kỳ | |
| Quay lui khi cần | ⚠ triển khai lại từ Model Registry |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Có tái lập được kết quả không | lineage trong Vertex AI Metadata | | Mô hình có xuống cấp không | Model Monitoring | | Endpoint tốn bao nhiêu | ⚠ endpoint tính tiền cả khi rảnh |
Và một điều mà các đội mới làm ML thường học được theo cách tốn kém: phần khó nhất không phải huấn luyện mô hình, mà là giữ cho nó còn đúng sau sáu tháng. Dữ liệu đầu vào đổi, hành vi người dùng đổi, hệ thống thượng nguồn đổi schema — và đó chính là phần mà một nền tảng MLOps như Vertex AI tồn tại để lo.
A developer has a non-critical how-to question about a specific BigQuery SQL function. They have an Enhanced support plan with Google Cloud.
According to Google's recommended support procedures, what is the most appropriate first action for this developer to take?
-
A
Immediately open a P1 (urgent) support case.
-
B
Search the official Google Cloud documentation and public issue trackers.
-
C
Email the personal address of a Google Cloud executive.
-
D
Post the question to the company's internal marketing channel.
Xem giải thích
Đáp án
B — Tìm trong tài liệu chính thức của Google Cloud và các issue tracker công khai.
Vì sao đúng
Google Cloud Customer Care khuyến nghị một thứ tự leo thang rõ ràng, và câu hỏi "cách dùng một hàm SQL" thuộc mức thấp nhất của thang đó.
⚠ Thứ tự leo thang được khuyến nghị:
1. ⚠ TÀI LIỆU CHÍNH THỨC
→ thường có ngay, kèm ví dụ
2. ISSUE TRACKER CÔNG KHAI,
Stack Overflow, cộng đồng
→ ⚠ có thể đã có người hỏi rồi
3. Hỏi đồng nghiệp nội bộ
4. MỞ TICKET HỖ TRỢ
→ khi đã tự tìm mà chưa ra
↓
⚠ Nhanh hơn cho CHÍNH BẠN,
không chỉ để đỡ phiền Google
⚠ Vì sao mở P1 cho câu hỏi này là sai:
P1 = "dịch vụ sản xuất KHÔNG DÙNG ĐƯỢC"
↓
Đề nói rõ: "câu hỏi KHÔNG
quan trọng về cách dùng"
↓
⚠ Mở P1 sai mức:
- đánh thức kỹ sư trực đêm
- làm chậm ca P1 THẬT của
khách hàng khác
- ⚠ "báo động giả" lặp lại
làm mất giá trị của P1
↓
→ mức đúng cho câu này là P4
⚠ Mức ưu tiên đúng cho từng tình huống:
P1 sản xuất NGỪNG hoạt động
P2 suy giảm nghiêm trọng, còn chạy
P3 ảnh hưởng vừa, có cách đi vòng
P4 ⚠ câu hỏi chung, hướng dẫn sử dụng
← đề này, NẾU vẫn cần mở ticket
Xem thêm #13293 (cùng lô này) — về các gói hỗ trợ và mục tiêu phản hồi. Câu này nói về quy trình sử dụng hỗ trợ cho đúng. Hai câu bổ sung nhau.
Vì sao các phương án khác sai
-
A (mở ngay ticket P1) — phương án gần nhất về mặt "dùng đúng quyền lợi đã trả tiền", nhưng sai mức ưu tiên nghiêm trọng. Gói Enhanced cho quyền mở ticket, nhưng mức ưu tiên phải phản ánh tác động thật.
-
C (email trực tiếp lãnh đạo Google Cloud) — không phải kênh hỗ trợ, và không hiệu quả.
-
D (đăng lên kênh marketing nội bộ) — sai nơi hoàn toàn.
Ghi nhớ
⚠ Bốn mức ưu tiên — bảng phải thuộc: | Mức | Khi nào | |---|---| | P1 — Critical | ⚠ sản xuất NGỪNG hoạt động | | P2 — High | suy giảm nghiêm trọng | | P3 — Medium | ảnh hưởng vừa, có cách đi vòng | | P4 — Low | ⚠ câu hỏi chung, hướng dẫn — đề này |
Từ khoá nhận diện:
"câu hỏi cách dùng, không khẩn cấp" → tài liệu trước, P4 nếu cần "sản xuất sập" → P1 "gói nào có TAM" → Premium "mục tiêu 15 phút cho P1" → Premium
| ⚠ Nguồn tự tra cứu — theo thứ tự | Nguồn |
|---|---|
| Tài liệu chính thức | ⚠ cloud.google.com/docs — có ví dụ mã |
| Tham chiếu hàm SQL của BigQuery | đúng chỗ cho câu hỏi này |
| Issue Tracker công khai | ⚠ biết lỗi đã được báo chưa |
| Stack Overflow | thẻ google-cloud-platform |
| Google Cloud Community | |
| Release notes | ⚠ kiểm khi hành vi đột nhiên đổi |
| Cloud Status Dashboard | ⚠ kiểm TRƯỚC khi báo sự cố |
| Mở ticket sao cho nhanh được giải quyết | Việc |
|---|---|
| Nêu rõ tác động nghiệp vụ | ai bị ảnh hưởng, bao nhiêu |
| Cung cấp project ID, thời điểm, vùng | |
| Đính kèm log và thông báo lỗi ĐẦY ĐỦ | |
| Nêu các bước đã thử | ⚠ tránh bị hỏi lại vòng vo |
| Đặt đúng mức ưu tiên | |
| Có cách tái hiện tối thiểu |
| Chuẩn bị trước cho tổ chức | Việc |
|---|---|
Cấp vai techSupportEditor trước |
⚠ không phải ai cũng mở ticket được |
| Quy ước nội bộ về mức ưu tiên | tránh mỗi người hiểu một kiểu |
| Runbook cho sự cố hay gặp | |
| Thử mở một ticket P4 để làm quen | ⚠ đừng học quy trình lúc đang cháy |
| ⚠ Trước khi báo "Google Cloud hỏng" | Kiểm |
|---|---|
| Cloud Status Dashboard | ⚠ có sự cố diện rộng không |
| Quota | có bị chặn vì vượt hạn ngạch không |
| IAM | có phải mới đổi quyền không |
| Thay đổi gần đây từ phía mình | ⚠ nguyên nhân phổ biến nhất |
| Release notes | có thay đổi hành vi nào không |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Đây có phải sự cố của Google không | Status Dashboard | | Đã có ai gặp chưa | Issue Tracker, Stack Overflow | | Mức ưu tiên đặt đúng chưa | so với bảng P1–P4 |
Và một lý do rất thực dụng để tra tài liệu trước: thường thì nó nhanh hơn. Một câu hỏi về cú pháp hàm SQL có câu trả lời kèm ví dụ ngay trong trang tham chiếu, đọc mất hai phút — trong khi chờ một kỹ sư hỗ trợ phản hồi rồi trao đổi qua lại luôn tốn nhiều thời gian hơn thế.
A Site Reliability Engineering (SRE) team manages a service with a 99.9% availability SLO, which gives them a 0.1% error budget" for the month. Midway through the month, they have consumed almost none of this budget.
According to SRE principles, what does this error budget primarily empower the team to do?
-
A
Punish the developer whose code caused the last outage.
-
B
Focus exclusively on fixing minor bugs to try to achieve 100% availability.
-
C
Take a vacation for the rest of the month since the service is stable.
-
D
Take calculated risks, such as rolling out a new feature that could introduce instability.
Xem giải thích
Đáp án
D — Chấp nhận những rủi ro có tính toán, ví dụ tung ra một tính năng mới có thể gây bất ổn.
Vì sao đúng
Error budget không phải là một hạn mức để tiết kiệm, mà là một khoản được phép tiêu — và tiêu vào việc phát hành nhanh hơn.
⚠ Ý tưởng cốt lõi của error budget:
SLO 99,9% trong 30 ngày
↓
Ngân sách lỗi = 0,1%
≈ 43 phút ngừng dịch vụ / tháng
↓
⚠ CÒN ngân sách
→ được phép TRIỂN KHAI,
thử nghiệm, chạy canary,
diễn tập sự cố
↓
⚠ HẾT ngân sách
→ ⚠ ĐÓNG BĂNG tính năng,
cả đội chuyển sang
làm độ tin cậy
⚠ Nó giải quyết mâu thuẫn muôn thuở:
ĐỘI PHÁT TRIỂN muốn ra tính năng NHANH
ĐỘI VẬN HÀNH muốn hệ thống ỔN ĐỊNH
↓
⚠ Không có error budget:
hai bên cãi nhau bằng CẢM TÍNH
↓
Có error budget:
⚠ cãi nhau bằng MỘT CON SỐ
mà cả hai đã đồng ý TỪ TRƯỚC
↓
→ không còn ai phải "thắng"
cuộc tranh luận
⚠ Chưa tiêu ngân sách KHÔNG phải điều tốt tuyệt đối:
Giữa tháng mà gần như chưa tiêu gì
↓
⚠ Có thể nghĩa là đội đang
QUÁ THẬN TRỌNG
⚠ Đang phát hành quá chậm
⚠ Đang bỏ lỡ cơ hội
↓
→ SRE coi đây là tín hiệu
NÊN MẠO HIỂM HƠN
Xem thêm #13264 (lô 138) — về SRE nói chung, SLI/SLO/SLA và toil. Câu này đào sâu vào error budget, khái niệm đặc trưng nhất của SRE. Hai câu nhất quán.
Vì sao các phương án khác sai
-
B (tập trung sửa lỗi nhỏ để đạt 100%) — phương án gần nhất về mặt "nghe có trách nhiệm", nhưng 100% là mục tiêu SAI theo SRE: chi phí tăng theo cấp số nhân, và không có ngân sách lỗi thì không dám triển khai gì cả.
-
A (phạt lập trình viên gây ra sự cố) — trái ngược với văn hoá blameless postmortem. Quy tội khiến người ta giấu sự cố, và hệ thống không được cải thiện.
-
C (nghỉ nốt tháng vì dịch vụ ổn định) — hiểu sai hoàn toàn: ngân sách còn dư nghĩa là có dư địa để làm việc mạo hiểm hơn, không phải để ngừng làm việc.
Ghi nhớ
⚠ Error budget — bảng phải thuộc: | Khái niệm | Nội dung | |---|---| | Công thức | 100% − SLO | | Ý nghĩa | ⚠ mức KHÔNG tin cậy được PHÉP có | | Còn ngân sách | ⚠ được phép mạo hiểm, phát hành nhanh | | Hết ngân sách | ⚠ đóng băng tính năng, tập trung độ tin cậy | | Dư quá nhiều | ⚠ dấu hiệu đang quá thận trọng |
Từ khoá nhận diện:
"error budget cho phép làm gì" → chấp nhận rủi ro có tính toán "hết ngân sách lỗi" → đóng băng phát hành "100% availability" → ⚠ mục tiêu SAI "mổ xẻ sự cố" → blameless postmortem
| ⚠ "Số chín" và thời gian ngừng cho phép | Mức |
|---|---|
| 99% | ~7,3 giờ/tháng |
| 99,9% | ⚠ ~43 phút/tháng — đề này |
| 99,95% | ~22 phút/tháng |
| 99,99% | ~4,4 phút/tháng |
| 99,999% | ~26 giây/tháng |
| Tiêu error budget vào việc gì | Việc |
|---|---|
| Triển khai tính năng mới | |
| Thử nghiệm A/B trên sản xuất | |
| ⚠ Chaos engineering | chủ động gây lỗi để kiểm tra khả năng chịu đựng |
| Nâng cấp hạ tầng | |
| Diễn tập chuyển đổi dự phòng | ⚠ cố ý tắt một zone |
| Vì sao 100% là mục tiêu sai | Lý do |
|---|---|
| Chi phí tăng theo cấp số nhân | |
| ⚠ Không còn dư địa để thay đổi gì | |
| Người dùng không phân biệt nổi | mạng của họ còn kém hơn |
| Phụ thuộc bên thứ ba | bạn không kiểm soát được hết |
| Nguyên tắc | chọn mức đủ tốt cho NGƯỜI DÙNG |
| Blameless postmortem — vì sao quan trọng | Lý do |
|---|---|
| Quy tội → ⚠ người ta GIẤU sự cố | |
| Giấu → không ai học được gì | |
| Giả định | ⚠ con người làm đúng theo thông tin họ CÓ lúc đó |
| Kết luận | lỗi nằm ở HỆ THỐNG và QUY TRÌNH |
| Kết quả | hệ thống được sửa, không phải người bị phạt |
Ba việc kiểm chứng cho một đội: | Việc | Câu hỏi | |---|---| | Có SLO viết ra chưa | hay chỉ nói miệng "phải luôn chạy" | | Còn bao nhiêu ngân sách lỗi | ⚠ có bảng theo dõi không | | Hết ngân sách thì làm gì | đã thống nhất TRƯỚC chưa |
Và điều làm nên sức mạnh thật sự của error budget: nó phải được thống nhất trước khi có sự cố. Một quy tắc "hết ngân sách thì dừng phát hành" chỉ có giá trị khi cả đội sản phẩm lẫn đội vận hành đã ký vào nó từ lúc mọi thứ còn yên bình — thoả thuận sau khi hệ thống vừa sập không bao giờ khách quan được nữa.
A developer is building a new real-time collaboration application where multiple users need to edit the same document simultaneously. They need a NoSQL database that can easily synchronize data between web and mobile clients and also supports robust offline capabilities.
Which Google Cloud database is optimized for this rich, client-side application development?
-
A
Firestore
-
B
Cloud Bigtable
-
C
Cloud SQL
-
D
Cloud Spanner
Xem giải thích
Đáp án
A — Firestore.
Vì sao đúng
Đề nêu bốn yêu cầu, và cả bốn là những gì Firestore được thiết kế riêng để làm:
⚠ Bốn yêu cầu ↔ Firestore:
1. NoSQL
→ Firestore là CSDL tài liệu
2. NHIỀU NGƯỜI SỬA CÙNG LÚC,
THỜI GIAN THỰC
→ ⚠ real-time listener:
dữ liệu TỰ ĐẨY về mọi máy khách
khi có thay đổi
3. ĐỒNG BỘ GIỮA WEB VÀ DI ĐỘNG
→ SDK cho iOS, Android, web,
Flutter, Unity
4. ⚠ HOẠT ĐỘNG NGOẠI TUYẾN MẠNH
→ ⚠ đây là điều kiện loại trừ
then chốt — chỉ Firestore có
⚠ Real-time listener khác truy vấn thường thế nào:
CSDL THÔNG THƯỜNG
Máy khách hỏi → server trả lời
↓
Muốn biết có thay đổi không
→ ⚠ phải HỎI LẠI liên tục (polling)
FIRESTORE
Máy khách ĐĂNG KÝ nghe một tài liệu
↓
Ai đó sửa tài liệu
↓
⚠ Firestore TỰ ĐẨY bản mới
xuống MỌI máy đang nghe
↓
→ cộng tác thời gian thực
gần như không phải viết mã đồng bộ
⚠ Chế độ ngoại tuyến:
Mất mạng
↓
⚠ SDK ghi vào bộ đệm CỤC BỘ
⚠ Ứng dụng VẪN đọc và ghi được
↓
Có mạng trở lại
↓
⚠ Tự đồng bộ lên máy chủ
⚠ Tự xử lý xung đột
↓
→ người dùng gần như không
nhận ra đã mất mạng
Vì sao các phương án khác sai
-
D (Cloud Spanner) — phương án gần nhất về mặt "CSDL mạnh cho ứng dụng", nhưng nó là quan hệ, không có SDK máy khách với đồng bộ thời gian thực và chế độ ngoại tuyến. Nó dành cho backend, không dành cho máy khách di động.
-
B (Cloud Bigtable) — NoSQL nhưng là wide-column cho thông lượng cực lớn; không có SDK máy khách, không có listener thời gian thực, không có chế độ ngoại tuyến.
-
C (Cloud SQL) — CSDL quan hệ truyền thống; máy khách di động không nên kết nối trực tiếp vào nó.
Ghi nhớ
⚠ Firestore — bảng phải thuộc: | Đặc điểm | Nội dung | |---|---| | Mô hình | NoSQL tài liệu — collection và document | | Real-time listener | ⚠ dữ liệu tự đẩy về máy khách | | Chế độ ngoại tuyến | ⚠ đọc ghi khi mất mạng, tự đồng bộ lại | | SDK máy khách | iOS, Android, web, Flutter, Unity | | Security Rules | ⚠ phân quyền NGAY Ở CSDL — máy khách gọi thẳng được | | Giao dịch ACID | trong phạm vi giới hạn | | Tự mở rộng, serverless | | | Chỉ mục | ⚠ tự tạo cho trường đơn; truy vấn phức hợp cần chỉ mục tổng hợp |
Từ khoá nhận diện:
"di động, thời gian thực, ngoại tuyến, cộng tác" → Firestore "chuỗi thời gian, thông lượng cực lớn" → Bigtable "quan hệ toàn cầu, ACID" → Spanner "MySQL/PostgreSQL" → Cloud SQL
| ⚠ Security Rules — điều làm Firestore khác biệt | Điểm |
|---|---|
| Máy khách gọi THẲNG vào CSDL | không cần backend trung gian |
| An toàn nhờ | ⚠ luật phân quyền chạy ở phía máy chủ |
| Ví dụ | "chỉ chủ sở hữu mới sửa được tài liệu này" |
| ⚠ Rủi ro | luật viết lỏng = dữ liệu mở toang cho cả thế giới |
| Thực hành | luôn kiểm thử Security Rules bằng emulator |
| Thiết kế dữ liệu cho Firestore | Nguyên tắc |
|---|---|
| Thiết kế theo TRUY VẤN, không theo thực thể | |
| Chấp nhận lặp dữ liệu | đổi lấy tốc độ đọc |
| ⚠ Tài liệu tối đa 1 MB | đừng nhét mảng khổng lồ |
| Subcollection | cho quan hệ một–nhiều |
| ⚠ Giá tính theo SỐ LƯỢT đọc/ghi | không theo dung lượng — thiết kế sao cho ít lượt đọc |
| ⚠ Cộng tác thời gian thực — điều cần lưu ý thêm | Điểm |
|---|---|
| Firestore giải đồng bộ dữ liệu | |
| ⚠ KHÔNG tự giải xung đột soạn thảo | hai người sửa cùng đoạn văn |
| Cần thêm | thuật toán như OT hoặc CRDT ở tầng ứng dụng |
| Firestore hỗ trợ | giao dịch và cập nhật nguyên tử cho trường |
| Hai chế độ của Firestore | Chế độ |
|---|---|
| Native mode | ⚠ có real-time và offline — chọn cái này cho app |
| Datastore mode | tương thích ngược, cho backend |
| ⚠ | chọn lúc tạo, KHÔNG đổi được |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Security Rules có chặt không | ⚠ kiểm thử bằng Firebase emulator | | Có bao nhiêu lượt đọc mỗi phiên | đây là thứ quyết định hoá đơn | | Ngoại tuyến có hoạt động không | thử tắt mạng trên thiết bị thật |
Và một sai lầm rất tốn tiền với Firestore mà đề thi không hỏi nhưng thực tế hay gặp: thiết kế khiến mỗi lần mở màn hình phải đọc hàng trăm tài liệu. Giá của Firestore tính theo số lượt đọc chứ không theo dung lượng, nên một cấu trúc dữ liệu sai không làm chậm ứng dụng — nó chỉ âm thầm nhân hoá đơn lên nhiều lần.
In a streaming data pipeline, events are first captured by Pub/Sub. The data then needs to be transformed, enriched, and aggregated in real-time before being loaded into BigQuery for analysis.
Which service is designed to be the transform engine in this pipeline?
-
A
Dataflow
-
B
Looker
-
C
Cloud SQL
-
D
Cloud Storage
Xem giải thích
Đáp án
A — Dataflow.
Vì sao đúng
Trong kiến trúc dữ liệu luồng chuẩn của Google Cloud, mỗi sản phẩm có đúng một vai, và biến đổi là vai của Dataflow.
⚠ Kiến trúc và vai của từng mảnh:
NGUỒN sự kiện
↓
PUB/SUB ← nhận và đệm ("cửa trước")
↓
⚠ DATAFLOW ← BIẾN ĐỔI, LÀM GIÀU,
TỔNG HỢP theo cửa sổ
↓
BIGQUERY ← lưu và phân tích
↓
LOOKER ← trực quan hoá
⚠ Ba việc đề nêu, Dataflow làm cả ba:
"BIẾN ĐỔI" (transform)
→ ParDo, Map trên từng phần tử
"LÀM GIÀU" (enrich)
→ ⚠ side input hoặc CoGroupByKey
để ghép thêm dữ liệu tham chiếu
"TỔNG HỢP THỜI GIAN THỰC" (aggregate)
→ ⚠ WINDOW + Combine
→ ví dụ: tổng doanh thu mỗi
5 phút, tính liên tục
⚠ Cửa sổ thời gian — thứ chỉ engine luồng mới có:
Luồng dữ liệu là VÔ HẠN
↓
⚠ Không thể "tính tổng tất cả"
vì không bao giờ hết dữ liệu
↓
→ chia thành CỬA SỔ:
- Fixed : mỗi 5 phút một khối
- Sliding: 5 phút, trượt mỗi 1 phút
- Session: gom theo phiên hoạt động
↓
⚠ Watermark: khi nào coi là
"đã đủ dữ liệu cho cửa sổ này"
⚠ Gần trùng với #13313 (cùng lô này) — đề đó cũng mô tả Pub/Sub → xử lý → BigQuery cho dữ liệu IoT, và cùng khoá Dataflow. Hoàn toàn nhất quán. Mẫu đề lặp: biến đổi/làm giàu dữ liệu luồng, có quản lý, tự mở rộng → luôn là Dataflow.
Vì sao các phương án khác sai
-
C (Cloud SQL) — cơ sở dữ liệu giao dịch. Không phải engine xử lý luồng; không có khái niệm cửa sổ thời gian hay watermark.
-
D (Cloud Storage) — lưu tệp. Là nơi chứa, không phải nơi biến đổi.
-
B (Looker) — công cụ BI, nằm ở cuối đường ống để hiển thị kết quả.
Ghi nhớ
⚠ Vai của từng sản phẩm trong pipeline dữ liệu — bảng phải thuộc: | Giai đoạn | Sản phẩm | |---|---| | Nhận (ingest) | Pub/Sub (luồng), Datastream (CDC), Storage Transfer (lô) | | ⚠ Xử lý (transform) | ⚠ Dataflow, Dataproc, Dataform | | Lưu | BigQuery, Cloud Storage, Bigtable | | Phân tích | BigQuery | | Trực quan hoá | Looker, Looker Studio | | Điều phối | Cloud Composer, Cloud Workflows |
Từ khoá nhận diện:
"biến đổi, làm giàu, tổng hợp thời gian thực" → Dataflow "nhận luồng, cửa trước" → Pub/Sub "biến đổi bằng SQL trong kho" → Dataform "Spark/Hadoop có sẵn" → Dataproc "chỉ nạp thẳng, không biến đổi" → managed Pub/Sub → BigQuery subscription
| Dataflow — điều cần nhớ | Điểm |
|---|---|
| Dựa trên Apache Beam | ⚠ chuẩn mở — chuyển đi được |
| ⚠ Cùng một mã cho LÔ và LUỒNG | không phải viết hai bản |
| Tự mở rộng | thêm bớt worker theo tải |
| Serverless có quản lý | không dựng cụm |
| Streaming Engine | tách tính toán khỏi trạng thái |
| Dataflow templates | ⚠ mẫu dựng sẵn cho việc phổ biến — không cần viết mã |
| ⚠ Ba loại cửa sổ | Loại |
|---|---|
| Fixed (tumbling) | khối liền nhau, không chồng lấn |
| Sliding | chồng lấn — ví dụ 5 phút trượt mỗi 1 phút |
| Session | ⚠ gom theo phiên, tách khi im lặng đủ lâu |
| Global | cho xử lý theo lô |
| ⚠ Dữ liệu đến muộn — vấn đề đặc trưng của luồng | Điểm |
|---|---|
| Event time | thời điểm sự kiện xảy ra |
| Processing time | thời điểm pipeline nhận được |
| Watermark | ⚠ ước lượng "đã nhận đủ tới mốc nào" |
| Allowed lateness | chờ thêm bao lâu cho dữ liệu muộn |
| Trigger | khi nào phát kết quả ra |
| Bỏ qua chuyện này | ⚠ kết quả tổng hợp sẽ THIẾU dữ liệu |
| Mẫu dead-letter trong Dataflow | Bước |
|---|---|
ParDo có hai đầu ra |
main và lỗi |
| Bản ghi hỏng → nhánh lỗi kèm ngoại lệ | |
| Nhánh lỗi ghi vào bảng riêng | |
| ⚠ Lợi ích | một bản ghi hỏng KHÔNG làm gãy cả pipeline |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Pipeline có theo kịp không | ⚠ System lag và Data freshness | | Bước nào chậm | đồ thị pipeline — wall time từng bước | | Có bản ghi hỏng không | đếm dòng ở bảng dead-letter |
Và một câu hỏi nên đặt trước khi viết pipeline Dataflow đầu tiên: có thật sự cần biến đổi không? Nếu chỉ là đưa dữ liệu nguyên trạng từ Pub/Sub vào BigQuery thì subscription có quản lý làm được mà không cần một dòng mã nào — Dataflow xứng đáng khi bạn thật sự phải làm sạch, làm giàu hoặc tổng hợp.
When a Compute Engine virtual machine communicates with a Cloud SQL database in the same region, what is a key security benefit provided by Google's underlying infrastructure?
-
A
The traffic is automatically encrypted by the customer's application.
-
B
The traffic is logged by default in a public Cloud Storage bucket.
-
C
The traffic is routed through multiple public ISPs for redundancy.
-
D
The traffic can remain within Google's private, software-defined global network.
Xem giải thích
Đáp án
D — Lưu lượng có thể đi hoàn toàn trong mạng riêng, được định nghĩa bằng phần mềm, của Google.
Vì sao đúng
Khi hai tài nguyên Google Cloud trong cùng một vùng nói chuyện với nhau, gói tin không cần ra Internet công cộng.
⚠ Hai đường đi có thể có:
QUA INTERNET CÔNG CỘNG (không cần thiết)
VM → IP công khai của Cloud SQL
↓
⚠ đi qua nhiều ISP
⚠ bề mặt tấn công lớn hơn
⚠ độ trễ cao hơn, kém ổn định
⚠ có phí đi ra
⚠ QUA MẠNG RIÊNG CỦA GOOGLE
VM → Private IP / Private Service Connect
↓
⚠ KHÔNG bao giờ rời khỏi
hạ tầng Google
⚠ Được mã hoá tự động
giữa các trung tâm dữ liệu
⚠ Độ trễ thấp và ổn định
⚠ Bề mặt tấn công nhỏ hơn nhiều
⚠ Mạng "định nghĩa bằng phần mềm" nghĩa là gì:
VPC của Google là TOÀN CẦU
↓
⚠ Một VPC trải khắp mọi vùng
⚠ Subnet thuộc từng vùng nhưng
cùng một mạng logic
↓
→ tài nguyên ở Tokyo và Frankfurt
nói chuyện bằng IP nội bộ,
không cần VPN hay peering
↓
⚠ Khác hẳn mô hình VPC theo vùng
của các nhà cung cấp khác
⚠ Cách thực hiện với Cloud SQL:
Cấu hình PRIVATE IP cho instance
↓
Cloud SQL nhận IP nội bộ trong
dải VPC của bạn
↓
⚠ TẮT hẳn IP công khai
↓
→ không có đường nào từ Internet
chạm tới CSDL
Vì sao các phương án khác sai
-
A (lưu lượng được ứng dụng của khách tự mã hoá) — phương án gần nhất về mặt "nghe như bảo mật", nhưng câu hỏi là về lợi ích do HẠ TẦNG của Google cung cấp. Mã hoá ở tầng ứng dụng là việc của bạn, không phải thứ hạ tầng tự làm.
-
C (định tuyến qua nhiều ISP công cộng để dự phòng) — ngược lại: ưu điểm chính là KHÔNG đi qua ISP công cộng.
-
B (log tự động vào một bucket Cloud Storage CÔNG KHAI) — không đúng, và một bucket công khai chứa log mạng sẽ là lỗ hổng bảo mật nghiêm trọng.
Ghi nhớ
⚠ Đặc điểm mạng của Google Cloud — bảng nên thuộc: | Đặc điểm | Nội dung | |---|---| | VPC TOÀN CẦU | ⚠ một VPC trải mọi vùng — khác các nhà cung cấp khác | | Mạng xương sống riêng | lưu lượng giữa các vùng không ra Internet | | Mã hoá khi truyền | ⚠ tự động giữa các trung tâm dữ liệu | | Global Load Balancer | một IP toàn cầu, không cần khởi động trước | | Premium / Standard network tier | ⚠ Premium đi mạng Google càng xa càng tốt |
Từ khoá nhận diện:
"không ra Internet công cộng" → mạng riêng của Google / Private IP "truy cập API Google mà không cần IP công khai" → Private Google Access "kết nối tới dịch vụ có quản lý qua IP nội bộ" → Private Service Connect "nối tới trung tâm dữ liệu riêng" → Cloud Interconnect / VPN
| Các cách giữ lưu lượng ở trong mạng riêng | Cách |
|---|---|
| Private IP cho Cloud SQL | ⚠ và TẮT IP công khai |
| Private Google Access | VM không có IP công khai vẫn gọi được API Google |
| Private Service Connect | ⚠ truy cập dịch vụ có quản lý qua IP nội bộ |
| VPC Service Controls | vành đai chống rò rỉ dữ liệu |
| Cloud NAT | cho VM ra Internet mà không cần IP công khai |
| ⚠ Bảo vệ Cloud SQL — nhiều lớp | Lớp |
|---|---|
| Private IP, tắt IP công khai | ⚠ lớp quan trọng nhất |
| Authorized networks | nếu buộc phải có IP công khai |
| Cloud SQL Auth Proxy | ⚠ xác thực bằng IAM, mã hoá TLS |
| IAM database authentication | không dùng mật khẩu tĩnh |
| CMEK | khoá mã hoá tự quản |
| SSL/TLS bắt buộc |
| ⚠ Chi phí mạng — điều hay bị quên | Điểm |
|---|---|
| Trong cùng zone | ⚠ thường MIỄN PHÍ |
| Giữa các zone cùng vùng | phí thấp |
| Giữa các vùng | phí cao hơn |
| Ra Internet (egress) | ⚠ đắt nhất — dùng CDN để giảm |
| Thiết kế | đặt tài nguyên hay nói chuyện với nhau ở gần nhau |
| Mã hoá khi truyền — mức độ | Mức |
|---|---|
| Trong một trung tâm dữ liệu | được bảo vệ vật lý |
| Giữa các trung tâm dữ liệu Google | ⚠ mã hoá tự động |
| Từ Internet vào Google | TLS |
| Ứng dụng tự mã hoá | lớp thêm, tuỳ bạn |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Cloud SQL còn IP công khai không | ⚠ kiểm và TẮT nếu không cần | | Có VM nào có IP công khai thừa không | dùng Cloud NAT thay thế | | Lưu lượng đi đường nào | VPC Flow Logs |
Và một việc rất đáng làm ngay sau khi dựng xong hệ thống: rà xem còn tài nguyên nào có IP công khai mà không thật sự cần. Mỗi địa chỉ công khai là một cánh cửa ra Internet, và phần lớn trong số đó tồn tại chỉ vì nó là tuỳ chọn mặc định lúc tạo, chứ không phải vì ai đó cần tới.
An IoT company ingests millions of sensor events per hour via Pub/Sub. Before this data can be analyzed in BigQuery, it needs to be cleaned, filtered, and enriched with customer data from another database. The company needs a fully managed, scalable service to perform these data processing transformations in real-time.
Which Google Cloud service is designed for this task?
-
A
Cloud Storage
-
B
Cloud SQL
-
C
Looker
-
D
Dataflow
Xem giải thích
Đáp án
D — Dataflow.
Vì sao đúng
Đề nêu năm yêu cầu, và Dataflow là dịch vụ duy nhất đáp ứng đủ:
⚠ Năm yêu cầu ↔ Dataflow:
1. HÀNG TRIỆU SỰ KIỆN MỖI GIỜ
→ tự mở rộng theo tải
2. LÀM SẠCH và LỌC
→ ParDo, Filter
3. ⚠ LÀM GIÀU bằng dữ liệu khách hàng
TỪ MỘT CSDL KHÁC
→ ⚠ side input hoặc
CoGroupByKey để tra cứu
4. CÓ QUẢN LÝ, TỰ MỞ RỘNG
→ serverless, không dựng cụm
5. THỜI GIAN THỰC
→ xử lý luồng với cửa sổ thời gian
⚠ Làm giàu dữ liệu — phần khó nhất trong đề:
Sự kiện cảm biến: {sensor_id, nhiệt độ}
+
Dữ liệu khách hàng: {sensor_id → tên,
gói dịch vụ, khu vực}
↓
⚠ Cách 1 — SIDE INPUT
nạp bảng tra cứu vào bộ nhớ
của mọi worker
→ hợp khi bảng NHỎ, ít đổi
↓
⚠ Cách 2 — TRA CỨU TỪNG BẢN GHI
gọi CSDL trong DoFn
→ nhớ dùng bộ đệm và
gom theo lô, nếu không
sẽ giết chết CSDL
↓
⚠ Cách 3 — CoGroupByKey
nếu bảng tra cứu cũng là luồng
⚠ Gần trùng với #13311 (cùng lô này) — đề đó cũng là Pub/Sub → biến đổi → BigQuery và cùng khoá Dataflow. Hoàn toàn nhất quán. Điểm khác duy nhất là đề này nhấn thêm vào việc làm giàu từ CSDL khác, vốn cũng là việc của Dataflow.
Vì sao các phương án khác sai
-
B (Cloud SQL) — phương án gần nhất vì đề có nhắc tới "dữ liệu khách hàng từ một CSDL khác". Nhưng Cloud SQL là nguồn tra cứu, không phải engine xử lý: nó không nhận được luồng hàng triệu sự kiện mỗi giờ.
-
A (Cloud Storage) — lưu tệp, không biến đổi gì.
-
C (Looker) — công cụ BI ở cuối đường ống.
Ghi nhớ
⚠ Chọn engine xử lý — bảng phải thuộc: | Nhu cầu | Chọn | |---|---| | Luồng hoặc lô, có quản lý, tự mở rộng | ⚠ Dataflow | | Đã có mã Spark/Hadoop sẵn | Dataproc | | Biến đổi bằng SQL trong kho | Dataform | | Kéo thả, không viết mã | Cloud Data Fusion | | Chỉ nạp thẳng, không biến đổi | managed Pub/Sub → BigQuery subscription |
Từ khoá nhận diện:
"làm sạch, lọc, làm giàu, thời gian thực, có quản lý" → Dataflow "đã quen Spark" → Dataproc "chỉ chuyển thẳng vào bảng" → subscription có quản lý "giao diện kéo thả" → Data Fusion
| Ba cách làm giàu dữ liệu trong Dataflow | Cách |
|---|---|
| Side input | ⚠ bảng tra cứu NHỎ, nạp vào bộ nhớ worker |
| Tra cứu bên ngoài trong DoFn | ⚠ phải có bộ đệm và gom lô |
| CoGroupByKey | ghép hai luồng theo khoá |
| Bigtable / Memorystore làm nguồn tra | ⚠ nhanh hơn Cloud SQL nhiều |
| ⚠ Bẫy hay gặp khi làm giàu | Bẫy |
|---|---|
| Gọi CSDL cho TỪNG bản ghi | ⚠ hàng triệu lời gọi → CSDL sập |
| Chữa | start_bundle mở kết nối một lần, gom theo lô |
| Side input quá lớn | ⚠ hết bộ nhớ worker |
| Chữa | chuyển sang Bigtable hoặc Memorystore |
| Bảng tra cứu đổi giữa chừng | dùng side input làm mới định kỳ |
| Dataflow — điều cần nhớ | Điểm |
|---|---|
| Apache Beam | ⚠ chuẩn mở |
| Cùng mã cho lô và luồng | |
| Tự mở rộng worker | |
| Streaming Engine | tách trạng thái khỏi worker |
| Dataflow Prime | ⚠ tự chỉnh tài nguyên theo từng bước |
| Templates | mẫu dựng sẵn, chạy không cần viết mã |
| Theo dõi một pipeline luồng | Chỉ số |
|---|---|
| System lag | ⚠ bản ghi cũ nhất đang chờ bao lâu |
| Data freshness | dữ liệu tươi tới mức nào |
| Số worker hiện tại | có mở rộng đúng không |
| Backlog của Pub/Sub | ⚠ num_undelivered_messages |
| Số bản ghi vào dead-letter |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Có theo kịp luồng không | System lag không tăng dần | | CSDL tra cứu có bị quá tải không | ⚠ theo dõi kết nối và CPU của nó | | Bản ghi hỏng đi đâu | có bảng dead-letter chưa |
Và một quyết định thiết kế đáng cân nhắc sớm khi phải làm giàu dữ liệu luồng: đưa bảng tra cứu sang một kho đọc nhanh như Bigtable hoặc Memorystore. Cloud SQL rất tốt cho tải giao dịch, nhưng hàng triệu lượt tra mỗi giờ từ một pipeline luồng là kiểu tải mà nó không được sinh ra để chịu.