Phần mềm thường được deploy qua nhiều môi trường — như development, staging, và production — mỗi cái phục vụ một mục đích trên con đường từ code đến người dùng live. Đẩy code qua các môi trường phát hiện vấn đề trước khi chúng đến tay người dùng thực.
Các môi trường điển hình
DEVELOPMENT (dev) → nơi lập trình viên xây dựng và test (cục bộ hoặc môi trường dev chung);
không ổn định, thay đổi thường xuyên, thử nghiệm
STAGING (test/QA/pre-prod) → một môi trường GIỐNG PRODUCTION để test cuối cùng:
→ phản chiếu production (cùng config/hạ tầng càng sát càng tốt)
→ chạy integration/E2E test, QA, UAT trước khi phát hành
→ phát hiện vấn đề trong một môi trường an toàn, giống prod TRƯỚC KHI người dùng thực thấy
PRODUCTION (prod) → môi trường LIVE phục vụ người dùng thực:
→ ổn định là yếu tố quan trọng; thay đổi được thực hiện cẩn thận và giám sát
