"생산 준비"정의


25

나는 이것에 대해 잠시 동안 궁금했다. "제작 가능"또는 그 변형이 정확히 무엇을 의미합니까? 가장 최근에는 sqlite에 대한 정보를 찾고 있었고 많은 사람들이 sqlite가 생산 준비가되어 있지 않다고 제안하는 이 스레드를 발견 했습니다 .

개발 / 테스트와 프로덕션의 차이점을 알고 있습니다. 생산에 대한 나의 정의는 고객에게 제공되거나 프로그래머가 아닌 사람들이 사용할 것입니다.

그러나 생산 준비로 정의되지 않은 품목이 많은 것 같습니다. 그러나 실제로는 완벽하게 적합 할 수 있으며 사람들은 sqlite, python, non-MS 제품 등과 같은 사전 예방 조치를 취합니다.

소규모 사무실과 엔터프라이즈? 단일 사용자 대 다중 사용자? 클라이언트 대 서버? 선은 어디에서 그리나요?


2
"내 컴퓨터에서 작동합니다."?
Rook

2
코드를 출하 할 때의 코드 상태입니다.
길버트 르 블랑

답변:


41

당신이 누구인지에 따라 다릅니다.

"생산 준비"에 대한 프로그래머의 정의 :

  • 그것은 작동한다
  • 프로젝트 요구 사항을 충족
  • 그 디자인은 잘 생각되었습니다
  • 안정적입니다
  • 유지 관리가 가능합니다
  • 확장 가능
  • 문서화되어 있습니다

"생산 준비"에 대한 경영진의 정의 :

  • 그것은 작동한다
  • 이익이 될거야

이 오래된 질문을 다시 해치게해서 미안하지만, 나는 그 문제를 겪고 저항 할 수 없었습니다.


내가이 목록에 추가 할 큰 것은 .. 무언가가 깨질 때 시스템은 그것을 알아낼 수있는 충분한 정보를 제공한다.
ShaneC

잊지 말고 ops 사람들의 정의 : 현재 모니터링, 잘 문서화되고 쉬운 업데이트 경로, 릴리스 계획, 보안, 성능, 자동화 등 ... 일부는 "프로젝트 요구 사항"및 "유지 관리 가능"이라는 요점에이를 수 있습니다. 당시에는 사람들의 관점이 누락되었습니다. (Ops 사람들을 통해 실행되는 소프트웨어에만 해당)
Christian

6
오늘 이것을 발견했고, 나는 관리 단락에서 "그것은 실행된다"부분을 삭제함으로써 그 대답을 바꾸고 싶어한다 ;-)
Doc Brown

8

일반적으로 "X는 프로덕션 준비 상태가 아닙니다"는 기능 누락, 안정성 및 / 또는 확장성에 문제가있어 덜 까다로운 시나리오에는 사용할 수 있지만 대규모 배포 (엔터프라이즈 및 인터넷 수준 배포)에는 실패 할 수 있음을 의미합니다.


1

"생산 준비"에 사용할 수있는 많은 정의가 있습니다.

내 개인적인 것들이 아래에 나열되어 있으며 모두 실용적 이며 상황에 따라 매우 의존적입니다. 일부 상황에서는 동일한 정확한 솔루션이 "생산 준비"된 것으로 간주 될 수 있지만 다른 상황에서는 동일한 솔루션이 문자 그대로 " 내 시체를 통해 생산 준비 완료. "

아래의 정의는 모두 "생산"이 "일부 심각한 결과는 제품의 성공적인 운영에 달려 있음"이라는 맥락을 가지고 있다고 가정합니다.

  • 다시 말해, "네바다에서 가장 성장하기 좋은 난초"무료 포럼을 운영하는 소프트웨어는 애드 센스 수익으로 월 $ 3를 벌어들이는 생산 환경을 벗어나는 것 "이라는 맥락에서 우주 왕복선 펌웨어는 그와 같은 맥락에 있습니다.

  • 규모가 다른 모든 것, 약간 회색 인 것 (예 : 학문적 연구를 수행하는 일부 소프트웨어)은 일반적인 상황에서 중단 될 경우 명백한 생산 영향이 없으며 다른 한편으로 수조 달러의 정치적 결정은 다음과 같습니다. 특정 연구에 기초하여 정부에 의해 만들어 짐).

내가 지금 생각해 낼 수있는 2 가지 정의는 다음과 같습니다.

  1. 표준 위험 분석 하에서 물건이 파손될 때 재료 손실을 암시하는 목적으로 사용할 수 있습니다.

    이것은 파손 / 버그의 부족을 보장하는 것이 아니며 소프트웨어가 그렇게 할 수는 없지만 의도 한 목적의 안정성에 대한 합리적인 수준의 확실성입니다.

    예를 들어이 솔루션을 사용하면 파손으로 인한 잠재적 손실의 크기에 파손 가능성을 곱한 것보다 더 큰 이점이 있습니다.

    따라서 Java의 악명 높은 "원자력 발전소에는 사용하지 않음"면책 조항.

  2. 동료들이 실사를 통과했을 것으로 합리적으로 예상 될 수 있습니다.

    예를 들어, 소송의 경우, 해당 분야의 N 명의 무작위 전문가가 "이러한 세부 정보를 제공 받았습니까?이 생산이 준비 되었습니까?" 상황에 따라 합리적으로 만들 수있는 조사 및 작업 노력을 바탕으로 준비합니다. 10 %가 넘는 테스트 사례를 작성하지 못하면 실사에 실패합니다. gcc 컴파일러에서 이전에 알려지지 않은 버그로 인해 프로그램이 실패한 경우, 소프트웨어가 해당 버그조차도 잡아 내야하는 수준의 정밀한 조사가 필요한 생명에 중요한 무언가를 실행하지 않으면 실패하지 않았을 것입니다.


0

SQLite는 "필수"로 간주되는 많은 기능없이 명시 적으로 설계되었으므로 프로덕션 데이터베이스에 사용되지 않습니다. 예를 들어, 잠금은 전체 데이터베이스에 영향을 미치며 외래 키는 없으며 SQLite3까지는 데이터 유형이 없었습니다.

더 일반적으로, 이는 개발중인 매우 적은 수의 사용자 (1-5)에게 잘 작동하는 시스템이 더 많은 부하에 노출되면 충돌하고 타는 것을 의미합니다.


응용 프로그램이 사용되는 환경에 따라 달라집니다. SQLite 예제로 돌아가서 클라이언트가 하나 뿐인 경우 프로덕션 환경에서 사용하기에 적합합니다. Mac OS X은 CoreData 프레임 워크를 통해 SQLite를 광범위하게 사용합니다. 사용자의 iTunes 음악 데이터베이스 및 iMail 편지함과 같은 것을 처리한다고 생각합니다. 실제 클라이언트 서버 데이터베이스처럼 사용하지 마십시오.


0

질문의 후반부에서 제안했듯이 "Production Ready"는 반드시 배포 크기를 정의하는 것이 아니라 의도 된 용도 및 요구 사항에 적합합니다. 예를 들어 단일 사용자 클라이언트 앱의 경우 SQLite가 프로덕션 준비 상태 일 수 있습니다. 의도 한 시장은 대부분 앱 또는 시스템이 앱 또는 시스템을 사용할 준비가되었는지를 결정합니다.


0

우리가 생산에 제공 할 빌드에 대한 내부 정의는 매우 간단합니다 ...

  • 심각도 1 문제는 눈에 띄지 않습니다. 과,
  • "알려진 배송 가능"으로 표시되지 않은 심각도 2 문제가 없습니다.

KS 결정은 본인과 다른 사람이 결정합니다.


-2

글쎄, 내 생산 준비는 경영진에 의해 서명되었다. 우리가 p 단어를 말하기 전에 실행, 요구 사항 또는 확장 성 등이 이미 충족되었습니다. 사인 오프는 관리 관점에서 상호 합의 된 종료점입니다. 추신. 나는 sev 4 버그가 열려있는 프로덕션 준비를 고려하지 않을 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.