36 KiB
TCO — Cost Model — e-commerce · Phương án P2 (chính) và P1 (đối chiếu)
| Version | 1.1 |
| Date | 2026-09-12 |
| Author | SA (skill sa-1-context, chế độ go, hoạt động cost-risk) |
| Status | 🟡 Draft (duyệt từng phần — xem Approved by; chấp nhận cấu trúc 4 nhóm chi phí (§3–§6), 2 kịch bản tải A/B (§2), và kết luận thứ tự tương đối "P2 rẻ hơn P1" ở cả hai kịch bản (§1, §7); đơn giá AWS (ASM-11), tỷ giá (ASM-12), số FTE vận hành (ASM-14) và 5 khoản non-labor (OQ-013…017) chưa xác nhận — đây chưa phải AG1 toàn phần, Tech Lead chưa ký, OQ-004 còn mở; xem "Tự chấm" §①) |
| Approved by | PO (uỷ quyền, chế độ chạy thử): Điều phối dự án — duyệt từng phần bản v1.1 · 2026-09-12 (sau khi đã sửa lỗi chép số §1 P2-B: dòng "Vận hành/nhân sự (3 năm)" P2-B = 5.600 triệu, Tổng 3 năm P2-B = 13.977,5 triệu): chấp nhận cấu trúc 4 nhóm chi phí (hạ tầng AWS · license/SaaS · vận hành/nhân sự · chi phí một lần xây dựng), 2 kịch bản tải A/B, và kết luận thứ tự tương đối P2 rẻ hơn P1 ở cả hai kịch bản. Chưa xác nhận (giữ Confidence 🔴): đơn giá AWS (ASM-11), tỷ giá quy đổi USD/VND (ASM-12), số FTE đội Ops (ASM-14), và 5 khoản non-labor chưa tính được (OQ-013…017). Ký thay PO theo ngoại lệ DEC-01 (SA), ghi thêm DEC-09; không phải chữ ký PO/Tech Lead thật — OQ-004 giữ mở. Status giữ 🟡 Draft — AG1 toàn phần vẫn chưa đủ điều kiện. · Tech Lead: — (chưa ký) |
| Source | 01-context/CTX_e-commerce_v1.0.md (v1.2 trong header) §2 DRV-04/05/06, §3 CON-01/02/03/04/05/08, §4.1, §4.2, §4.4 · 01-context/OPT_e-commerce_v1.0.md §1, §3 (P1/P2), §4, §8 ASM-07/08/09 · e-commerce/bid/estimate.computed.json (totals, cost, timeline, staffing) · e-commerce/bid/bid-config.md (rateCard, vatPct) · e-commerce/bid/40-financial-proposal.md §C2–C5 · e-commerce/docs/sections/03-kien-truc.md §3.2–§3.4 · e-commerce/docs/sections/09-van-hanh-kiem-thu.md §9.3–§9.5 · ba-output/e-commerce/01-discovery/RISK_CartCheckout_v1.0.md (tham chiếu ID, không copy) |
| Scope | Chi phí 3 năm cho P2 (modular monolith + managed AWS, Payment tách riêng — phương án chính theo DEC-06) và P1 (modular microservices theo SAD.md/hồ sơ thầu — đối chiếu), mỗi phương án tính theo 2 kịch bản tải. Đơn vị tiền: VND. Đơn giá hạ tầng AWS quy đổi từ USD (khu vực tham chiếu ap-southeast-1, xem ASM-11) |
| Confidence | 🔴 Giả định chưa xác minh — kế thừa nguyên nhân của CTX/OPT (BA chưa ký G1, AG1 GĐ1 SA chưa từng chạy, ngoại lệ gate DEC-01/03/04/05 tiếp tục ở DEC-07). Thêm hai lý do riêng của TCO: (a) đơn giá AWS không được truy vấn từ AWS Pricing Calculator/báo giá đại lý thời điểm hiện tại — là ước tính từ tri thức bảng giá công khai đã biết, bắt buộc xác minh lại trước khi PO dùng để duyệt ngân sách (ASM-11); (b) không có baseline tải thật (greenfield, CTX §4.1) nên toàn bộ kịch bản tải là giả định suy từ DRV-04 (ASM-10), không phải đo lường |
Change Log
| Version | Date | Người sửa | Thay đổi | ADR/DEC |
|---|---|---|---|---|
| 1.1 | 2026-09-12 | SA (qua skill sa-1-context, chế độ go, hoạt động cost-risk) |
Sửa lỗi chép số §1 P2-B theo phát hiện của người duyệt 2026-09-12: dòng "Vận hành/nhân sự (3 năm)" P2 — Kịch bản B đổi từ 5.800 triệu → 5.600 triệu (đúng theo chi tiết cộng dồn ở §5: 5.400 nhân sự + 200 surge); Tổng 3 năm P2-B đổi từ 14.177,5 triệu (~14,18 tỷ) → 13.977,5 triệu (~13,98 tỷ), khớp số đã có sẵn ở §7. Viết lại ghi chú 🔴 "Ghi chú khớp số" ở §7 — nguyên nhân lệch là lỗi chép số ở §1, không phải làm tròn. Đã rà soát: dải tổng ở §1 "So sánh nhanh"/ARISK-07/OQ-005 (~11,2–19,1 tỷ) không đổi vì cận dưới (P2-A ~11,17 tỷ) và cận trên (P1-B ~19,06 tỷ) không liên quan tới ô bị sửa. Không sửa ARISK/OQ (không trích đúng con số 14.177,5/14,18). Không chạy lại ước lượng, không đổi Status/Confidence/Approved by. | — |
| 1.1 | 2026-09-12 | PO (uỷ quyền, Điều phối dự án) — tác vụ sign/approve | Duyệt từng phần bản v1.1 (sau khi sửa lỗi chép số §1 P2-B ở dòng trên): chấp nhận cấu trúc 4 nhóm chi phí, 2 kịch bản tải A/B, kết luận thứ tự tương đối P2 rẻ hơn P1. Không đổi nội dung chuyên môn. Đơn giá AWS (ASM-11), tỷ giá (ASM-12), số FTE vận hành (ASM-14) và 5 khoản non-labor (OQ-013…017) chưa xác nhận — Confidence giữ 🔴. Ký thay PO theo ngoại lệ DEC-01 (SA), ghi thêm DEC-09; không phải chữ ký PO/Tech Lead thật — OQ-004 giữ mở, Tech Lead chưa ký. Status giữ 🟡 Draft — AG1 toàn phần chưa đủ điều kiện (xem "Tự chấm" §①). |
DEC-09 |
| 1.0 | 2026-09-12 | SA (qua skill sa-1-context, chế độ go, hoạt động cost-risk) |
Bản đầu — Bước 5 (phần TCO) của sa-1-context. Tính chi phí 3 năm cho P2 (chính, theo DEC-06) và P1 (đối chiếu) theo 2 kịch bản tải (A — tải dự kiến, B — đỉnh flash sale/tăng trưởng, neo DRV-04). Tách 4 nhóm: hạ tầng AWS · license/SaaS · vận hành/nhân sự · chi phí một lần (xây dựng). Mọi con số hạ tầng có công thức + nguồn hoặc gắn ASM-nn kèm cờ "cần xác minh" theo D9. 8 khoản non-labor còn amount: null trong estimate.computed.json được xử lý: NL-01/NL-02 (hạ tầng AWS, OpenSearch) tính bằng công thức riêng của SA (mục đích khác ước lượng thầu); NL-03/04/05/07/08 chưa có cơ sở tính (phí giao dịch/vận chuyển/pentest/đào tạo phụ thuộc hợp đồng nhà cung cấp) — ghi OQ-014…OQ-017. Tiếp tục ngoại lệ gate DEC-01/03/04/05, ghi thêm DEC-07. Confidence 🔴 toàn tài liệu. |
DEC-07 |
Sơ đồ thắng về quan hệ và luồng (không có sơ đồ mới trong tài liệu này — xem sơ đồ khối P1/P2 ở
OPT §3). Bảng/văn bản thắng về ràng buộc và con số. Mâu thuẫn ngoài hai loại này là lỗi tài liệu (D12).
0. Ghi chú Preflight & ngoại lệ gate — tiếp nối CTX/OPT
Gate AG1 (PO + Tech Lead) chưa từng chạy cho dự án e-commerce; BA vẫn chưa ký G1 chính thức.
Người dùng (vai điều phối dự án chạy thử) tái khẳng định muốn tiếp tục sang phần TCO của
Bước 5 (sa-1-context) theo đúng ghi chú người duyệt của lượt chạy này.
DEC-07 (SA) — Tiếp tục chạy
sa-1-contextBước 5 (phầnTCO) cho e-commerce trong khi BA vẫn chưa qua G1 và AG1 vẫn chưa từng chạy — tiếp nốiDEC-01/03/04/05. Quyết định: Tiếp tục,Confidence 🔴cho toàn bộ con số (giả định tải + giả định đơn giá AWS) cho tới khi có số liệu tải thật (sau go-live) và báo giá AWS/đại lý chính thức. Người quyết: Điều phối dự án (đại diện PO, dự án chạy thử). Radar (ước lượng): ~3–4 (chi phí đảo ngược thấp — sửa lạiTCOkhi có số thật không tốn nhiều · bán kính ảnh hưởng:INF/ngân sách GĐ2 phụ thuộc con số này nhưng bản thân việc ghi tài liệu dưới ngoại lệ thì nhỏ · chưa chạm mộtQAScụ thể · không ràng buộc dài hạn · không tranh cãi mới, tiếp nối tiền lệ) → ghiDEC-nn, không cầnADR. Hệ quả nếu không chấp nhận ngoại lệ: dừng Bước 5, GĐ1 SA không đủ 4 artifact để audit AG1, chậm tiến độ chạy thử tương ứng thời gian BA/PO hoàn tất các điều kiện gate thật.
🔴 Lưu ý quan trọng cho người ký: đơn giá AWS dưới đây không phải báo giá thật — đây là
ước tính dựa trên tri thức bảng giá công khai của AWS (không truy vấn AWS Pricing Calculator hay
báo giá đại lý tại thời điểm chạy skill này), khu vực tham chiếu ap-southeast-1 (Singapore, gần
nhất với ràng buộc CON-03/ASM-04 cho tới khi OQ-007 xác nhận residency VN). Bắt buộc
chạy lại qua AWS Pricing Calculator hoặc xin báo giá đại lý AWS tại Việt Nam trước khi dùng các
con số này để duyệt ngân sách chính thức — xem ASM-11, OQ-013.
1. Tóm tắt cho người quyết định
| P2 — Kịch bản A | P2 — Kịch bản B | P1 — Kịch bản A | P1 — Kịch bản B | |
|---|---|---|---|---|
| Chi phí một lần (xây dựng, đã VAT) | 3.552,2 triệu | 3.552,2 triệu | 3.762,6 triệu | 3.762,6 triệu |
| OpEx hạ tầng AWS (3 năm) | 1.818,8 triệu | 4.425,8 triệu | 3.776,1 triệu | 7.339,2 triệu |
| License/SaaS (3 năm) | 349,5 triệu | 349,5 triệu | 409,5 triệu | 409,5 triệu |
| Vận hành/nhân sự (3 năm) | 5.400 triệu | 5.600 triệu | 6.750 triệu | 7.350 triệu |
| Đào tạo (một lần, Năm 1) | 50 triệu | 50 triệu | 200 triệu | 200 triệu |
| Tổng 3 năm (VND) | ≈ 11.170,5 triệu (~11,17 tỷ) | ≈ 13.977,5 triệu (~13,98 tỷ) | ≈ 14.898,2 triệu (~14,90 tỷ) | ≈ 19.061,3 triệu (~19,06 tỷ) |
So với CON-01 (ngân sách duyệt) |
❌ Không đối chiếu được — CON-01 mới có số lao động build (~3,76 tỷ, từ hồ sơ thầu), không có ngân sách vận hành 3 năm đã duyệt để so sánh (OQ-005 còn mở) |
🔴 Phát hiện quan trọng nhất của TCO này, cần trình PO ngay: con số duy nhất PO/tài chính
từng thấy (~3,76 tỷ VND, hồ sơ thầu) chỉ là chi phí xây dựng một lần. Chi phí vận hành 3 năm
(hạ tầng + license + con người) — phần mà mọi dự án thật sự phải trả sau go-live — lớn hơn
chi phí xây dựng ban đầu 2,1–4,0 lần tuỳ phương án/kịch bản. Đây chính xác là điều GUIDE.md
cảnh báo: "TCO ra con số quá lớn, khách sẽ sốc — đó là giá trị của TCO, không phải vấn đề của
nó." OQ-005 (ngân sách) cần được hỏi lại với con số full 3 năm này, không phải con số build.
P2 rẻ hơn P1 ở cả hai kịch bản (~2,7 tỷ ở kịch bản A, ~4,9 tỷ ở kịch bản B) — khớp hướng
khuyến nghị định tính của OPT (P2 ít managed component hơn, không cần cụm Kafka/MSK + OpenSearch
đa node chạy 24/7 bất kể tải).
2. Giả định tải — nền của mọi con số dưới đây
Dự án greenfield (CTX §4.1) — không có baseline tải thật. Toàn bộ số dưới đây là ASM-10,
suy từ DRV-04 ("hàng trăm nghìn SKU, hàng trăm nghìn–hàng triệu user, đỉnh hàng nghìn–chục
nghìn concurrent user mùa flash sale"), chọn cận dưới/giữa dải cho kịch bản A và cận dưới
của dải "chục nghìn" cho kịch bản B — không phải số đo được.
| Chỉ số | Kịch bản A (tải dự kiến) | Kịch bản B (đỉnh flash sale) | Nguồn |
|---|---|---|---|
| Người dùng hoạt động | 200.000 | 600.000 | ASM-10, suy từ DRV-04 |
| SKU | 300.000 | 500.000 (tăng trưởng) | ASM-10 |
| Giao dịch/ngày (trung bình) | 5.000 đơn | 15.000 đơn (≈ 625 đơn/giờ đỉnh × hệ số dồn) | ASM-10 |
| Giao dịch/giờ (đỉnh) | ~400 đơn/giờ | ~15.000 đơn/giờ (≈ 4,2 đơn/giây) | ASM-10, tương ứng "chục nghìn concurrent" của DRV-04 |
| Concurrent user (đỉnh) | 2.000 | 10.000 | ASM-10, cận dưới dải DRV-04 |
| Dung lượng dữ liệu năm 1 / 3 | ~50GB / ~110GB | ~80GB / ~200GB | ASM-10 |
| Tốc độ tăng dữ liệu | ~5GB/tháng | ~10GB/tháng | ASM-10 |
| Băng thông ra ngoài (egress qua CDN) | ~400GB/tháng | ~1.200GB/tháng (1,2TB) | ASM-10 |
🔴 ASM-10 — Chủ: PM/Tech Lead. Cách xác minh: đo lại sau 4–6 tuần soft-launch (khớp
DRV-02 §GOAL-01 của CTX), thay số giả định bằng số đo thật. Nếu sai lệch > 50%: toàn bộ bảng
chi phí hạ tầng bên dưới phải tính lại — đây là điểm nhạy cảm nhất của TCO, xem §8.
3. Chi phí hạ tầng AWS — theo phương án
Tất cả đơn giá dưới đây: ASM-11 — ước tính bảng giá công khai AWS, khu vực ap-southeast-1,
không tra cứu API Pricing thời gian thực, cờ 🔴 cần xác minh. Tỷ giá quy đổi dùng
ASM-12: 1 USD ≈ 25.000 VND (cần xác minh tỷ giá thật tại ngày duyệt ngân sách).
3.1 Đơn giá tham khảo dùng chung (ASM-11, tất cả 🔴 cần xác minh)
| Hạng mục | Đơn giá ước tính (USD) | Nguồn/ghi chú |
|---|---|---|
| ECS Fargate (Linux/x86) | $0,0466/vCPU-giờ · $0,0051/GB-giờ | Bảng giá công khai AWS Fargate, ap-southeast-1 |
RDS PostgreSQL Multi-AZ, db.r6g.xlarge (4vCPU/32GB) |
≈ $0,973/giờ | Ước tính ~2× đơn giá Single-AZ tương ứng |
RDS PostgreSQL Multi-AZ, db.t4g.medium (2vCPU/4GB) |
≈ $0,146/giờ | Ước tính, dùng cho DB nhỏ (Payment riêng, hoặc từng logic DB của P1) |
RDS PostgreSQL Multi-AZ, db.r6g.2xlarge (8vCPU/64GB) |
≈ $1,946/giờ | Ước tính, dùng khi scale DB chính P2 kịch bản B |
ElastiCache Redis cache.r6g.large |
≈ $0,252/giờ/node | Ước tính |
ElastiCache Redis cache.r6g.xlarge |
≈ $0,504/giờ/node | Ước tính, dùng kịch bản B |
Amazon MSK broker kafka.m5.large |
≈ $0,21/giờ/broker + $0,10/GB-tháng lưu trữ | Ước tính — chỉ P1 dùng, cụm tối thiểu 3 broker chạy 24/7 bất kể tải |
OpenSearch r6g.large.search |
≈ $0,167/giờ/node + $0,135/GB-tháng EBS | Ước tính — P1 dùng ngay từ đầu (3 node tối thiểu); P2 hoãn dùng Postgres FTS ở kịch bản A |
| SQS/EventBridge | $0,40/triệu request (SQS chuẩn) · $1,00/triệu event (EventBridge) | Ước tính — rẻ, rủi ro nằm ở throughput/độ trễ (ASM-07), không phải chi phí |
| S3 Standard | $0,025/GB-tháng | Ước tính |
| CloudFront (egress) | ≈ $0,085/GB | Ước tính, tier đầu |
| WAF | $5/tháng + ~$1/rule + $0,60/triệu request | Ước tính |
| ALB | $0,0225/giờ + LCU | Ước tính |
| NAT Gateway (2 AZ) | $0,045/giờ/gateway + $0,045/GB xử lý | Ước tính |
3.2 P2 — Modular monolith + managed AWS (phương án chính)
| Hạng mục | Cấu hình (A) | Tiền/tháng (A) | Cấu hình (B) | Tiền/tháng (B) |
|---|---|---|---|---|
| Compute (ECS Fargate) — monolith + Payment | ~4 tasks×1vCPU/2GB (monolith) + 2 tasks×0,5vCPU/1GB (Payment) | ≈ $207 | ~10 tasks×1vCPU/2GB + 4 tasks×0,5vCPU/1GB | ≈ $498 |
| CSDL (RDS) — 1 cụm chính + Payment riêng | r6g.xlarge Multi-AZ + t4g.medium Multi-AZ (Payment) |
≈ $817 | r6g.2xlarge Multi-AZ + 1 read replica + Payment r6g.large Multi-AZ |
≈ $2.470 |
| Cache | r6g.large × 1 node |
≈ $184 | r6g.xlarge × 1 node + 1 replica |
≈ $736 |
| Message broker (SQS/EventBridge) | ~750K msg/tháng | ≈ $2 | ~2,25M msg/tháng | ≈ $6 |
| Lưu trữ đối tượng (S3) | ~500GB | ≈ $12,5 | ~1,5TB | ≈ $38 |
| Load balancer/gateway (ALB) | ≈ $31 | ≈ $61 | ||
| Băng thông ra (CloudFront) | ~400GB | ≈ $34 | ~1,2TB | ≈ $102 |
| WAF | ≈ $25 | ≈ $35 | ||
| NAT Gateway | ≈ $85 | ≈ $125 | ||
| Backup & DR | Automated backup + cross-region snapshot (Payment) | ≈ $30 | ≈ $60 | |
Observability (log/metric/trace, ~25% hạ tầng — xem cảnh báo cost-model.md §3) |
≈ $357 | ≈ $1.033 | ||
| Môi trường non-prod (dev/stg, ~35% Production) | ≈ $624 | ≈ $700 | ||
| Cộng hạ tầng/tháng (Production + non-prod) | ≈ $2.409 | ≈ $5.862 | ||
Quy đổi VND/tháng (ASM-12) |
≈ 60,2 triệu | ≈ 146,6 triệu |
P2 3 năm (Năm 1 = 5 tháng vận hành sau go-live tháng 7; Năm 2 = 12 tháng; Năm 3 = 12 tháng
× 1,1 tăng trưởng, ASM-15):
| Kịch bản A | Kịch bản B | |
|---|---|---|
| Năm 1 (5 tháng) | 301,1 triệu | 732,8 triệu |
| Năm 2 (12 tháng) | 722,7 triệu | 1.758,6 triệu |
| Năm 3 (12 tháng × 1,1) | 795,0 triệu | 1.934,5 triệu |
| Tổng hạ tầng 3 năm | 1.818,8 triệu | 4.425,8 triệu |
3.3 P1 — Modular microservices theo SAD.md/hồ sơ thầu (đối chiếu)
| Hạng mục | Cấu hình (A) | Tiền/tháng (A) | Cấu hình (B) | Tiền/tháng (B) |
|---|---|---|---|---|
| Compute (ECS Fargate) — ~10 service × 2 task (HA) | 20 task × 0,5vCPU/1GB | ≈ $415 | scale ~40 task | ≈ $829 |
| CSDL (RDS) — ~10 logic DB Multi-AZ | 10 × t4g.medium Multi-AZ |
≈ $1.066 | 3 DB nâng r6g.large + 7 DB t4g.medium |
≈ $1.762 |
| Message broker (Kafka/MSK) — chạy 24/7 bất kể tải | 3 broker m5.large + 900GB lưu trữ |
≈ $550 | 6 broker + 1,8TB lưu trữ | ≈ $1.100 |
| Search (OpenSearch, dùng ngay từ đầu) | 3 node r6g.large.search + 300GB |
≈ $406 | 5 node + 500GB | ≈ $677 |
| Cache | r6g.large × 1 node |
≈ $184 | r6g.xlarge + 1 replica |
≈ $736 |
| Lưu trữ đối tượng (S3) | ~500GB | ≈ $12,5 | ~1,5TB | ≈ $38 |
| Load balancer/gateway | ≈ $31 | ≈ $61 | ||
| Băng thông ra (CloudFront) | ~400GB | ≈ $34 | ~1,2TB | ≈ $102 |
| WAF | ≈ $25 | ≈ $35 | ||
| NAT Gateway | ≈ $85 | ≈ $125 | ||
| Backup & DR (10 DB + 2 cụm) | ≈ $50 | ≈ $90 | ||
| Observability (~25%) | ≈ $715 | ≈ $1.389 | ||
| Môi trường non-prod (~40% — Kafka/OpenSearch tối thiểu vẫn cần ở Staging) | ≈ $1.429 | ≈ $2.777 | ||
| Cộng hạ tầng/tháng | ≈ $5.002 | ≈ $9.721 | ||
| Quy đổi VND/tháng | ≈ 125,0 triệu | ≈ 243,0 triệu |
P1 3 năm (cùng cách tính Năm 1/2/3 như P2):
| Kịch bản A | Kịch bản B | |
|---|---|---|
| Năm 1 (5 tháng) | 625,2 triệu | 1.215,1 triệu |
| Năm 2 (12 tháng) | 1.500,5 triệu | 2.916,2 triệu |
| Năm 3 (12 tháng × 1,1) | 1.650,5 triệu | 3.207,9 triệu |
| Tổng hạ tầng 3 năm | 3.776,1 triệu | 7.339,2 triệu |
🔴 Chênh lệch hạ tầng P1 so với P2 đến chủ yếu từ hai cụm chạy 24/7 bất kể tải (Kafka/MSK +
OpenSearch đa node) mà P1 phải có ngay từ ngày một, trong khi P2 hoãn OpenSearch và dùng
SQS/EventBridge managed (không cụm phải patch/scale) — đúng như nhận định định tính ở OPT §4.
4. License & dịch vụ mua ngoài
Không phương án nào cần license phần mềm lõi thương mại (P3 — mua nền tảng — đã bị loại ở
OPT §5). Các dòng dưới đây là công cụ/dịch vụ hỗ trợ vận hành.
| Hạng mục | Mô hình tính giá | Đơn giá ước tính | P2/năm | P1/năm | Nguồn |
|---|---|---|---|---|---|
| PagerDuty/OpsGenie (on-call) | Theo user | ~$21/user/tháng × 5 user | ≈ 31,5 triệu | ≈ 31,5 triệu | ASM-11, đề xuất minh hoạ ở docs/sections/09 §9.4.1 |
| Domain/SSL (ACM miễn phí + Route53) | Cố định | ~$15/năm domain + $6/tháng hosted zone | ≈ 5 triệu | ≈ 5 triệu | ASM-11 |
| SAST/SCA/APM tooling (SonarQube/Snyk/X-Ray) | Theo seat/gói | Gói nhỏ ước tính | ≈ 80 triệu | ≈ 80 triệu | ASM-11, docs/sections/09 §9.3.1 |
| Quản trị cụm Kafka/MSK bổ sung (Confluent Control Center hoặc tương đương) | — | — | N/A (không cần) | ≈ 20 triệu | Chỉ P1 cần — MSK cần công cụ giám sát cụm riêng |
| Cộng/năm | ≈ 116,5 triệu | ≈ 136,5 triệu | |||
| Cộng 3 năm | ≈ 349,5 triệu | ≈ 409,5 triệu |
🔴 Mô hình tính giá quan trọng hơn đơn giá — PagerDuty tính theo user, tăng cùng quy mô đội
vận hành; nếu OQ-008 (đội vận hành) trả lời số người lớn hơn 5, chi phí này tăng tuyến tính.
8 khoản non-labor trong hồ sơ thầu (NL-01…NL-08, estimate.computed.json) — đối chiếu:
| NL | Hạng mục | Xử lý trong TCO này |
|---|---|---|
| NL-01 | Hạ tầng cloud AWS năm đầu | Tính bằng công thức riêng ở §3 (không dùng số thầu, vì thầu chưa có số) |
| NL-02 | OpenSearch cluster | Tính trong §3 (P1: có ngay; P2: hoãn tới khi có bằng chứng cần) |
| NL-03 | Phí giao dịch VNPay/Momo | Chưa tính được — cần GMV (tổng giá trị giao dịch) giả định + biểu phí thật của VNPay/Momo, cả hai đều chưa có → OQ-014 |
| NL-04 | Phí Email/SMS | Chưa tính được — nhà cung cấp cụ thể chưa chốt (SAD.md §3.4) nên chưa có biểu phí → OQ-016 |
| NL-05 | Phí API GHN/GHTK | Chưa tính được — phí theo hợp đồng đơn vị vận chuyển, chưa có hợp đồng → OQ-015 |
| NL-06 | Domain/SSL/WAF | Tính trong §3 (WAF) và §4 (domain/SSL) |
| NL-07 | Pentest/ASV | Chưa tính được — cần báo giá nhà cung cấp pentest tại VN, SA không có cơ sở để tự ước lượng đáng tin cậy → OQ-017 |
| NL-08 | Đào tạo & tài liệu bàn giao | Trùng lặp một phần với §5 "Đào tạo" bên dưới (WBS-09 lao động đã tính trong chi phí xây dựng §6) — không cộng hai lần |
5. Vận hành
Kế thừa giả định "team MVP chuẩn" DEC-02 (🔴) — số người/kỹ năng thật chưa xác nhận
(OQ-008 còn mở). ASM-14: giả định 2 FTE Ops/SRE (P2) hoặc 2,5 FTE (P1, do nhiều service +
Kafka/OpenSearch cần vận hành hơn) ở mức lương DEVOPS theo rate card hồ sơ thầu
(75.000.000 VND/người-tháng).
| Hạng mục | Cách tính | P2/năm | P1/năm | Nguồn |
|---|---|---|---|---|
| Nhân sự vận hành (Ops/SRE) | P2: 2 FTE × 75tr × 12 · P1: 2,5 FTE × 75tr × 12 | 1.800 triệu | 2.250 triệu | ASM-14, DEC-02, bid-config.rateCard.DEVOPS |
| Trực sự cố / surge mùa cao điểm (kịch bản B, chỉ Năm 2/3) | Ước tính phụ phí on-call mùa flash sale | +200 triệu (2 năm) | +600 triệu (2 năm) | ASM-14 |
Đào tạo kỹ năng mới (sinh từ CON-05/OQ-010) |
P2: AWS ECS/SQS phổ biến hơn · P1: cần đào tạo Kafka/MSK/OpenSearch/EKS — kế thừa rủi ro năng lực team (ARISK-05) |
50 triệu (Năm 1, một lần) | 200 triệu (Năm 1, một lần) | ASM-14, tham chiếu OPT §4 tiêu chí "Rủi ro kỹ thuật" |
| Công cụ (đã tính ở §4) | — | (xem §4) | (xem §4) | |
| Cộng vận hành 3 năm (kịch bản A) | 5.400 triệu + 50 triệu = 5.450 triệu | 6.750 triệu + 200 triệu = 6.950 triệu | ||
| Cộng vận hành 3 năm (kịch bản B) | 5.400 + 200 + 50 = 5.650 triệu | 6.750 + 600 + 200 = 7.550 triệu |
🔴 CON-05/OQ-008 chưa trả lời số đội vận hành thật — nếu đội thật nhỏ hơn 2 FTE (VD PO chỉ
định 1 người kiêm nhiệm), dòng này giảm nhưng rủi ro không đáp ứng DRV-05 (99.9% uptime,
escalation 24/7) tăng — đây là đánh đổi PO/PM phải quyết, không phải SA tự chọn số nhỏ hơn cho
TCO đẹp hơn.
6. Chi phí xây dựng (một lần)
Lấy nền từ estimate.computed.json/40-financial-proposal.md §C2–C5 (lao động dự thầu). Vì
hồ sơ thầu ước lượng theo kiến trúc gốc kiểu P1 (Kafka/MSK, WBS-03 XL/high risk, 52 MD + 18,2 MD
dự phòng = 70,2 MD), P2 cần tách riêng: SQS/EventBridge managed nhẹ hơn đáng kể — ASM-13 ước
tính effort WBS-03 tương đương P2 chỉ bằng ~30% P1 (15,6 MD cơ sở + 20% dự phòng thấp hơn vì
rủi ro công nghệ managed thấp hơn = 18,7 MD), chưa qua ước lượng lại chi tiết của nhà thầu.
| Hạng mục | P1 (theo hồ sơ thầu, VND) | P2 (điều chỉnh theo ASM-13, VND) |
|---|---|---|
| Lao động (43 hạng mục WBS, 53,02 MM) | 3.420.500.000 | 3.420.500.000 − 191.200.000 (giảm WBS-03) ≈ 3.229.300.000 |
| VAT (10%) | 342.050.000 | 322.930.000 |
| Tổng (đã VAT) | 3.762.550.000 | 3.552.230.000 |
Chi tiết ASM-13 (công thức giảm WBS-03): P1 WBS-03 = 70,2 MD, đơn giá bình quân theo tỷ
trọng vai trò tham gia (PM 3,85% · SA 28,85% · BE 48,08% · DEVOPS 19,23%) ≈ 3.714.000 VND/MD ⇒
70,2 MD × 3.714.000 ≈ 260,7 triệu VND. P2 WBS-03 ước 18,7 MD cùng tỷ trọng ⇒ 18,7 × 3.714.000
≈ 69,5 triệu VND. Chênh lệch ≈ 191,2 triệu VND (chưa VAT), khớp hướng "-70,2 MD so với
P1" đã nêu ở OPT §6.
🔴 ASM-13 — Chủ: Tech Lead + PM. Cách xác minh: nhà thầu/đội thi công ước lượng lại WBS-03
riêng cho kiến trúc P2 (SQS/EventBridge) thay vì suy tỷ lệ %. Hệ quả nếu sai: chi phí xây dựng
một lần của P2 có thể lệch ±100–150 triệu VND so với số ở trên — không đổi kết luận "P2 rẻ hơn
P1" (chênh lệch hạ tầng 3 năm lớn hơn nhiều biên độ sai số này).
Effort nghiệp vụ (WBS-18…43) không đổi giữa P1/P2 (đã xác nhận ở OPT §6) — không lặp lại
bảng chi tiết ở đây, chỉ tham chiếu 40-financial-proposal.md §C2.
7. Tổng hợp 3 năm
| Nhóm | P2 — A | P2 — B | P1 — A | P1 — B |
|---|---|---|---|---|
| Hạ tầng | 1.818,8 triệu | 4.425,8 triệu | 3.776,1 triệu | 7.339,2 triệu |
| License | 349,5 triệu | 349,5 triệu | 409,5 triệu | 409,5 triệu |
| Vận hành (gồm đào tạo) | 5.450 triệu | 5.650 triệu | 6.950 triệu | 7.550 triệu |
| Xây dựng (một lần, Năm 1) | 3.552,2 triệu | 3.552,2 triệu | 3.762,6 triệu | 3.762,6 triệu |
| Tổng 3 năm | 11.170,5 triệu | 13.977,5 triệu | 14.898,2 triệu | 19.061,3 triệu |
Ghi chú khớp số (sửa tại v1.1): bảng §1 trước đây (v1.0) ghi nhầm dòng "Vận hành/nhân sự (3 năm)" của P2 — Kịch bản B là 5.800 triệu và Tổng 3 năm là 14.177,5 triệu (~14,18 tỷ) — đây là lỗi chép số ở §1, không phải sai lệch do làm tròn. Số đúng theo chi tiết cộng dồn ở §5 (2 FTE × 75tr × 12 × 3 năm = 5.400 triệu + surge kịch bản B 200 triệu = 5.600 triệu; cộng đào tạo 50 triệu = 5.650 triệu vận hành, khớp dòng "Vận hành (gồm đào tạo)" ở bảng này) là: dòng "Vận hành/nhân sự (3 năm)" P2-B = 5.600 triệu, Tổng 3 năm P2-B = 13.977,5 triệu (~13,98 tỷ). Bảng §1 đã được sửa lại khớp số này (xem Change Log v1.1). Các cột P2-A, P1-A, P1-B không bị ảnh hưởng bởi lỗi này.
8. Điểm nhạy cảm
| Giả định | Nếu sai ±50% thì tổng 3 năm lệch | Cách giảm bất định |
|---|---|---|
ASM-10 (kịch bản tải) |
Có thể đổi hẳn kịch bản áp dụng (A↔B), chênh lệch tới ~3–5 tỷ VND | Đo tải thật sau soft-launch 4–6 tuần (khớp DRV-02) |
ASM-11 (đơn giá AWS) |
±50% đơn giá ⇒ hạ tầng 3 năm lệch ±0,9–3,7 tỷ VND tuỳ phương án/kịch bản | Chạy AWS Pricing Calculator thật hoặc xin báo giá đại lý AWS tại VN trước khi duyệt ngân sách |
ASM-12 (tỷ giá USD/VND) |
Tỷ lệ thuận với toàn bộ dòng hạ tầng | Dùng tỷ giá bán ra của ngân hàng tại ngày lập ngân sách chính thức |
ASM-14 (số FTE vận hành) |
±50% ⇒ lệch ±2,7–3,5 tỷ VND (dòng chi phí lớn nhất trong toàn TCO) |
OQ-008 cần trả lời trước khi con số này được coi là đáng tin |
ASM-13 (tách effort xây dựng P2) |
±100–150 triệu VND (biên độ nhỏ so với tổng) | Ước lượng lại WBS-03 riêng cho P2 khi vào GĐ2 |
🔴 Dòng nhạy cảm nhất là ASM-14 (vận hành/nhân sự) — không phải hạ tầng AWS như trực giác
thường nghĩ. Nếu PO/PM chỉ có thể xác nhận 1 điều trước khi dùng TCO này, nên là OQ-008.
9. Điểm hoà vốn so với P0 (giữ nguyên hiện trạng)
Không áp dụng theo đúng nghĩa template — dự án là greenfield (CTX §4.1, OPT P0):
không có hệ thống/chi phí vận hành hiện tại để so sánh, và P0 ("không làm gì") không tạo ra
doanh thu để tính "tiết kiệm được". OPT §3 đã ghi rõ: hệ quả của P0 là định tính nghiêm
trọng nhất (chặn toàn bộ mô hình kinh doanh marketplace theo DRV-01) nhưng không quy ra
được một con số tiền cụ thể vì không có doanh thu mục tiêu bằng số trong nguồn hiện có. Đây là
giới hạn đã biết của lượt chạy này — không phải SA bỏ sót.
10. Giả định & Ngoài phạm vi
Giả định (tiếp số từ CTX §5/OPT §8, bắt đầu ASM-10):
| ID | Giả định | Nếu sai |
|---|---|---|
ASM-10 |
Kịch bản tải A/B (§2) phản ánh đúng độ lớn thực tế của DRV-04 |
Toàn bộ TCO phải tính lại theo kịch bản đúng |
ASM-11 |
Đơn giá AWS ap-southeast-1 ước tính ở §3.1 gần đúng với giá thật tại thời điểm duyệt ngân sách |
Chi phí hạ tầng 3 năm lệch tỷ lệ thuận — xem §8 |
ASM-12 |
Tỷ giá 1 USD ≈ 25.000 VND giữ ổn định trong 3 năm | Chi phí hạ tầng lệch theo biến động tỷ giá thật |
ASM-13 |
Effort xây dựng WBS-03 của P2 ước bằng ~30% P1 theo tỷ lệ suy diễn, chưa qua ước lượng lại chi tiết |
Chi phí xây dựng một lần của P2 lệch ±100–150 triệu VND |
ASM-14 |
Đội vận hành 2 FTE (P2)/2,5 FTE (P1) đủ đáp ứng DRV-05 (99.9% uptime, escalation 24/7) |
Nếu đội thật nhỏ hơn: rủi ro không đạt DRV-05; nếu lớn hơn: chi phí vận hành tăng — xem ARISK-08 |
ASM-15 |
Tăng trưởng chi phí hạ tầng Năm 3 so với Năm 2 là +10% (không có số liệu thị trường cụ thể, chỉ là hệ số làm tròn hợp lý) | Nếu tăng trưởng thật nhanh hơn (VD traffic tăng gấp đôi mỗi năm theo mô hình kinh doanh thành công), Năm 3 phải tính lại theo đúng kịch bản B hoặc kịch bản mới |
Ngoài phạm vi:
- Phí giao dịch VNPay/Momo, phí API GHN/GHTK, phí Email/SMS, phí pentest/ASV — không tính được
vì thiếu biểu phí/hợp đồng nhà cung cấp thật, xem
OQ-014…OQ-017. - Chi phí dịch thuật nội dung đa ngôn ngữ (
FR-15) — đã loại trừ tường minh trong40-financial-proposal.md§C1.1, không thuộcTCOkiến trúc này. - Ứng dụng di động native, affiliate marketing, subscription, hoá đơn điện tử tự động cho seller,
SSO doanh nghiệp — ngoài phạm vi MVP theo
40-financial-proposal.md§C1.1 vàCON-07. - Chi phí cơ hội của việc trì hoãn go-live (P0) — không quy ra được số, xem §9.
- Kịch bản lai (P2 + Kafka/MSK riêng cho hot-path nếu
POC-01fail) — chưa tính; nếuPOC-01(xemARISK_e-commerce_v1.0.md) thất bại,TCOP2 phải cộng thêm một phần chi phí MSK của P1 (§3.3, dòng "Message broker") cho riêng hot-path đặt hàng.
Tự chấm
① Bảng tự chấm Gate AG1 (workflow.md §2, cập nhật từ CTX/OPT)
| # | Tiêu chí | ☐/✅ | Ghi chú |
|---|---|---|---|
| 1 | CTX có DRV-nn |
✅ | Không đổi — xem CTX §2 |
| 2 | CTX có CON-nn |
✅ (với lưu ý) | Không đổi — xem CTX §3 |
| 3 | CTX mô tả hiện trạng as-is |
✅ (với lưu ý) | Không đổi — xem CTX §4 |
| 4 | OPT có ≥2 phương án, chấm điểm, nêu phương án bị loại |
✅ | Không đổi — xem OPT §4/§5 |
| 5 | TCO có chi phí 3 năm, ≥2 kịch bản tải |
✅ | Mới đạt ở lượt này — §1/§3/§7, 2 phương án × 2 kịch bản tải, tách 4 nhóm (hạ tầng/license/vận hành/xây dựng). Đơn giá AWS/tỷ giá/GMV nhiều chỗ 🔴 chưa xác minh (OQ-013…017) — đạt tiêu chí "có mặt và đủ cấu trúc", chưa đạt mức "số đã xác nhận thật" |
| 6 | ARISK có rủi ro cao kèm chủ + biện pháp |
✅ | Xem ARISK_e-commerce_v1.0.md §3 — 6 rủi ro 🔴, mỗi cái có chủ + biện pháp cụ thể (không phải "sẽ theo dõi") |
| 7 | Rủi ro cao chưa chứng minh được có kế hoạch POC | ✅ | Xem ARISK_e-commerce_v1.0.md §6 — POC-01/POC-02 có tiêu chí pass/fail viết trước |
Kết luận tự chấm AG1: 7/7 tiêu chí có mặt về mặt cấu trúc — GĐ1 SA nay đủ 4 artifact
(CTX/OPT/TCO/ARISK) để audit AG1. Nhưng chưa đủ điều kiện ký chính thức: nhiều dòng
vẫn ở Confidence 🔴 vì (a) BA chưa ký G1 thật, (b) OQ-005/006/007/008/010/012 (ngân sách,
deadline, residency, đội vận hành, năng lực team, thời điểm POC) còn mở, (c) OQ-013…017 (đơn
giá AWS, phí đối tác) mới phát sinh ở TCO. Khuyến nghị: chạy POC-01/POC-02 và trả lời tối
thiểu OQ-005/OQ-008/OQ-010 trước khi PO + Tech Lead ký AG1 thật.
② Checklist D1–D12 (design-rules.md)
| # | Mục | ☐/✅ | Ghi chú |
|---|---|---|---|
| D1 | Một ADR một quyết định | N/A | Tài liệu này không có ADR |
| D2 | Không NFR định tính | N/A | TCO không chứa QAS |
| D3 | Nêu phương án bị loại + lý do | N/A | Đã nêu ở OPT §5; TCO chỉ định lượng hai phương án còn lại |
| D4 | Sơ đồ khai báo mức + legend | N/A | Không có sơ đồ mới ở TCO |
| D5 | Interface có chủ/contract | N/A | Chưa tới ICD |
| D6 | Phụ thuộc ngoài process có timeout/retry | N/A | Chưa tới FAIL |
| D7 | Một chủ sở hữu dữ liệu | N/A | Chưa tới DAT |
| D8 | Ràng buộc có FIT hoặc nhãn khuyến nghị | N/A | Chưa tới AGD/FIT |
| D9 | Con số hạ tầng quy ra tiền + nguồn; INF khớp TCO |
✅ (với cờ cần xác minh) | Mọi dòng hạ tầng ở §3 có công thức + đơn giá + nguồn (ASM-11, region, ngày tham chiếu ghi rõ "cần xác minh"); INF (GĐ2) sẽ phải khớp con số này hoặc giải thích chênh lệch |
| D10 | Không quyết định thay người có thẩm quyền | ✅ | Ngân sách vượt/không vượt để PO quyết (§1 "phát hiện quan trọng nhất"); mọi giả định đơn giá/FX/team đều gắn OQ kèm hệ quả, không tự quyết |
| D11 | Có mục "Ngoài phạm vi" + ASM-nn |
✅ | §10 đầy đủ, ASM-10…15 có cách xác minh/hệ quả |
| D12 | Câu quy định thẩm quyền sơ đồ vs văn bản | ✅ | Có ngay sau Change Log |
③ Danh sách OQ mở kèm người phải trả lời, chặn gì
OQ-013…017 (mới, xem §4/§8) cộng các câu còn mở từ CTX/OPT (OQ-001, 003, 004, 005, 006, 007, 008, 010, 012 — xem sổ đầy đủ 00-index/OQ_e-commerce.md). Quan trọng nhất cho TCO:
OQ-005 (ngân sách — chặn việc coi con số TCO này là "đã duyệt hay chưa"), OQ-008
(đội vận hành — dòng nhạy cảm nhất, xem §8), OQ-013 (đơn giá AWS thật).
Nhắc: AG1 cần PO + Tech Lead ký (điền Approved by vào header OPT) trước khi chạy
/sa-2-architecture.