Ngân hàng đề — Google Cloud Digital Leader

Tìm thấy 611 câu.

Câu 61 Modernize Infrastructure and Applications with Google Cloud

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?

  1. A

    Cloud Load Balancing

  2. B

    Identity & Access Management (IAM)

  3. C

    Apigee API Management

  4. 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.

Câu 62 Trust and Security with Google Cloud

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?

  1. A

    Labels

  2. B

    Folders

  3. C

    Networks

  4. 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.

Câu 63 Modernize Infrastructure and Applications with Google Cloud

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?

  1. A

    Explainability

  2. B

    Availability

  3. C

    Durability

  4. 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.

Câu 64 Innovating with Google Cloud Artificial Intelligence

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?

  1. A

    BigQuery ML

  2. B

    Vertex AI

  3. C

    A pre-trained API like Vision API

  4. 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.

Câu 65 Scaling with Google Cloud Operations

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?

  1. A

    Immediately open a P1 (urgent) support case.

  2. B

    Search the official Google Cloud documentation and public issue trackers.

  3. C

    Email the personal address of a Google Cloud executive.

  4. 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ế.

Câu 66 Scaling with Google Cloud Operations

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?

  1. A

    Punish the developer whose code caused the last outage.

  2. B

    Focus exclusively on fixing minor bugs to try to achieve 100% availability.

  3. C

    Take a vacation for the rest of the month since the service is stable.

  4. 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.

Câu 67 Exploring Data Transformation with Google Cloud

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?

  1. A

    Firestore

  2. B

    Cloud Bigtable

  3. C

    Cloud SQL

  4. 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.

Câu 68 Exploring Data Transformation with Google Cloud

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?

  1. A

    Dataflow

  2. B

    Looker

  3. C

    Cloud SQL

  4. 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.

Câu 69 Trust and Security with Google Cloud

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?

  1. A

    The traffic is automatically encrypted by the customer's application.

  2. B

    The traffic is logged by default in a public Cloud Storage bucket.

  3. C

    The traffic is routed through multiple public ISPs for redundancy.

  4. 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.

Câu 70 Exploring Data Transformation with Google Cloud

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?

  1. A

    Cloud Storage

  2. B

    Cloud SQL

  3. C

    Looker

  4. 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.