Xác định những sản phẩm sẵn sàng sản xuất


25

Tôi đã tò mò về điều này trong một thời gian. Chính xác nghĩa là "sẵn sàng sản xuất" hoặc các biến thể của nó là gì? Gần đây nhất tôi đã tìm kiếm thông tin về sqlite và tìm thấy chủ đề này , nơi nhiều người cho rằng sqlite chưa sẵn sàng để sản xuất.

Tôi biết sự khác biệt giữa phát triển / thử nghiệm và sản xuất; định nghĩa của tôi về sản xuất là bất cứ điều gì được cung cấp cho khách hàng hoặc sẽ được sử dụng bởi những người không lập trình.

Tuy nhiên, dường như có nhiều mặt hàng không được xác định là sẵn sàng sản xuất. Nhưng trong thực tế, chúng có thể hoàn toàn phù hợp và mọi người chỉ có một định kiến ​​chống lại chúng, ví dụ như sqlite, python, các sản phẩm không phải MS, v.v.

Văn phòng nhỏ so với doanh nghiệp? Người dùng đơn so với đa người dùng? Khách hàng so với máy chủ? Bạn ve con đương nay ở đâu vậy?


2
"Nó hoạt động trên máy của tôi."?
Rook

2
Mã trạng thái khi đến lúc gửi mã.
Gilbert Le Blanc

Câu trả lời:


41

Phụ thuộc vào bạn là ai.

Định nghĩa của lập trình viên về "sẵn sàng sản xuất":

  • nó chạy
  • nó đáp ứng yêu cầu của dự án
  • thiết kế của nó đã được nghĩ ra
  • nó ổn định
  • nó có thể duy trì
  • nó có thể mở rộng
  • nó được ghi lại

Định nghĩa của ban quản lý về "sẵn sàng sản xuất":

  • nó chạy
  • nó sẽ mang lại lợi nhuận

Xin lỗi để làm lại câu hỏi cũ này, nhưng tôi đã tình cờ gặp nó và không thể cưỡng lại.


Một điều lớn tôi sẽ thêm vào danh sách này là .. khi một cái gì đó phá vỡ hệ thống cung cấp đủ thông tin mà bạn có thể tìm ra nó.
ShaneC

Và đừng quên, định nghĩa của ops peoples: Giám sát hiện tại, đường dẫn cập nhật được ghi chép tốt và dễ dàng, kế hoạch phát hành, bảo mật, hiệu suất, tự động hóa, ... Một số có thể đặt nó theo "yêu cầu dự án" và "có thể bảo trì" của bạn, nhưng hầu hết của thời gian, quan điểm của người ops là mất tích. (Chỉ áp dụng cho phần mềm chạy qua người ops)
Christian

6
Tìm thấy điều này ngày hôm nay, và tôi muốn thay đổi câu trả lời đó bằng cách xóa phần "nó chạy" khỏi đoạn quản lý ;-)
Doc Brown

8

Nói chung, "X không sẵn sàng sản xuất" có nghĩa là có vấn đề với các tính năng bị thiếu, tính ổn định và / hoặc khả năng mở rộng, do đó nó có thể sử dụng cho các kịch bản ít đòi hỏi hơn nhưng có thể thất bại đối với việc triển khai ở quy mô lớn (Triển khai ở cấp độ Doanh nghiệp và Internet).


1

Có rất nhiều định nghĩa có thể được sử dụng cho "sẵn sàng sản xuất".

Những cái riêng của tôi được liệt kê dưới đây - và tất cả chúng đều hơi thực tế và rất phụ thuộc vào bối cảnh - trong một số bối cảnh, giải pháp chính xác tương tự có thể được coi là "sẵn sàng sản xuất" trong khi trong một bối cảnh khác, giải pháp tương tự - đôi khi theo nghĩa đen - là " sản xuất sẵn sàng trên xác chết của tôi ".

Các định nghĩa dưới đây đều cho rằng "sản xuất" có bối cảnh "một số kết quả nghiêm trọng phụ thuộc vào việc vận hành thành công sản phẩm của anh ấy".

  • Nói cách khác, phần mềm chạy diễn đàn miễn phí "tốt nhất để phát triển ở Nevada" của bạn kiếm được 3 đô la / tháng doanh thu AdSense nằm ngoài bối cảnh sản xuất ", trong khi phần mềm Space Shuttle chắc chắn trong bối cảnh đó.

  • Mọi thứ khác ở quy mô, với một số thứ hơi xám (ví dụ, một số phần mềm thực hiện nghiên cứu học thuật - một mặt không có tác động sản xuất rõ ràng nếu nó bị phá vỡ trong một tình huống chung; mặt khác, các quyết định chính trị trị giá hàng nghìn tỷ đô la là được thực hiện bởi các chính phủ trên cơ sở một số nghiên cứu cụ thể).

2 định nghĩa tôi có thể đưa ra bây giờ là:

  1. Có thể được sử dụng cho các mục đích, khi mọi thứ bị phá vỡ, ngụ ý tổn thất vật chất, theo phân tích rủi ro tiêu chuẩn.

    Điều này không có nghĩa là đảm bảo thiếu sự cố / lỗi - không phần mềm nào có thể làm được điều đó - nhưng mức độ chắc chắn hợp lý về tính ổn định cho mục đích đã định.

    Ví dụ, lợi ích của việc sử dụng giải pháp này lớn hơn mức độ tổn thất tiềm năng từ sự phá vỡ nhân với xác suất nó sẽ phá vỡ.

    Do đó, từ chối trách nhiệm "không được sử dụng trong các nhà máy điện hạt nhân" của Java.

  2. Có thể dự kiến ​​một cách hợp lý là đã vượt qua Do siêng năng bởi các đồng nghiệp của bạn.

    Ví dụ: nếu trong trường hợp khởi kiện, một nhóm N chuyên gia ngẫu nhiên từ lĩnh vực cụ thể của bạn được hỏi "được cung cấp các chi tiết này, sản phẩm này đã sẵn sàng chưa?", Bạn có chắc chắn rằng hầu hết các chuyên gia như vậy sẽ đồng ý với bạn rằng đó là sẵn sàng, dựa trên những nỗ lực điều tra và làm việc mà bạn có thể thực hiện một cách hợp lý trong hoàn cảnh. Nếu bạn không viết được hơn 10% trường hợp kiểm tra, bạn đã thất bại do siêng năng. Nếu chương trình của bạn không thành công do lỗi không xác định trước đó trong trình biên dịch gcc, có lẽ bạn đã không thất bại trừ khi phần mềm của bạn đang chạy thứ gì đó quan trọng đến mức cần phải xem xét mức độ cần thiết để bắt được ngay cả lỗi đó.


0

SQLite không được sử dụng cho cơ sở dữ liệu sản xuất vì nó được thiết kế rõ ràng mà không có nhiều tính năng được coi là "bắt buộc". Ví dụ: khóa ảnh hưởng đến toàn bộ cơ sở dữ liệu, không có khóa ngoại và cho đến khi SQLite3 thậm chí không có bất kỳ loại dữ liệu nào.

Tổng quát hơn, điều đó có nghĩa là một hệ thống hoạt động tốt đối với một số lượng rất nhỏ người dùng (1-5) đang phát triển sẽ bị sập và cháy khi tiếp xúc với tải nặng hơn.


Tôi nên đề cập rằng điều này phụ thuộc vào môi trường mà một ứng dụng cũng được sử dụng. Quay trở lại ví dụ SQLite, thật hoàn hảo để sử dụng trong sản xuất nếu chỉ có một khách hàng. Mac OS X sử dụng SQLite rộng rãi thông qua khung CoreData - Tôi tin rằng nó xử lý những thứ như cơ sở dữ liệu âm nhạc iTunes của người dùng và hộp thư iMail. Đừng cố sử dụng nó như một cơ sở dữ liệu máy khách-máy chủ thực sự.


0

Như bạn đề xuất trong phần sau của câu hỏi, "Sẵn sàng sản xuất" không nhất thiết là một định nghĩa về quy mô triển khai, mà là nó phù hợp với mục đích sử dụng và yêu cầu của nó. Ví dụ: đối với ứng dụng khách một người dùng, SQLite có thể đã sẵn sàng để sản xuất. Thị trường dự định thường sẽ xác định xem một ứng dụng hoặc hệ thống đã sẵn sàng để sử dụng ứng dụng hay hệ thống đó.


0

Định nghĩa nội bộ của chúng tôi về một bản dựng mà chúng tôi sẽ chuyển đến sản xuất rất đơn giản ...

  • Không có vấn đề nghiêm trọng 1 là nổi bật; và,
  • Không có vấn đề Severity 2 nào nổi bật mà không được đánh dấu "Đã biết Shippable"

Quyết định của KS được đưa ra bởi tôi và một người khác.


-2

Vâng, tôi sẵn sàng sản xuất, nó đã được ban quản lý ký. Nó chạy, đáp ứng các yêu cầu hoặc khả năng mở rộng của nó, vv đã được đáp ứng trước khi chúng ta thậm chí có thể nói từ p. Đăng xuất là một điểm thoát được thỏa thuận lẫn nhau từ quan điểm quản lý. Thi thiên Tôi sẽ không xem xét bất cứ điều gì sản xuất đã sẵn sàng khi có 7 4 lỗi còn mở.

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.