PMDEXIT 프로젝트 용어사전

배치 윈도우 운영과 맞추기 - 야간 작업 시간이 오픈 후 깨지는 이유

“배치 시간을 운영과 맞춘다”

문제배치 윈도우야간 배치 시간운영 배치 잠금

개발이 끝나면 배치는 운영이 알아서 돌린다는 오해가 현장을 자주 잡습니다. 개발 서버에서는 밤 11시에 돌아가던 작업이, 운영에서는 새벽 2시 백업과 겹쳐 죽습니다. 죽은 줄은 오픈 다음 날 아침 숫자가 비어서야 보입니다. 시각을 안 맞춘 배치는 기능이 아니라 운이고, 윈도우 합의 칸이 비면 그 작업은 아직 이관이 아닙니다. 이번 포스팅에서는 배치 윈도우를 누가 잠그고, 월말과 겹치면 어디를 먼저 보는지, 검수 시나리오에 배치를 어떻게 넣는지 현장 기준으로 다뤄보도록 하겠습니다. 야간 작업 시간을 오픈 전주에 처음 묻는 팀이라면, 그 질문은 이미 한 주 늦었습니다.

환경밤에 있는 것그대로 옮기면
개발우리 작업만성공으로 오인
스테이징축소 데이터수행 분 과소
운영 평일백업과 대사잠금 대기
운영 월말마감 물량다음 윈도우 침범
대외 전송상대 기관 시계거절 로그가 아침에
배치 시각이 환경마다 다르게 깨지는 지점

개발 환경의 배치 시각을 운영에 그대로 가져가면

개발은 비어 있는 밤이다. 운영 밤은 백업, 대사, 대외 전송, 다른 시스템의 윈도우로 이미 차 있다.

개발 서버의 배치는 성공한다. 데이터도 적고 경쟁 작업도 없다.

그 시각을 운영 crontab에 그대로 붙이면, 기존 백업이 같은 테이블을 잠근다. 잠긴 배치는 로그에 대기 중만 남기고 아침 마감 숫자를 비운다.

비운 숫자는 배치 실패가 아니라 업무 미완료로 올라온다. WBS에 배치 개발만 있고 윈도우 합의 칸이 없으면 그 작업은 아직 이관이 아니다.

착수 때 운영 당번에게 기존 야간 시간표를 한 장 받는다. 그 한 장이 새 작업의 자리가 된다.

자리가 없는 작업은 기능을 만들어도 돌아갈 시계가 없다.

배치 윈도우를 누가 잠그나

개발자가 아니다. 운영 당번과 대외 전송 담당, 그리고 그 시간대 현업 마감 책임자가 같이 잠근다.

윈도우를 개발 리드가 슬랙에 적어 두면 다음날 운영은 그 메시지를 못 찾는다. 잠그는 자리는 변경 회의가 아니라 운영 캘린더다.

새 작업의 시작 시각, 최대 수행 분, 실패 시 재처리 시각, 다른 작업을 밀 수 있는지를 한 줄로 적고 당번이 서명한다. 대외 기관 전송이 끼면 상대 윈도우가 우리 윈도우의 천장이다.

천장 위에 우리 작업을 올리면 전송은 거절되고 거절 로그는 아침에야 온다. 변경관리로 시각을 옮길 때도 같은 서명을 다시 받는다.

개발 편의로 30분을 당긴 변경이 운영에서는 백업과 충돌한다. 충돌은 변경 요청서에 영향이 비어 있어서 생긴다.

월말과 분기말이 겹치면 왜 실패하나

평일 밤은 비어 보여도 마감 밤은 작업이 길어진다. 평일 성공을 마감 성공으로 읽지 않는다.

수요일 밤 리허설이 끝난 배치를 월말 오픈에 그대로 넣으면, 마감 데이터 양이 평일의 몇 배로 는다. 늘면 수행 분이 늘고, 늘어난 분이 다음 윈도우를 침범한다.

침범한 작업은 강제 종료되거나 다음 날 주간 업무와 겹친다. 검수 주에 월말 시나리오를 한 번도 안 돌렸다면 그 검은 평일 검수다.

평일 검수는 검증(Validation)이 반만 된 상태다. 현업이 사인하는 시나리오에 월말 정산 배치 완료가 들어 있어야, 오픈 날이 수요일로 잡혀도 마감 위험이 회의 안건이 된다.

안건이 아니면 오픈 날은 평일 성공의 연장으로 읽힌다.

검수 시나리오에 배치를 빼면 생기는 일

화면 합격과 아침 숫자 합격이 갈린다. 화면만 사인하면 첫 영업일에 숫자가 빈다.

검수 조서에 화면 시나리오만 있으면 배치는 엔지니어 몫으로 남는다. 엔지니어 몫으로 남은 배치는 오픈 다음 날 현업 몫이 된다.

아침 8시에 전일 매출이 안 보이면 그 자리는 이미 장애 회의다. 시나리오에 전일 마감 배치가 이 시각에 끝나 이 화면 숫자가 맞는지를 한 줄 넣는다.

한 줄이 있으면 리허설 때 그 시각에 사람이 남는다. 한 줄이 없으면 리허설은 오후 5시에 끝난다.

오후 5시에 끝난 리허설은 밤을 안 봤다. 밤을 안 본 시스템의 첫 실패는 항상 밤이다.

오픈 전 한 주, 운영과 무엇을 맞추나

시간표, 실패 알림 수신자, 재처리 권한, 월말 예외. 네 가지를 캘린더에 같이 붙인다.

오픈 전주 운영 미팅을 자료 이관으로만 쓰면 윈도우는 안 맞춰진다. 기존 야간 시간표 위에 새 작업을 그려 겹치는 칸을 빨간색으로 남긴다.

실패 알림이 개발 메일로만 가면 새벽에 아무도 안 본다. 수신자를 당번 전화와 운영 그룹으로 바꾼다.

재처리 버튼이 개발자 계정에만 있으면 당번은 개발자를 깨운다. 당번 계정에 재처리 범위를 열어 두고, 그 범위를 조서에 적는다.

월말 예외는 별도 한 줄이다. 평일 윈도우를 월말에 쓰지 못한다고 미리 쓰면, 오픈 날이 월말이어도 회의가 짧다.

미리 안 쓰면 그날 밤의 결정은 즉석이다.

자주 묻는 것

배치 윈도우는 착수 때 정하나
운영 야간 시간표를 착수 때 한 장 받는다. 시각 확정은 데이터 양이 보이는 중반 이후라도, 자리는 먼저 비워 둔다.
개발 성공 시각을 운영 SLA에 적어도 되나
안 된다. 운영 밤의 경쟁 작업과 월말 물량을 재지 않은 시각은 SLA가 아니라 희망이다.
검수에 배치 시나리오가 없으면 어떻게 하나
아침 숫자 한 줄을 조서에 추가한다. 화면 합격만 있으면 첫 영업일 장애 회의가 그 줄을 대신한다.
윈도우를 30분 당기는 변경은 작은 변경인가
백업과 전송이 겹치면 작은 변경이 아니다. 운영 당번 서명을 다시 받는다.

관련 용어

출처

다른 가이드