Điểm dàn dựng là gì?


18

Tôi nghĩ rằng tôi đã làm việc này, nhưng sau khi đọc Giao hàng liên tục (cuốn sách tuyệt vời) tôi hơi bối rối. Họ nói về việc có máy chủ cho:

  • phát triển
  • nhiều hình thức kiểm tra tự động
  • thử nghiệm chấp nhận của người dùng (UAT) - tức là ngồi xuống với khách hàng và trình diễn cho họ và để họ thực hiện thử nghiệm thăm dò. Những người thử nghiệm trong nhà cũng có thể sử dụng thiết lập này để thử nghiệm thăm dò.
  • dàn dựng
  • sản xuất.

Tôi luôn nghĩ rằng việc dàn dựng là cung cấp chức năng UAT, nhưng dường như họ đã dàn dựng ở một cấp độ riêng biệt. Vậy trong sơ đồ đó, các máy chủ dàn sẽ cung cấp chức năng gì?


10
Tôi không thể nói tôi đồng ý với phương pháp đó. UAT phải luôn luôn được thực hiện trên các thông số kỹ thuật gần với hệ thống trực tiếp nhất có thể (ví dụ như dàn dựng). Tôi không thể đếm số lần chúng tôi đã thực hiện UAT và mọi người phàn nàn về các vấn đề tốc độ, mà chúng tôi phải giải thích hàng ngàn lần rằng "Hệ thống trực tiếp sẽ nhanh hơn". Và sau đó khi hệ thống trực tiếp KHÔNG nhanh hơn, do lỗi trong mã hoặc truy vấn SQL, bạn phải ăn các từ của riêng mình.
Mark Henderson

UAT = Kiểm tra chấp nhận người dùng, phải không?
Martin Thoma

Câu trả lời:


13

Dàn dựng sẽ đưa các hệ thống sản phẩm đầy đủ vào vị trí, nhưng chưa thực sự sử dụng chúng. Khi họ đi vào sử dụng sẽ là "sản xuất". Bạn nên đặt mọi thứ vào vị trí vì nó sẽ được sử dụng, kiểm tra, sau đó lật công tắc.

UAT thường sử dụng môi trường "thử nghiệm" khác biệt đáng kể so với phần cứng / phần mềm / cấu hình sẽ được sử dụng trong sản xuất.

Ví dụ: nơi tôi làm việc, chúng tôi có khách hàng kiểm tra mọi thứ trong môi trường VM chạy trên máy chủ của chúng tôi. Khi hệ thống của họ hoạt động, nó sẽ chạy trên phần cứng của họ, tại cơ sở của họ, có thể tích hợp với các hệ thống hiện có của họ; nó hoàn toàn không liên quan gì đến máy chủ hoặc môi trường thử nghiệm của chúng tôi (ngoại trừ mã và một số cấu hình đã được sao chép từ đó ...)


Thử nghiệm nhiều hơn thường xảy ra trên máy chủ dàn, không chỉ ở UAT - ngay trước khi đi vào sản xuất.
jftuga

3
@jftuga, xem câu cuối của đoạn đầu tiên ...
Chris S

@Chris S: Nếu tôi hiểu bạn một cách chính xác, thì không có thứ gọi là "máy chủ dàn" chỉ là một máy chủ sản xuất ngoài nhóm, hiện không phục vụ cho người dùng cuối. Điều đó có ý nghĩa và là một phương pháp tôi tuân theo, nhưng tôi không gọi những máy chủ đó là "máy chủ dàn dựng", chỉ là các máy chủ sản xuất (không có trong nhóm). Vì mọi nơi tôi từng làm việc sử dụng các máy chủ dàn đều có chúng như các máy chủ riêng biệt, tôi không nghĩ mô tả của bạn về máy chủ dàn là sử dụng tiêu chuẩn của thuật ngữ đó. Một ý tưởng tốt, nhưng không phải là "máy chủ dàn dựng" (theo kinh nghiệm của tôi, dù sao đi nữa).
iconoclast

1
@Brandon Theo kinh nghiệm của bạn thì "Staging Server" là gì? Đây có thể là một sự khác biệt trong khu vực, như "nảy" một máy chủ.
Chris S

Dường như với tôi để thay đổi theo tổ chức. Tôi đã thấy nó được sử dụng như một máy chủ UAT, như một máy chủ cho các nhà phát triển để đưa ứng dụng vào một môi trường được cho là giống hệt với sản xuất và có thể là những thứ khác. . tiếc là không.
iconoclast

17

Tôi làm việc trong nhóm quản lý phát hành tại một công ty internet rất lớn. Về cơ bản, chúng tôi sử dụng quy trình bạn đã nêu ở trên và chúng tôi đã chọn quy trình đó theo mục đích. Trong phương pháp của chúng tôi, dàn dựng đóng vai trò là một cơ chế phân nhánh cho cấp độ thử nghiệm cuối cùng trong sản xuất.

Rõ ràng bạn muốn thực hiện tất cả các thử nghiệm trước khi đi vào sản xuất, nhưng trong một môi trường rộng lớn, phức tạp với nhiều người dùng, đó là một mục tiêu rất khó đạt được. Đặc biệt, hầu như không thể tải phần mềm kiểm tra đầy đủ trong QA. Kiểm thử chức năng dễ dàng tự động hóa hơn nhiều so với kiểm tra tải. Khi bạn có hàng ngàn người dùng đánh vào máy chủ của mình, mọi thứ sẽ thất bại theo những cách kỳ lạ và khó dự đoán.

Vì vậy, đây là những gì chúng ta làm:

  • Phát triển
    • bao gồm tích hợp liên tục và kiểm tra tự động
  • thử nghiệm phát hành
    • nhóm của tôi phân tích bản phát hành
    • xem lại nhật ký cài đặt
    • kiểm tra rollback
  • QA
    • kiểm tra chấp nhận người dùng

Đó là điểm mà chúng tôi phân nhánh giữa dàn dựng và sản xuất. Chúng tôi sử dụng mô hình xe lửa để phát hành, với một chuyến tàu mới bắt đầu cứ sau vài tuần. Các chuyến tàu được đánh số chẵn đi đến các máy chủ dàn (đang trong quá trình sản xuất). Tàu số lẻ không.

Ở giữa các chuyến tàu chẵn, các nhà phát triển có khả năng đẩy các thay đổi riêng lẻ đến các máy chủ dàn ( sau khi những thay đổi đó đã được kiểm tra bởi QA). Điều này cho phép họ xác nhận rằng phần mềm của họ hoạt động như mong đợi trong môi trường sản xuất thực. Điều này thường được dành riêng cho các thành phần được coi là có rủi ro cao hơn, chúng tôi không đẩy từng phần nhỏ để dàn dựng.

Sau đó, mọi người hiểu rằng khi chuyến tàu chẵn tiếp theo bắt đầu, nó sẽ xóa sạch những gì trên máy chủ dàn dựng và đưa chúng trở lại đường cơ sở của tàu. Các nhà phát triển đảm bảo rằng các thay đổi của họ đã được đưa lên tàu hoặc quyết định rằng họ chưa sẵn sàng để sử dụng chung, trong trường hợp đó, những thay đổi đó sẽ bị xóa trên các máy chủ dàn dựng.

Tóm lại, câu trả lời ngắn gọn (ít nhất là đối với chúng tôi) là không thể kiểm tra hoàn toàn các hệ thống phức tạp trong QA. Dàn dựng cung cấp một cách an toàn để làm thử nghiệm sản xuất hạn chế.

Trên một lưu ý liên quan, đây là các slide của tôi từ một bài thuyết trình tôi vừa trình bày về cách quá trình phát hành của chúng tôi hoạt động.


5

Giải thích đơn giản nhất cho việc dàn dựng là kiểm tra quy trình triển khai của bạn và kiểm tra bằng cách sử dụng nguồn dữ liệu thực. Một số hệ thống kết hợp dàn dựng với môi trường thử nghiệm của chúng, nhưng đối với các hệ thống quy mô lớn, quy trình triển khai có thể rất phức tạp hoặc chúng có thể là các bước kiểm tra bổ sung cần thiết khi bạn kết nối với nguồn dữ liệu trực tiếp / sản xuất. Trong những trường hợp này, môi trường dàn cho phép bạn kiểm tra quy trình triển khai của mình và kiểm tra các lỗi vào phút cuối bằng cách sử dụng dữ liệu trực tiếp, và sau đó khi mọi thứ đã được xác minh là hoạt động, bạn có thể nhanh chóng chuyển môi trường sân khấu sang môi trường sản xuất.

Một ví dụ về điều này sẽ là Windows Azure, cần 5-25 phút để triển khai phiên bản mới, nhưng bạn có thể triển khai đến môi trường dàn dựng, thực hiện các thử nghiệm và sau đó trao đổi ngay lập tức môi trường sản xuất và dàn dựng .


0

Tôi vừa xem qua bài viết này về môi trường dàn dựng nói rằng

Dàn dựng là nơi bạn xác nhận những điều chưa biết của hệ thống của bạn.

Bài viết rất đáng để đọc một cách đầy đủ.

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.