05
정확한 파악도 되지 못한 채로 맞이한 장애 상황은 혼란 그 자체였다.
세로를 신규로 구매한 고개들도 이전에 구매한 세로를 이용하려고 했던 고객들도
모두 시스템 에러로 인해 아무것도 할 수 없는 상태였다.
팀 전체에 긴장도가 잔뜩 올라갔다.
팀장은 여기저기 왔다 갔다 하면서 상황을 정리하고 있었다.
잠시 뒤 옆 팀 팀장과 몇 마디를 나누고 곧 쇼핑몰 메인에는 공지 팝업이 하나 뜨기 시작했다.
'현재 세로 이용에 문제가 있어 확인 중입니다. 이용에 불편을 드려 죄송합니다.'
"... 죄송합니다."
그 말을 나지막이 되새겨보았다.
잠시 뒤 팀장은 우리를 잠시 자리로 부르더니 업무를 나눴다.
"이 과장님은 원인파악부터 해주세요. 오 과장님도 같이 확인해 보는 걸로 하죠."
"아참 그리고 다들 이 과장님이 집중할 수 있게 옆에서 도와주세요. 궁금한 게 있어도 질문은 자제해 주세요."
이 과장과 오 과장이 원인파악을 하고
나는 데이터를 정리해 가며 언제부터 오류가 발생했는지 정리를 했다.
시간은 야속하게도 빠르게 흘러 점심시간이 되었지만 어느 누구 하나 일어서지 못했다.
오후 2시쯤이었을까
이 과장이 뭔가 알아챈 듯 팀장을 찾아가 상황을 보고한 뒤
우리 팀원 모두 회의실로 모였다.
"다들 대략적인 상황은 아실 거라 생각해요. 다시 현재 상황을 정리해서 말씀드리면..."
팀장은 자리를 일어서더니 화이트보드에 그림을 그려가며 설명하기 시작했다.
"... 그러니까 악의적인 누군가에 의해서 세로 상품들이 모두 변조되었어요. 변조된 세로들을 복구하지 않는 이상 고객이 이용할 수 없는 상태예요. 이제 우리가 할 일을 좀 나눠봐야 할 것 같아요"
결과적으로 할 일은 크게 2가지였다.
변조된 데이터들을 복구하고 다시는 변조되지 않게 대비하는 것.
"데이터 복구는 한 차장님 하고 장 대리님이 진행해 주세요. 일단 최신 데이터부터 진행해 주시고... 복구 대상 파악만 된다면 복구 자체는 프로그램으로 처리하면 돼서 큰 문제 없을 겁니다. 장대리님, 현재 어느 정도까지 파악이 되었나요?"
"오전에 확인해 본 결과 복구 대상이 8만 건 정도 확인되었습니다."
"네 그럼 그 대상을 한 차장님에게 공유해주시고 한 차장님, 복구 프로그램 진행 준비해 주세요. 그럼 이제 문제는... 얼마나 빠르고 확실하게 다시 변조되지 않게 수정 후 배포를 하는 것이겠네요. 악의적인 시도는 언제까지나 있을 수 있으니까요."
일제히 모든 시선들이 이 과장을 향했다.
그는 선뜻 입을 열지 못하고 잠시 머뭇거렸다.
"... 원인 파악은 되었지만 그게 어디까지 영향도가 있을지 확인이 안 되어서요... 또 얼마나 수정 범위가 있을지... "
그의 얼굴엔 순식간에 먹구름이 드리워졌다.
"... 죄송합니다..."
"이 과장님이 죄송해할 일이 아닙니다. 앞으로 죄송하다는 말은 최대한 쓰지 않도록 해요."
팀장이 말을 딱 잘랐다.
오후 2시였다.
오늘 우리 팀 모두 야근을 해야 할 것 같았다.
시스템에 장애라는 건 그 어떤 상황보다 긴급하게 처리되어야만 했다.
적어도 나는 그렇게 일했다.
사실 장애가 발생된 아침부터 내 머릿속에는
장애가 발생되어 손실된 매출액, 장애 발생 후 조치까지 걸린 시간 이런 모든 것들이 뒤엉켜 계산을 시작하고 있었다.
이 일로 또 얼마나 우리 팀이 힘들어질까.
그보다 오늘 밤새 야근할 생각에 깊은 한숨이 나왔다.
다들 아무 말도 못 하고 있는데 팀장이 입을 열었다
"이 과장님 원인 파악된 것까지만 정리해서 팀 내 공유해 주세요. 그리고... 수정 방향성을 검토해 줘요.
다른 팀원분들은 최대한 본인이 확인할 수 있는 영향도 파악해서 모두 5시에 다시 모이기로 해요. 영향도를 확인 후에 다시 이야기하죠."
그렇게 마무리된 회의는 다시 5시를 기약했다.
다시 모인 우리는 나름의 정리한 영향도와 수정될 개발 방향성에 대해서 논의를 했다.
생각보다 작업은 간단하지 않았다.
그래도 오늘 밤새서 작업한다면... 가능할 것 같았다.
"이 과장님, 그럼 정리한 설계안대로 배포준비를 해주세요. 배포는 내일 오전에 하기로 해요."
"네?... 오늘 바로 배포해야 하는 것 아닌가요?"
"현재 한 차장님이 복구 진행한 대로 서비스는 정상 이용될 수 있게 되었으니 문제는 없을 거예요. 섣불리 배포했다가 오히려 더 큰 다른 문제가 생길 수도 있고요."
"그렇지만 또다시 세로가 변조된다면... "
"인프라 팀에 협조를 구해뒀으니 그 사용자가 다시 접근하기는 어려울 겁니다. 덕분에 우리는 그만큼 시간을 번 거죠"
다들 의아해하는 분위기였다.
사실 오늘 밤새서 배포를 하는 것과 내일 오전에 하는 것에는 큰 차이는 없기도 했다.
"이 문제는 우리 팀의 힘만으로는 풀기 어려운 문제라고 생각해요. 당연히 다른 팀들의 힘을 빌려서 해결해야죠. 그리곤 나는..."
팀장은 한참 뜸을 들이더니 말을 이어나갔다.
"현재 우리가 제공하는 서비스에 문제가 없으니 괜찮습니다. 서비스에 이상이 있는 것은 아니니깐요. 우리는 오늘 하루 최선을 다했습니다. 고생했어요."
팀장은 먼저 회의실을 나가고 아직도 어리둥절한 표정을 한 우리들만 남았다.
"정말 가도 되는 거야?"
이 과장이 헛웃음을 지어 보이며 주변을 둘러보았다.
이곳에 꽤 연차가 오래된 한차장이 자리를 일어서며 특유의 무심한 말투로 말했다.
"팀장님이 가라고 했으니 가도 돼요. 내일 와서 맑은 정신에 다시 해요"
그렇게 퇴근을 하고 집으로 돌아오는 길에
오늘 팝업 메시지 창의 죄송합니다 라는 문구와 이 과장의 죄송합니라는 말이 생각났다.
어쩌면 그동안 나는 혼자서는 감당 못할 문제들을 끌어안고서
어떻게든 해결해보려고 했던 건 아니었을까 하고.
우리는 모두 힘을 모아 일하기 위해 이곳에 모였는데 왜 정작 어려움 앞에서는 혼자 감당하려 했을까.