Ngân hàng đề — Microsoft Azure Solutions Architect Expert

Tìm thấy 132 câu.

Câu 131
You need to design a highly available Azure SQL database that meets the following requirements:

•Failover between replicas of the database must occur without any data loss.
•The database must remain available in the event of a zone outage.
•Costs must be minimized.

Which deployment option should you use?
  1. A Azure SQL Database Standard
  2. B Azure SQL Managed Instance Business Critical
  3. C Azure SQL Database Serverless
  4. D Azure SQL Database Premium
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi yêu cầu thiết kế một cơ sở dữ liệu Azure SQL có tính sẵn sàng cao (highly available) với các yêu cầu cụ thể sau:
✅ Failover giữa các replicas phải không mất dữ liệu (zero data loss): Nghĩa là quá trình chuyển đổi failover phải sử dụng cơ chế đồng bộ hóa đồng thời (synchronous replication) để đảm bảo không có dữ liệu bị mất.
✅ Cơ sở dữ liệu vẫn hoạt động nếu một zone bị outage: Yêu cầu hỗ trợ zone-redundancy (phân bố replicas qua nhiều availability zones trong cùng region), giúp chịu lỗi khi một zone gặp sự cố.
✅ Tối ưu hóa chi phí (minimize costs): Chọn tùy chọn rẻ nhất có thể đáp ứng đầy đủ hai yêu cầu trên, tránh các giải pháp đắt đỏ không cần thiết.

🛠️ Bối cảnh kỹ thuật (cập nhật đến 2026): Azure SQL Database cung cấp high availability (HA) qua các replicas tự động, với tùy chọn zone-redundant HA (từ năm 2020, đã ổn định và mặc định ở một số tier). Phiên bản mới nhất (Azure SQL Database vCore-based, hỗ trợ Hyperscale, Premium) đảm bảo SLA 99.99% với zone-redundancy, sử dụng synchronous commit cho zero RPO (Recovery Point Objective).

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Azure SQL Database Premium

Lý do chi tiết:

  • Premium tier hỗ trợ zone-redundant high availability với synchronous replication (đồng bộ commit) giữa primary và secondary replicas (ít nhất 3 replicas qua các zones khác nhau).
  • Failover tự động xảy ra trong vài giây không mất dữ liệu (zero data loss, RPO=0).
  • Chịu được zone outage nhờ replicas phân bố đa zones.
  • Tối ưu chi phí: Rẻ hơn so với Managed Instance Business Critical (không cần license SQL Server đầy đủ), phù hợp cho workload OLTP demanding mà không lãng phí.
    🧩 Đây là lựa chọn cân bằng nhất theo tài liệu Azure mới nhất (2024-2026), với SLA 99.995% cho zone-redundant Premium.

📋 Giải thích tất cả các phương án (đúng/sai)

Dưới đây là phân tích từng lựa chọn giữ nguyên nội dung gốc bằng tiếng Anh. Mỗi phương án được đánh giá dựa trên khả năng đáp ứng zero data loss failover, zone-redundancy, và minimize costs.

  • ❌ Azure SQL Database Standard
    Phương án này sai vì Standard tier (General Purpose service tier) chỉ hỗ trợ local-redundant HA (replicas trong cùng datacenter/zone), không có zone-redundancy mặc định. Nếu zone outage, database sẽ downtime. Replication là asynchronous ở mức cơ bản, có thể mất dữ liệu (RPO >0). Chi phí thấp nhưng không đáp ứng yêu cầu HA đa zones.

  • ❌ Azure SQL Managed Instance Business Critical
    Phương án này sai dù hỗ trợ synchronous replication (Always On Availability Groups) và zone-redundancy (zero data loss failover, chịu zone outage). Tuy nhiên, chi phí cao hơn nhiều (yêu cầu vCore lớn, license SQL Enterprise), không minimize costs so với Azure SQL Database Premium (managed hơn, pay-per-use). Phù hợp cho workload cần SQL features nâng cao, nhưng thừa thãi ở đây.

  • ❌ Azure SQL Database Serverless
    Phương án này sai vì Serverless là mô hình compute của General Purpose tier (không phải tier riêng), auto-scale và pause/resume để tiết kiệm chi phí. Không hỗ trợ zone-redundancy HA (chỉ local-redundant), failover có thể mất dữ liệu (asynchronous), và không đảm bảo availability đa zones. Chỉ tối ưu cho workload sporadic, không phù hợp yêu cầu strict HA.

  • ✅ Azure SQL Database Premium
    Phương án này đúng như đã giải thích ở trên: Đầy đủ zone-redundant synchronous HA, zero data loss, chịu zone outage, và chi phí thấp nhất trong các tùy chọn đáp ứng yêu cầu (dựa trên vCore/DTU pricing).

📘 Tài liệu tham khảo (cập nhật mới nhất đến 2026)

💡 Lời khuyên từ Azure Solutions Architect Expert: Nên kích hoạt zone-redundancy explicitly khi deploy Premium qua Portal/ARM/CLI để đảm bảo config đúng! Nếu workload lớn, xem xét Hyperscale nhưng nó async (có data loss risk).

Câu 132
You are developing a sales application that will contain several Azure cloud services and handle different components of a transaction. Different cloud services will process customer orders, billing, payment, inventory, and shipping.

You need to recommend a solution to enable the cloud services to asynchronously communicate transaction information by using XML messages.

What should you include in the recommendation?
  1. A Azure Service Fabric
  2. B Azure Notification Hubs
  3. C Azure Service Bus
  4. D Azure Traffic Manager
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi mô tả một ứng dụng bán hàng được phát triển với nhiều dịch vụ đám mây Azure (Azure cloud services), xử lý các thành phần khác nhau của một giao dịch như: xử lý đơn hàng khách hàng (customer orders), thanh toán hóa đơn (billing), thanh toán (payment), quản lý kho hàng (inventory) và vận chuyển (shipping).
Yêu cầu chính: Đề xuất một giải pháp để các dịch vụ đám mây này giao tiếp không đồng bộ (asynchronously) với nhau, sử dụng tin nhắn XML để trao đổi thông tin giao dịch.
📌 Mục tiêu cốt lõi: Cần một dịch vụ messaging đáng tin cậy hỗ trợ giao tiếp lỏng lẻo (loose coupling), đảm bảo độ tin cậy cao (reliable delivery), và tương thích với định dạng XML. Đây là kịch bản điển hình cho enterprise messaging trong Azure, đặc biệt với các ứng dụng phân tán cần xử lý giao dịch phức tạp mà không phụ thuộc thời gian thực (real-time).

✅ Đáp án đúng: Azure Service Bus

Lý do lựa chọn:
Azure Service Bus là dịch vụ messaging as a service (MaaS) của Azure, được thiết kế chuyên biệt để hỗ trợ giao tiếp không đồng bộ giữa các ứng dụng và dịch vụ thông qua queues, topics và subscriptions. Nó hỗ trợ đầy đủ XML messages (qua AMQP hoặc SBMP protocol), với các tính năng như:

  • Dead-letter queues để xử lý tin nhắn lỗi.
  • Sessions cho ordering tin nhắn.
  • Duplicate detection và transactions để đảm bảo tính toàn vẹn dữ liệu giao dịch.
    🛠️ Trong kịch bản này, các dịch vụ Azure có thể gửi/nhận XML messages qua Service Bus queues/topics, giúp tách biệt xử lý (ví dụ: orders → billing → payment), tránh blocking và scale dễ dàng. Phiên bản mới nhất (2024-2026) hỗ trợ Premium tier với partitioning tự động và private endpoints cho bảo mật cao hơn.
    📘 Tài liệu tham khảo: Azure Service Bus documentation (cập nhật 2024).

📋 Giải thích chi tiết tất cả các phương án

Dưới đây là phân tích từng lựa chọn, giữ nguyên nội dung gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai kèm lý do cụ thể dựa trên tính phù hợp với yêu cầu async XML messaging:

  • Azure Service Fabric ❌ SAI
    Azure Service Fabric là nền tảng orchestration và microservices dùng để xây dựng, triển khai và quản lý các ứng dụng stateful/stateless trên cluster (tương tự Kubernetes). Nó không phải dịch vụ messaging chuyên dụng, mà tập trung vào reliable services và actor model. Không hỗ trợ trực tiếp async XML messaging giữa các cloud services độc lập; nếu dùng, phải tự implement messaging layer (phức tạp và không hiệu quả). Không phù hợp cho giao tiếp lỏng lẻo giữa các dịch vụ Azure riêng biệt.

  • Azure Notification Hubs ❌ SAI
    Azure Notification Hubs là dịch vụ push notifications dành cho mobile/web apps, hỗ trợ gửi thông báo hàng loạt đến thiết bị (iOS/Android/Windows) qua các platform như FCM/APNS. Nó chỉ xử lý one-way notifications, không hỗ trợ bidirectional async messaging với XML, và không dành cho giao tiếp nội bộ giữa cloud services (chỉ outbound push). Không đáp ứng yêu cầu transaction info exchange.

  • Azure Service Bus ✅ ĐÚNG
    Như đã giải thích ở phần trên: Hoàn hảo cho async messaging với XML hỗ trợ native, queues/topics cho decoupling, và các tính năng enterprise-grade như auto-forwarding, filtering. Lý tưởng cho sales app với multi-step transactions. ✅ Khuyến nghị chính thức từ Azure Well-Architected Framework cho messaging patterns.

  • Azure Traffic Manager ❌ SAI
    Azure Traffic Manager là dịch vụ DNS-based traffic routing/load balancing toàn cầu, dùng để phân phối traffic HTTP/HTTPS giữa các endpoints dựa trên geography, performance hoặc priority. Nó chỉ xử lý request routing synchronous ở layer 7 (DNS), không hỗ trợ messaging async hay XML payloads. Hoàn toàn không liên quan đến giao tiếp nội bộ dịch vụ.

🧠 Kết luận: Azure Service Bus là lựa chọn tối ưu, tuân thủ best practices Azure cho event-driven architecture (cập nhật 2026 với hỗ trợ Geo-disaster recovery nâng cao). Nếu triển khai, kết hợp với Azure Functions hoặc Logic Apps để xử lý messages tự động! 🚀