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