Test bằng deploy

Lỗi thì xóa function rồi tạo lại, cũng nhanh mà, có 5 phút thôi!

Team không test local, cứ viết code xong là deploy lên AWS để check. Lambda fail? Xóa, tạo lại, deploy tiếp. Pipeline chậm, bug lọt, log thì như mê cung, mà dev vẫn bảo: “Test trên cloud cho chắc!”

Deploy lên đã, lỗi tính sau


Thực trạng: Test bằng deploy

Thực trạng:  

  • Không dùng tool local như sam local, serverless-offline, hay LocalStack.  
  • Test bằng cách deploy lên AWS, chạy thử API Gateway, xem log trên CloudWatch.  
  • Config không tách biệt giữa dev/staging/prod, dễ gây lỗi nhầm môi trường.

Hệ quả:  

  • Pipeline chậm: Mỗi lần test mất 5–10 phút để deploy.  
  • Bug lọt: Không test đầy đủ các case, lỗi chỉ phát hiện ở production.  
  • Tốn tiền: Deploy liên tục lên AWS làm tăng chi phí Lambda/S3.

Giải pháp: Test local trước

Để test hiệu quả:  

  • Dùng local emulation: Cài sam local invoke hoặc serverless-offline để chạy Lambda local.  
  • Tách config môi trường: Dùng biến môi trường riêng cho dev/staging/prod.  
  • Test đầy đủ: Viết unit test (Jest, Pytest) và integration test cho Lambda.

Ví dụ: Chạy Lambda local với SAM:

sam local invoke MyFunction -e event.json

🎯 Tóm lại: Test local tiết kiệm thời gian, tiền bạc, và giảm bug. Đừng biến AWS thành “sân chơi thử nghiệm” của team.

Post a Comment

Mới hơn Cũ hơn