[농협신용신시스템②]농협 차세대, 열정으로 완료한 개발
2009-03-28 신혜권 기자
커뮤니케이션에 대한 문제를 어느 정도 해소하자 프로젝트가 본궤도에 올랐다. 그러나 얼마 안돼 또 다른 불안감이 싹트기 시작했다. 바로 오픈환경에 대한 안전성 문제였다. 농협은 평상시에도 수신부분만 초당 2000건에 가까운 트랜젝션이 일어날 정도로 엄청난 규모의 거래량을 자랑하고 있다.
이런 은행의 계정계 부분을 오픈환경으로 가져간다는 것이 쉽게 이해되지 않았던 것이다. 더욱이 농협 규모의 거래량을 갖고 있는 금융기관이 오픈 환경으로 전환한 사례는 해외에서도 찾아볼 수 없어 더욱 난감했다. 그나마 앞서 신한은행이 신한·조흥은행의 통합 차세대시스템을 오픈환경으로 전환, 성공적으로 운영하고 있는게 위안이라면 위안이었다.
농협 내부의 개발자들이 오픈환경에 익숙치 않은 것도 큰 문제였다. 농협은 기존에 유니시스 메인프레임을 사용하고 있었다. 유닉스 시스템도 일부 사용하고 있었지만, 단위시스템에 불과했다. 따라서 농협은 새로운 환경에 맞는 IT아키텍처를 새로 만들어야 했다.
그러나 이 새로운 아키텍처가 농협의 막대한 거래량을 받쳐줄 수 있을지 의문이었다. 물론 하드웨어(HW), 미들웨어(MW), 소프트웨어(SW) 등도 적절하게 지원 할 수 있어야 했다.
이 때 농협이 빼어든 칼이 ‘철저한 벤치마킹테스트(BMT)’였다. 농협은 여러 가지 우려를 불식시키기 위해 철저하게 BMT를 추진하기로 했다. 우선 BMT 위원회를 구성했다. 특히 HW BMT를 위해 BMT추진단을 구성, 일본과 프랑스에서 BMT를 실시하기도 했다.
당시 하드웨어의 경우 HP와 IBM이 BMT에 참여했는데, 일본은 HP센터에서, 프랑스는 IBM센터에서 진행했다. BMT추진단장을 맡았던 김유경 팀장은 “공정성도 공정성이지만, 정말 신시스템 가동 후 농협의 거래량을 안전하게 받쳐줄 수 있는지를 확인하는 게 제일 중요했다”고 말했다.
실제 농협은 하드웨어의 정확한 성능을 파악하기 위해 해외 BMT 출발에 앞서 직접 테스트 프로그램을 개발해 적용했다. 안전성 테스트 시에도 초당 거래 건수를 7000건 이상으로 높여 강도 높은 스트레스 테스트를 실시했다. 이를 통해 농협은 하드웨어로 HP의 ‘슈퍼돔’을 선정했다. 이후 스토리지, 데이터베이스(DB) 솔루션, TP모니터 등에 대해서도 BMT를 실시, 내부적으로 문제가 없다고 판단한 후 사업자를 선정했다.
#개발과정서 드러난 ’데이터 히스토리’의 문제점
개발이 본격화 되자 또 다시 여러 문제들이 불거졌다. 가장 큰 문제는 데이터 전환 시 필요한 데이터들의 히스토리를 찾는 것이었다. 농협은 과거 30년을 유니시스 메인프레임으로 운용해 왔다. 따라서 데이터의 양도 방대할 뿐 아니라 데이터 하나 하나가 갖고 있는 의미나 히스토리가 모두 달랐다. 그러나 이 데이터의 히스토리를 아는 사람은 아무도 없었다. 데이터 전환을 담당한 팀은 막막했다.
당시 메인프레임 수신단에만 3500만 고객의 7500만 계좌 데이터가 쌓였다. 10테라바이트에 달하는 방대한 규모다. 여기에 거래 내용까지 포함하게 되면 30테라바이트가 넘었다.
이를 해결할 수 있는 방법은 그리 많지 않았다. 결국 데이터전환팀은 모든 데이터를 찾아 내 히스토리를 파악하기로 했다. 이를 위해 모든 개발자들을 투입, 밤샘 야근을 통해 전 데이터에 대한 히스토리를 찾아 냈다. 오로지 열정만으로 해낸 것이다. 이로 인해 그동안 진행이 이뤄지지 못한 데이터 전환이 본격적으로 시작됐다.
개발 기간 완료 시점이 다가오면서 부담도 커졌다. 당시 개발기간은 2008년 1월부터 5월까지로 타 은행의 사례와 비교할 때 매우 짧은 편이었다. 테스트 기간을 좀 더 여유스럽게 잡기 위해 개발 기간을 1개월 단축시켰기 때문이다. 결국 로드맵 상으로 개발기간이 완료됐음에도 불구, 개발은 완벽하게 완료되지 못했다. 테스트를 시작해야 하나, 연기해야 하나 고민 끝에 개발과 테스트를 병행키로 했다.
어느 정도 무리수가 따르긴 했지만 개발기간을 더 확보하기 위해 테스트를 미룰 수는 없었다. 개발이 완료된 상태에서 테스트를 진행해야 전체적인 테스트 관리가 이뤄지는데, 개발이 완료되지 못한 부분을 배제하고 테스트를 진행하다 보니, 테스트 초기에 혼란이 발생했다. 일부에서는 책임소재 공방도 벌어졌다.
이를 해결하기 위해 농협은 모든 문제점을 공개하기로 했다. 가장 투명한 것이 문제를 가장 쉽게 해결할 수 있는 방안이라고 판단한 것이다. 이를 통해 현재의 문제점들을 쉽게 파악할 수 있게 됐고, 문제가 있는 부분에 대해 농협 직원을 대거 투입해, 개발에 박차를 가했다.
#DA팀 구성으로 성공적 프로젝트 기반 마련
이번 차세대시스템 개발에는 데이터아키텍처(DA)팀의 활약이 적지 않았다. 농협은 2008년 1월 기존의 차세대시스템 예산이 아닌 별도의 예산을 투입, DA팀을 구성했다.
성공적인 차세대시스템 가동을 위해서는 SQL이 어떻게 코딩되는가가 매우 중요했다. SQL이 완벽하게 짜여지지 않으면, 향후 문제가 생길 확률이 상당히 높았다. 이처럼 중요한 부분임에도 불구하고 당시 개발자들이 코딩한 SQL에는 문제가 있었다.
이로 인해 DA팀은 다시 3만5000개에 이르는 SQL을 다시 코딩했다. DA팀이 직접 코딩해서 개발팀에 넘겨주면, 이를 교체하는 형태로 진행했다. 농협 직원 3명을 포함, 총 15명의 인력이 완벽하게 SQL을 다시 짠 것이다.
이로 인해 농협은 가동 이후 거래량이 초당 4000건에 이르는 상황이 발생돼도 CPU가 높아지지 않고 안정적으로 운영할 수 있었다. 실제 농협은 가동 이후 이러한 자신감을 기반으로 단 한건의 거래제한 없이 모든 거래를 허용하고 있다.
신혜권 기자 hkshin@etnews.co.kr