Files
2026-09-22 13:46:36 +07:00

6.3 KiB
Raw Permalink Blame History

INF — Infrastructure & Deployment Design —

Version 1.0
Date YYYY-MM-DD
Author (skill sa-2-architecture)
Status 🟡 Draft
Approved by SRE/Ops: — · Tech Lead: —
Source SAD_… v1.0 · QAS_… v1.0 · TCO_… v1.0
Scope
Confidence 🟡

Change Log

Version Date Người sửa Thay đổi ADR
1.0 Bản đầu —

🔴 Tài liệu này phải khớp số với TCO (quy tắc D9). Lệch nhau ⇒ một trong hai sai, không có khả năng thứ ba.


1. Tóm tắt

Cloud / vùng · ràng buộc lãnh thổ: CON-05
Mô hình chạy VM / container / K8s / PaaS / serverless · ADR-nnn
Chịu được mất gì một node / một AZ / một vùng
RTO / RPO … / … · lần diễn tập gần nhất: …
Chi phí/tháng ở tải dự kiến … (khớp TCO §3)

2. Môi trường

Môi trường Mục đích Cấu hình so với prod Dữ liệu Ai truy cập được
dev dữ liệu sinh
stg đo QAS ẩn danh hoá
prod 100% thật

🔴 Câu hỏi bắt buộc trả lời: stg khác prod ở chỗ nào, và chỗ khác đó có làm sai lệch kết quả đo QAS không? Đo hiệu năng trên máy nhỏ hơn 4 lần rồi kết luận "đạt" là tự lừa mình.

QAS cần đo Đo được trên stg? Nếu không, đo ở đâu Sai số ước tính

3. Sơ đồ triển khai

flowchart TB

Legend: (bắt buộc — ranh giới mạng, ranh giới vùng/AZ, hướng lưu lượng)

Thành phần Loại máy/dịch vụ Số bản Vùng/AZ Tự động scale Chi phí/tháng
ngưỡng: …
Cộng (khớp TCO §3)

4. Tính sẵn sàng (HA)

Thành phần Chịu được mất Cơ chế chuyển đổi Thời gian chuyển Tự động? Đã thử chưa
Ứng dụng 1 node LB bỏ node lỗi … s ✅ ☐
CSDL 1 AZ failover replica … s ☐

Điểm hỏng đơn (SPOF) còn lại

Thành phần Vì sao chưa dự phòng Rủi ro Kế hoạch

🔴 Hệ thống nào cũng còn SPOF. Liệt kê ra là chuyên nghiệp; giả vờ không có mới là vấn đề.

5. Khôi phục thảm hoạ (DR)

Kịch bản thảm hoạ tính tới mất một vùng / hỏng dữ liệu / xoá nhầm / ransomware
RTO mục tiêu … (nguồn: QAS-nnn, PO chấp nhận ngày …)
RPO mục tiêu …
Cách khôi phục (các bước, ai làm, tài liệu runbook ở đâu)
RTO đo được thực tế … (chưa đo ⇒ 🔴)
Lần diễn tập gần nhất … (chưa từng ⇒ Confidence 🔴 + tạo ARISK)
Tần suất diễn tập

🔴 RTO/RPO chưa diễn tập là RTO/RPO trên giấy. Con số duy nhất có giá trị là con số đo được trong một lần diễn tập thật.

6. Khả năng mở rộng

Thành phần Scale kiểu gì Ngưỡng kích hoạt Giới hạn trên Thời gian scale xong Nút thắt kế tiếp
ngang / dọc CPU > …% trong … phút … bản … s

Nút thắt khi tải × 3 (kịch bản B của TCO)

Thứ tự Thành phần nghẽn trước Ở mức tải nào Cách gỡ Chi phí

🔴 Scale ngang tầng ứng dụng thường đẩy nút thắt xuống CSDL. Ghi rõ nút thắt kế tiếp — nếu không, việc scale sẽ tốn tiền mà không cải thiện gì.

7. Triển khai

Quyết định ADR
Chiến lược blue-green / canary / rolling
Thời gian downtime cho phép (khớp ngân sách lỗi ở QAS)
Cách rollback · rollback mất bao lâu
Migration schema tương thích ngược không? triển khai mấy bước?
Cờ tính năng (feature flag) có/không · nơi quản lý
Ai được bấm deploy prod

🔴 Migration schema và deploy code phải tương thích ngược với nhau, nếu không thì rollback code sẽ gặp schema mới và hỏng. Quy tắc: đổi schema theo hai bước (thêm trước, bỏ sau).

8. Quan sát được (Observability)

Loại Công cụ Ghi gì Giữ bao lâu Ai đọc Chi phí/tháng
Log
Metric
Trace tỉ lệ lấy mẫu: …
Cộng (khớp TCO §3)

Cảnh báo

Cảnh báo Điều kiện Mức Báo cho ai QAS
trang/ngay · vé/giờ hành chính

🔴 Cảnh báo không ai xử lý là cảnh báo sẽ bị tắt tiếng. Mỗi cảnh báo phải có người nhận và một runbook — không có thì đừng tạo cảnh báo đó.

Correlation id — cách truyền xuyên hệ thống: (khớp SAD §9)

9. Vận hành thường ngày

Việc Ai làm Tần suất Tài liệu
Trực sự cố (on-call) escalation: …
Vá bảo mật
Kiểm tra backup khôi phục được
Rà chi phí hàng tháng

Năng lực đội vận hành (từ CON-04): … người · kỹ năng có · kỹ năng còn thiếu: … ⇒ chi phí đào tạo ghi ở TCO §5.

10. Đối chiếu với TCO

Hạng mục INF §3+§8 TCO §3 Khớp
Compute ☐
CSDL ☐
Observability ☐
Non-prod ☐
Tổng/tháng ☐

11. Giả định & Ngoài phạm vi

Giả định:

ID Giả định Cách xác minh Nếu sai

Ngoài phạm vi:

  • (ví dụ: không hỗ trợ multi-region active-active; DR dựa trên khôi phục backup, RTO 4 giờ)

12. Open Questions

ID Câu hỏi Hỏi ai Từ ngày Chặn gì Hệ quả nếu trả lời ngược