어떤 종류의 보호는 당신이 사용하는 피로 의도하지 않은 변경사항을 생산 환경?

StackOverflow https://stackoverflow.com/questions/956428

문제

를 가지고 있지 않기 때문에 우리는 좋은 준비 환경을 우리는 종종하는 디버그 문제에 우리의 생산 시스템입니다.우리는 웹 응용 프로그램,데이터베이스 서버입니다.

어떤 종류의 보호는 당신이 사용하는 피로 의도하지 않은 변경사항을 생산할 때 환경이었는지 설명하려고 노력합니다.


편집:

응용 프로그램은 매우 복잡한 B2B 수직 웹 응용 프로그램입니다.있는 데이터의 많은 참여합니다.일부 테이블에 100 만 달러 기록합니다.


편집:

준비 환경에 우리는 가지지 않는 장소에서 능력을가지고 거울을 생산합니다.도 있 수백 기가 바이트의 데이터 파일을 참여 외에 실제 데이터베이스 데이터입니다.


편집:

우리가 사용하여 제어 소스 코드는 아니지만 저장되는 절차가 있습니다.거기에 몇 가지 오래 된 저장된 절차에 원본을 제어 하지만 아무도 유지는 더 이상 업데이트.

주요 관심사는 데이터베이스의 데이터 파일 시스템입니다.

BTW,나는 고문에 이 회사는 실제 직원입니다.

도움이 되었습니까?

해결책

가장 직접적인 대답은 "그렇게하지 마십시오."입니다.

다른 팁

소스 제어. 돌이킬 수 없을 정도로 잘못 될 때 롤백과 같은 것은 없습니다. 또한 DIFF는 다른 생산 시스템에 대한 변경 사항을 복제하는 데 도움이 될 수 있습니다.

새로운 생산 출시 이동을 통해 우리의 시스템들,프로그래머와 개발자만 요청할 수 있습을 그들의 새로운 시스템이 작동되지 않을 살고,승인이 필요한뿐만 아니라,우리는 각 변경되었습 테스트되었습니다(을 포함하여 스냅샷의 모든 테스트에서 이 릴리스의 생산에서 요청).

우리는 계속 이전 생산 자료에 대한 대체의 경우에는 문제입니다.

일 break(들이지 말아야 할로 적절한 테스트 절차 및 관리되는 자료)우리는 할 수 있습 중 하나로 롤백하거나,핫픽스입니다.종종 물건이 파손되는 경우에 살고 해결 작은,우리가 할 수 있습 핫픽스,그 이동할 수정을 테스트하는 적절한 테스트입니다.

에 관계없이,때로는 일이다.

특정 계정이 쓰기 액세스 만 허용하므로 변경하려면 다르게 로그인해야합니다.

웹 서버에는 두 개의 디렉토리 구조가 있는데,이 구조는 서로 반영됩니다. 하나는 하나의 ID 만 쓸 수 있고, 다른 하나는 스테이징 딥, 모든 사람이 쓸 수 있습니다.

데이터베이스 서버에는 하나의 ID 만 쓸 수있는 하나의 프로덕션 DB가 있으며 모든 사람이 쓸 수있는 스테이징 DB가 있습니다. 스테이징 DB는 야간 백업을 복원 할 수 있습니다.

그러나 스테이징 시스템 리소스에 쿼리가 잘못되거나 일부 리소스 돼지가있는 경우 프로덕션에서 가져오고 기계가 매달릴 수 있습니다.

웹 서버,내가 복사하려고 하는 환경을 새로운 위치(하지만 같은 환경)및 영향을 받는 사람들을 재현하는 행동에 복사합니다.이것은 적어도 당신의 수준에서 분리 실수로 조이는 100%의 클라이언트입니다.

를 위한 데이터베이스 서버 구성에 사용자 계정 생산 시스템을 그들에게 읽기 전용 권한.

읽기 전용/게스트 계정. 진지하게. 항상 루트 나 관리자로 로그인하지 않는 것과 같은 이유입니다.

이것은 힘든 일이며, "무대 환경 없음"의 영역과 함께 진행됩니다.

여러 가지 이유로 무대 배포에 사용할 수있는 전용 (중복)을 사용하는 것이 가장 좋습니다. 우리가 원하는대로 철저히.

내가 본 중 하나는 VM을 사용하는 것입니다. 디버그 환경을 제외하고 VM에서 미니 프로드를 만들고 디버그를 사용할 수 있습니다. 개발중인 앱의 유형을 고려할 때 실용적이지 않을 수 있으므로 해당 영역의 추가 세부 사항이 도움이 될 것입니다.

디버깅 중 PROD 변경을 피하기 위해 : 디버깅을 용이하게하기 위해 무엇이든 변경 해야하는 이유가 있습니까? 그렇다면 다른 방법을 해결하는 것이 좋습니다.

버전 관리가 대단히 유용 통제를 위한 변화 생산 환경에서-그냥 생산 환경에서 작업의 복사본을 해당 디렉토리나 디렉토리에서 저장소에 있습니다.할 때 업데이트,소스 제어 시스템은 모든 변경된 파일을 복사됩니다.면한 무언가를 생산 작업 사본을 다시 마지막으로 수정되는 부서지지 않.또한,당신은 확인할 수 있습 귀하의 생산 화장실에서 태그를 대신 트렁크에서;는 방법을 결정할 수 있습 저장소 수정 버전 적용되는 생산 환경을 조정하여 태그입니다.

익숙하지 않은 경우 개념의 버전 관리 시스템,나는 당신이 몇 가지 연구를 할 수 있습니다.그들은 개념적으로 복잡하지만 매우 유용하고 강력합니다.이 위키 문서에서 시작하기 좋은 장소:http://en.wikipedia.org/wiki/Revision_control

죄송합니다. 스테이징 환경이 있어야합니다. 이 문제를 해결할 수 없습니다. 데이터 세트의 크기를 컬링해야한다는 것을 의미한다면, 그것이 당신이해야 할 일입니다. VMware 및 VMware Converter를 사용하여 다운 페리오드 중에 생산 시스템을 가져 오십시오 (이는 많은 시간 프로세스이므로 실용적이지 않을 수도 있습니다).

프로덕션 DBS (또는 사본)에 완전히 액세스하지 않으면 해결할 수없는 특정 클래스의 문제가 있으며, 성능은이 중 하나입니다. 그러나 분사 된 데이터 세트가있는 누군가의 데스크탑 머신에 있더라도 준비 환경을 구축해야합니다.

그 외에도, 나는 과거에 이것들 중 몇 가지와 함께 내 인생을 살아야했고, 실제로 많은 백업을 제외하고는 할 수있는 일이 없습니다. 모든 변경 사항은 증분 백업으로 인해 앞에 있어야합니다. 그렇게하면 당신이 뭔가를 먹었다면, 당신이 잃어버린 금액은 상당하지 않습니다. SQL Server는 백업에 사용되는 디스크 공간의 양을 제한하는 차등 백업을 가져갈 수 있습니다. 오라클도 할 수 있습니다.

실제로 다른 선택이없고 만성적 인 상황 일 가능성이있는 경우 ... 응용 프로그램 데이터 (파일 또는 데이터베이스)에 어떤 방법을 추가하여 데이터 세트를 플래그하는 것을 고려하십시오. 이 데이터를 사용한 생산 상태 '이 플래그가 활성화 될 때 프로세스의 임계 위치에서 데이터 덤프와 결합하면 데이터가 실제로 작동하지 않고 대부분의 생산 로직을 운동 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top