Bài toán mở đầu
Một team cần chạy web bán hàng ở Azure. Traffic thay đổi theo chiến dịch, dữ liệu khách hàng phải ở khu vực phù hợp, sandbox không được ảnh hưởng production và finance cần dự báo hóa đơn. Trước khi chọn App Service, VM hay database, hãy mô hình hóa workload, ownership, governance và cost boundary.
1. Azure cloud model
Cloud không chỉ là “máy chủ ở nơi khác”. Điểm cần nhận diện là provisioning theo nhu cầu, elasticity, managed abstraction và consumption-based pricing. IaaS cho nhiều quyền kiểm soát hơn nhưng kéo theo OS/network patching; PaaS giảm vận hành hạ tầng nhưng customer vẫn chịu code, identity, data và cấu hình; SaaS chuyển thêm responsibility sang provider nhưng vẫn cần quản lý người dùng và dữ liệu.
2. Geography và failure domain
Region là khu vực địa lý chứa một hoặc nhiều datacenter. Availability zone là failure domain độc lập trong một số region, dùng để giảm ảnh hưởng lỗi datacenter. Region pair có thể hỗ trợ kế hoạch continuity nhưng không tự tạo DR; phải kiểm tra service support, replication, RTO/RPO, data residency và cost.
Đừng chọn region chỉ vì gần người dùng. Hãy ghi decision record: latency, compliance, service availability, capacity/quota, resilience và giá.
3. Hierarchy và governance
Mô hình quản trị phổ biến: Management group → Subscription → Resource group → Resource. Subscription là boundary billing/access quan trọng. Resource group gom resource có lifecycle/ownership liên quan; xóa resource group có thể xóa resource bên trong, nên phải kiểm tra trước khi thao tác. RBAC có thể đặt ở nhiều scope và kế thừa; Azure Policy kiểm soát resource có được phép tạo/configure theo rule; lock giảm nguy cơ xóa hoặc sửa ngoài ý muốn; tag hỗ trợ ownership/cost allocation nhưng không phải security control.
4. Shared responsibility bằng ví dụ
Với VM, customer thường quản lý guest OS, patching, identity, firewall rules, application và data. Với App Service, Azure quản lý nhiều phần platform nhưng customer vẫn chịu code, auth, secrets, network integration và data. Với Azure SQL, managed database giảm operational work nhưng schema, access, backup/retention requirement và data classification vẫn cần thiết kế.
Bài tập thiết kế
Vẽ hai subscription prod và sandbox; trong mỗi subscription đặt resource group theo lifecycle. Đánh dấu scope của RBAC, Policy, lock, tag và budget. Viết ba lý do không nên dùng một subscription duy nhất cho mọi workload. Sau đó tạo responsibility matrix cho VM/App Service/Azure SQL.
Checkpoint
Bạn đạt bài khi có thể giải thích một lựa chọn bằng requirement và failure/governance concern, không chỉ đọc lại định nghĩa. Hãy giữ decision record này để nối sang các bài về compute, storage, networking, identity và cost management.