Tôi biết chúng ta nên có ít nhất 3 môi trường khác nhau trong khi phát triển giải pháp:
- Phát triển : Các lập trình viên có thể tự do thay đổi và thúc đẩy thay đổi bất cứ lúc nào để nhanh chóng kiểm tra mã của họ và tích hợp với các thay đổi khác mà không sợ phá vỡ bất cứ điều gì - điều này được kết nối với cơ sở dữ liệu và dịch vụ TEST;
- UAT : Nên được các nhà phát triển đối xử tôn trọng, vì nó phải chứa một bản sao "tốt nhất có thể" của môi trường sản xuất liên quan đến phần cứng, với sự khác biệt là môi trường này được kết nối với cơ sở dữ liệu UAT với một bản sao dữ liệu sản xuất có thể chỉnh sửa - nó được sử dụng bởi cả nhóm Hỏi & Đáp và người dùng để xác thực các thay đổi sẽ được đưa vào sản xuất
- Sản xuất : Thỏa thuận thực sự.
Tôi đã xem xét câu hỏi này trên SoftwareEngineering , và câu hỏi này trên ServerFault , và chúng dường như khác nhau về ý nghĩa của Môi trường dàn dựng. Ngoài ra, trang Wikipedia về chủ đề này nói rằng:
Việc sử dụng chính của môi trường dàn là để kiểm tra tất cả các quy trình và quy trình cài đặt / cấu hình / di chuyển, trước khi chúng được áp dụng cho môi trường sản xuất. Điều này đảm bảo rằng tất cả các nâng cấp lớn và nhỏ cho môi trường sản xuất sẽ được hoàn thành một cách đáng tin cậy mà không có lỗi, trong thời gian tối thiểu.
Đối với tôi, Staging bằng UAT, nơi bạn phải kiểm tra ứng dụng và quy trình triển khai trước khi chuyển sang thế giới thực. Vì vậy, chúng tôi đẩy gói với các thay đổi sang UAT giống như cách chúng tôi đẩy sang sản xuất, hoàn toàn tự động và với tất cả các buổi lễ chúng tôi nên có với môi trường sản xuất.
Điều đó đang được nói, sự khác biệt thích hợp giữa môi trường UAT và môi trường Staging là gì?
-
EDIT: Nói rõ hơn, tôi đang nghĩ về Ứng dụng web, có thể là trang web internet hoặc trang web mạng nội bộ. Không có "mẫu" ứng dụng hoặc ứng dụng di động.