Môi trường dàn dựng vs Môi trường sản xuất


80

Tôi làm việc cho một công ty mà chúng tôi xây dựng các ứng dụng doanh nghiệp, và chúng tôi duy trì ba môi trường: phát triển (hoặc dev ), dàn dựng (hoặc giai đoạn ) và sản xuất (hoặc sản ).

Ý nghĩa của dev là trực quan: đó là môi trường được sử dụng trong quá trình phát triển ứng dụng.

Sự khác biệt giữa môi trường dàn dựngsản xuất là gì?

Câu trả lời:


122

Đối với các công ty nhỏ hơn (không rõ mức độ lớn của bạn), ba môi trường (dev, giai đoạn, sản xuất) là phổ biến. Các công ty lớn hơn thường sẽ có môi trường QA giữa dev và giai đoạn.

Chúng thường bị hỏng như sau:

dev : Bản sao mã làm việc. Các thay đổi được thực hiện bởi các nhà phát triển được triển khai tại đây để tích hợp và các tính năng có thể được kiểm tra. Môi trường này được cập nhật nhanh chóng và chứa phiên bản mới nhất của ứng dụng.

qa : (Không phải tất cả các công ty sẽ có điều này). Môi trường đảm bảo chất lượng; điều này cung cấp một phiên bản ít thay đổi của ứng dụng mà người kiểm tra có thể thực hiện kiểm tra. Điều này cho phép báo cáo về một sửa đổi chung để các nhà phát triển biết liệu các vấn đề cụ thể được tìm thấy bởi những người thử nghiệm đã được sửa chữa trong mã phát triển hay chưa.

dàn dựng : Đây là ứng cử viên phát hành, và môi trường này thường là một tấm gương của môi trường sản xuất. Khu vực tổ chức chứa phiên bản "tiếp theo" của ứng dụng và được sử dụng để kiểm tra căng thẳng cuối cùng và phê duyệt khách hàng / người quản lý trước khi đi vào hoạt động.

sản xuất : Đây là phiên bản hiện đang được phát hành của ứng dụng, có thể truy cập được cho khách hàng / người dùng cuối. Phiên bản này tốt nhất là không thay đổi ngoại trừ trong quá trình phát hành theo lịch trình.


7
Điều này là đúng về phần mềm. Ngoài ra còn có dữ liệu: dev và qa được kết nối với cơ sở dữ liệu thử nghiệm để các nhà phát triển và người thử nghiệm không phải lo lắng về việc giới thiệu các thay đổi, trong khi dàn dựng và sản xuất sử dụng cơ sở dữ liệu sản xuất. Hãy nghĩ về một ngân hàng.
Juan Lanus

4
Có một khía cạnh khác: người dùng là ai? dev: các nhà phát triển; qa (tôi thích qc): người kiểm tra; dàn dựng và sản xuất: người dùng thực tế. Trong các ứng dụng kinh doanh với cơ sở dữ liệu trung bình, các nhà phát triển không được phép nhìn thấy một mình chạm vào cơ sở dữ liệu sản xuất, chúng được trang bị các phiên bản ẩn danh.
Juan Lanus

3
@JuanLanus: Thông thường, môi trường dàn dựng sẽ sử dụng bản sao dữ liệu sản xuất - bạn thường không muốn thay đổi dữ liệu sản xuất từ ​​dàn.
sleske

1
@JuanLanus: Xin lỗi, ý tôi là "bạn không muốn chỉnh sửa trong môi trường dàn dựng trong môi trường prod" - do đó, dàn dựng sử dụng bản sao dữ liệu sản xuất, nhưng (thường) là bản sao có thể chỉnh sửa.
sleske

2
Chúng tôi gọi qa 'test': dev (tôi), test (team), staging (client), prod (world)
Rudie

13

Tôi hơi ngạc nhiên khi một môi trường thử nghiệm cũng không có mặt, như là một vị trí để mã đi đến trước khi được quảng bá để dàn dựng.

Để trả lời câu hỏi:

Một môi trường sân khấu nên phản ánh môi trường sản xuất càng chặt chẽ càng tốt.

Nó được sử dụng để xác minh các quy trình triển khai - đảm bảo rằng khi mã được sản xuất sẵn sàng, nó có thể được triển khai mà không gây ra sự cố.

Đó là, mã đi đến giai đoạn - điều này được kiểm tra toàn diện và hồi quy để đảm bảo rằng việc triển khai đã diễn ra theo kế hoạch (và để giải quyết bất kỳ vấn đề nào nếu không).


1
Chính xác - nó tồn tại để đưa mã ra khỏi môi trường dev vào một môi trường được kiểm soát nhiều hơn, trong số những thứ khác, hiển thị bất kỳ sự phụ thuộc nào bị bỏ sót trong tài liệu, và bất kỳ 'nó hoạt động trên sự bối rối của máy chúng ta trên môi trường sống / prod.
Daniel Staple

Điều này không liên quan gì đến câu hỏi mặc dù ...
nbro

4

Môi trường sân khấu là một môi trường tiền sản xuất phản ánh sản xuất. Thông thường, nó có thể có một số dữ liệu sản xuất để một nhóm thử nghiệm bao gồm người dùng thực tế và người kiểm tra QA có thể xác nhận rằng cơ sở / dữ liệu mã được phát hành trước sẽ triển khai và hoạt động đúng trong môi trường giống như prod, thường thông qua các trường hợp sử dụng theo kịch bản và hồi quy xét nghiệm.

Như @Oded lưu ý, thông thường có môi trường QA mà người kiểm tra QA sử dụng để kiểm tra mã.


3

Kinh nghiệm của tôi với Chính phủ Hoa Kỳ / Bộ Quốc phòng CNTT là:

  1. PHÁT TRIỂN / KIỂM TRA dành cho nhà phát triển và nhà phát triển ứng dụng. Họ xây dựng và thử nghiệm các ứng dụng cách xa hệ thống doanh nghiệp.
  2. Khi các ứng dụng được hoàn thành, chúng sẽ được triển khai vào môi trường CNTT vào (các) máy chủ BAO BÌ.
  3. Từ thời điểm đó, các ứng dụng được hỗ trợ bởi CNTT, được chuyển sang STAGING (cho phép CNTT phát triển / kiểm tra hướng dẫn thực hiện, cấu hình, v.v.). Thử nghiệm người dùng có thể xảy ra ở giai đoạn này ở một mức độ nào đó để xác minh rằng ứng dụng sẽ hoạt động như mong đợi trong một hệ thống sao chép SẢN XUẤT.
  4. Nếu tất cả các kế hoạch kiểm tra đã hoàn thành và chúng tốt để thực hiện, ứng dụng sẽ được chuyển sang SẢN XUẤT và chuyển sang chế độ duy trì (nghĩa là vận hành và bảo trì hoặc O & M).
  5. Các bản cập nhật mới từ các nhà phát triển cũng sẽ được triển khai vào BAO BÌ và quá trình tiếp tục.

2
Chào mừng đến với lập trình viên. Trang web của chúng tôi tập trung vào các câu hỏi và câu trả lời chất lượng cao. Nó không giống như các diễn đàn điển hình. Xin vui lòng xem qua trung tâm trợ giúp để biết thêm thông tin. Tôi không thấy câu trả lời của bạn giải quyết bất kỳ điểm nào chưa được đưa ra bởi các câu trả lời khác cho câu hỏi này.

2

Là một nhà phát triển web, chủ yếu có ba môi trường để xem xét thực tế :

Sản xuất : Môi trường được định cấu hình để lưu trữ phiên bản phát hành cuối cùng của sản phẩm nhắm mục tiêu người dùng cuối. Nó được tối ưu hóa cho bảo mật và hiệu suất. Nó được lưu trữ trên một máy chủ trực tiếp. Nó đòi hỏi sự cảnh báo và hỗ trợ khẩn cấp. Nó là dữ liệu quan trọng. Do đó, dữ liệu của nó được sao lưu thường xuyên. Nó cũng liên quan đến quản lý rủi ro và khắc phục thảm họa. Môi trường sản xuất được cấu hình để hiển thị các lỗi thân thiện với người dùng cuối.

Phân đoạn : Môi trường được cấu hình để lưu trữ ứng cử viên phát hành của ứng dụng sau khi tuyên bố đóng băng mã. Nó nhắm mục tiêu người quản lý dự án / chủ sở hữu cùng với nhóm phát triển để thống nhất phạm vi của ứng cử viên phát hành. Nó liên quan đến đảm bảo chất lượng và đội ngũ phát triển để thực hiện các sửa chữa cuối cùng và trang bị nội thất cuối cùng trước khi phát hành sản xuất. Cách thực hành tốt nhất là bắt chước môi trường sản xuất bằng cách sử dụng dữ liệu mới nhất có sẵn từ một DB trực tiếp được sao chép từ môi trường sản xuất. Thông thường, môi trường dàn dựng chỉ có thể truy cập được bởi nhóm nội bộ và các bên liên quan, do đó, nó được bảo mật trên máy chủ công cộng hoặc được xuất bản trên môi trường mạng nội bộ nếu tất cả các bên liên quan có thể truy cập mạng cục bộ. Môi trường dàn dựng được cấu hình để hiển thị các lỗi kỹ thuật trung bình hoặc đầy đủ.

Phát triển : Môi trường riêng được cấu hình bởi một nhà phát triển duy nhất trên máy của anh ta để kiểm tra công việc của chính anh ta / cô ta trong một chu kỳ phát triển, thông thường, được gọi là chạy nước rút trong môi trường scrum. Môi trường phát triển được cấu hình để hiển thị đầy đủ các lỗi kỹ thuật.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.