T
Trinh Digital
Giải pháp Công nghệ

Tech Stack Assessment: Tái cấu trúc giúp startup giảm 60% chi phí infrastructure

Trinh Digital · · 8 phút đọc

Case study tech stack này kể câu chuyện một startup SaaS tại TP.HCM — từ lúc chi 45 triệu/tháng cho infrastructure phục vụ 2,000 users (quá đắt!) đến khi tái cấu trúc tech stack, giảm còn 18 triệu/tháng và tăng tốc phát triển feature gấp 3 lần.

Bối cảnh

Về startup

  • Sản phẩm: SaaS quản lý nhân sự cho SME
  • Năm thành lập: 2024
  • Team: 4 developers, 1 designer, CEO
  • Users: 2,000 (50 công ty khách hàng)
  • MRR: 80 triệu VND/tháng
  • Vấn đề: Chi phí infrastructure quá cao, phát triển feature quá chậm

Tech stack ban đầu (over-engineered)

CTO ban đầu (đã nghỉ) thiết kế kiến trúc “enterprise-grade”:

Thành phầnCông nghệChi phí/tháng
FrontendReact + Redux + Storybook-
Backend5 microservices (Node.js)-
API GatewayKong$30
DatabasePostgreSQL (RDS r5.large)$200
CacheRedis (ElastiCache)$70
Message QueueRabbitMQ (EC2)$80
SearchElasticsearch (EC2)$150
MonitoringDatadog (5 hosts)$150
CI/CDJenkins (EC2)$50
Container orchestrationKubernetes (EKS)$150
LogsELK Stack$100
CDNCloudFront$20
Misc (NAT, ALB, etc.)AWS$100
Tổng infrastructure~$1,100/tháng (~28 triệu VND)
DevOps engineer (part-time)17 triệu VND/tháng
Tổng chi phí~45 triệu VND/tháng

Vấn đề cụ thể

1. Over-engineering cho quy mô hiện tại:

  • Kubernetes cho 5 microservices phục vụ 2,000 users — như dùng xe tải 40 tấn chở 1 kiện hàng
  • Elasticsearch cho search 50 công ty — đắt hơn so với PostgreSQL full-text search 100x
  • Message queue cho flow đơn giản không cần async processing

2. Tốc độ phát triển chậm:

  • 5 microservices = deploy 5 lần, test 5 lần, debug across 5 services
  • Mỗi feature mới: 60% thời gian setup infrastructure, 40% viết logic
  • DevOps bottleneck: 1 người quản lý Kubernetes, mọi thứ đi qua anh ta

3. Onboarding nightmare:

  • Dev mới mất 6 tuần hiểu architecture
  • Setup local development environment mất 2 ngày
  • Documentation hầu như không có

Đánh giá Tech Stack

Phân tích “cần vs có”

FeatureCần (2,000 users)Đang có
Compute2 small servers5 microservices + K8s
DatabasePostgreSQL nhỏPostgreSQL lớn + Redis + Elasticsearch
Message QueueKhông cầnRabbitMQ
MonitoringBasic (free tier)Datadog enterprise ($150/tháng)
CI/CDGitHub Actions (free)Jenkins (tự host, cần maintain)
ContainerDocker Compose đủKubernetes (quá phức tạp)
SearchPostgreSQL LIKE/FTSElasticsearch
API GatewayNginx đủKong (overkill)

Kết luận assessment

Hệ thống được thiết kế cho 100,000 users nhưng chỉ phục vụ 2,000 users. Chi phí infrastructure chiếm 56% MRR — quá cao (nên < 15%).

Giải pháp: Simplify

Tech stack mới

Thành phầnMới
Architecture5 Microservices1 Monolith (modular)
OrchestrationKubernetesDocker Compose
ComputeEKS + 5 EC21 EC2 t3.medium
DatabaseRDS r5.largeRDS t3.small
CacheElastiCache RedisIn-memory cache (Node.js)
SearchElasticsearchPostgreSQL Full-Text Search
QueueRabbitMQBull (Redis-based, chạy cùng app)
MonitoringDatadogCloudWatch + Sentry (free tier)
CI/CDJenkinsGitHub Actions (free)
API GatewayKongNginx (built-in)
LogsELK StackCloudWatch Logs

Chi phí mới

Hạng mụcChi phí/tháng
EC2 t3.medium (reserved 1 year)$20
RDS t3.small (reserved)$30
S3 + CloudFront$15
CloudWatch$10
Sentry (free tier)$0
GitHub Actions$0
Misc$10
Tổng infrastructure~$85/tháng (~2.1 triệu VND)
DevOps (không cần riêng nữa)0
Tổng~2.1 triệu VND/tháng

Giảm từ 45 triệu → 2.1 triệu/tháng = giảm 95%.

Quy trình migration (4 tuần)

Tuần 1: Merge microservices → monolith

  • Gộp 5 microservices thành 1 monolith modular (vẫn tách code theo module, nhưng deploy 1 app)
  • Giữ API interface y nguyên → frontend không thay đổi
  • Xóa inter-service communication (HTTP calls giữa services → function calls trong cùng app)

Tuần 2: Simplify infrastructure

  • Xóa Kubernetes, chuyển sang Docker Compose
  • Replace Elasticsearch → PostgreSQL FTS
  • Replace RabbitMQ → Bull queue
  • Replace Kong → Nginx

Tuần 3: Migrate data + testing

  • Migrate database sang instance nhỏ hơn
  • Full regression testing
  • Performance testing (đảm bảo không giảm performance)
  • Stress test 10x current load

Tuần 4: Cutover + monitoring

  • Switch DNS
  • Monitor intensively 1 tuần
  • Decommission old infrastructure
  • Update documentation

Kết quả

So sánh trước - sau

MetricTrướcSauCải thiện
Chi phí infrastructure/tháng45 triệu2.1 triệu-95%
Infrastructure/MRR ratio56%2.6%Healthy
Thời gian deploy25 phút3 phút-88%
Feature delivery/sprint2-37-8+180%
Onboarding dev mới6 tuần1 tuần-83%
Local dev setup2 ngày30 phút-97%
Thời gian debugTrung bình 4 giờ30 phút-87%

Tài chính 12 tháng

Hạng mụcCũ (12 tháng)Mới (12 tháng)
Infrastructure540 triệu25 triệu
DevOps engineer204 triệu0
Tổng tiết kiệm719 triệu VND/năm

Tốc độ phát triển

Sau khi simplify, team ship features nhanh gấp 3:

  • Tháng 1 sau migration: 8 features (trước: 3)
  • Tháng 2: 10 features + 1 major release
  • Tháng 3: Tích hợp payroll module — trước đây estimate 3 tháng, xong trong 3 tuần

MRR tăng 40% trong 3 tháng nhờ ship features nhanh hơn.

Bài học rút ra

1. Start simple, scale later

Microservices, Kubernetes, Elasticsearch — tuyệt vời cho Netflix, Google. Nhưng startup 2,000 users không phải Netflix. Monolith đơn giản là lựa chọn đúng cho 95% startups dưới 50,000 users.

2. Infrastructure cost nên < 15% MRR

Nếu chi phí infrastructure > 15% Monthly Recurring Revenue → đang over-spending. Startup giai đoạn đầu nên target 5-10%.

3. Đừng thuê “tech stack theo CV”

CTO ban đầu chọn Kubernetes, microservices, ELK Stack — vì muốn CV đẹp, không phải vì sản phẩm cần. Hỏi: “Tại sao chọn tech này?” — nếu câu trả lời không liên quan đến business requirement → red flag.

4. Đo trước, tối ưu sau

Đừng tối ưu performance khi chưa có vấn đề. 2,000 users trên 1 server $20/tháng chạy ngon lành. Tối ưu khi thực sự gặp bottleneck, không phải tối ưu vì “sợ một ngày nào đó.”

5. Simplicity = Velocity

Ít tools hơn = ít thứ phải maintain = nhanh hơn. Team 4 devs nên focus 100% vào business logic, không phải 60% cho infrastructure.

Khi nào CẦN microservices?

Simplify không có nghĩa microservices là xấu. Chuyển sang microservices khi:

Dấu hiệuNgưỡng
Team size> 15 developers
Codebase> 200K lines of code
Deploy frequencyCần deploy các module độc lập
Users> 50,000 concurrent
OrganizationalNhiều team làm cùng 1 codebase gây conflict

Trước ngưỡng đó → Monolith modular là lựa chọn tối ưu.

Trinh Digital Tech Stack Services

Tại Trinh Digital, chúng tôi giúp startup và SME:

  1. Tech Stack Assessment — Đánh giá stack hiện tại, tìm over-engineering
  2. Simplification — Tối ưu infrastructure, giảm chi phí
  3. Migration — Chuyển đổi tech stack an toàn
  4. Architecture Design — Thiết kế “right-sized” cho quy mô hiện tại + growth plan

FAQ — Câu hỏi thường gặp

1. Simplify xong, khi scale up thì sao?

Kế hoạch scale: 2K → 20K users: upgrade instance size (vertical scaling). 20K → 200K users: thêm read replicas + caching. > 200K users: bắt đầu tách service dần (strangler pattern). Mỗi bước chỉ mất 1-2 tuần.

2. Chi phí migration có đáng không?

Trong case study này: chi phí migration 80 triệu (4 tuần × 4 devs). Tiết kiệm 719 triệu/năm. ROI tháng đầu tiên: 800%. Rất đáng.

3. CTO mới sẽ muốn thay đổi tech stack, có nên?

Đừng cho phép thay đổi tech stack vì preference cá nhân. Yêu cầu business justification: giải quyết vấn đề gì? ROI bao nhiêu? Rủi ro migration? Nếu chỉ vì “Go nhanh hơn Node” mà chưa gặp performance issue → giữ nguyên.


Chi phí infrastructure đang cao bất thường? Liên hệ Trinh Digital để được đánh giá tech stack miễn phí và đề xuất tối ưu.

#refactor#startup#case study#tech stack
Chia sẻ: Z

Sẵn sàng chuyển đổi số cùng Trinh Digital?

Liên hệ ngay để nhận tư vấn miễn phí. Đội ngũ chuyên gia sẽ phân tích nhu cầu và đề xuất giải pháp tối ưu.

Zalo