뉴저지 코볼 사태를 통해 본 ‘레거시 시스템 ’

뉴저지 코볼 사태를 통해 본 ‘레거시 시스템 ’

 ‘COBOL 코볼'이라고 들어보셨나요?

최근 미국 뉴저지 주정부가 개발된 지 60년이 넘는 ‘코볼(COBOL, COmmon Business-Oriented Language)’ 언어 개발자를 ‘급구’하고 있어 관심이 집중됩니다. 코로나19 바이러스로 전 세계가 얼어붙은 지금, 주지사가 직접 나서 60년이 넘은 코볼 개발자를 구하게 된 배경은 무엇일까요?

미국은 코로나19로 인해 심각한 경제적 타격을 입었습니다. 코로나19 확산에 대응하기 위한 미국 정부의 각종 조치로 지금 미국에서는 실업자가 급증하고 있습니다. 이에 미국에서 실업수당을 신청 건수가 995만 건을 넘어섰습니다. (2020년 4월 3일 기준)

미국 뉴저지주의 경우 코로나19로 인해 실업자가 1,600%로 늘어나 지난 2주 동안 실업 급여 신청 건수가 36만2천 건에 달했습니다. 그로 인해 뉴저지 전산 시스템은 실업수당을 신청하려는 뉴저지 시민들의 행렬로 마비가 됐습니다.

급증하는 실업 급여 신청을 처리하기 위해서 뉴저지 정부는 전산 시스템을 유지/보수해야 하는 상황에 놓이게 되었습니다. 하지만, 뉴저지 정부의 전산 시스템이 80년대 IBM에서 제작한 메인프레임을 기반으로 만들어진 데다가 구동 프로그램 또한 60년이 넘은 코볼로 작성되어 있어 이를 다룰 줄 아는 개발자를 찾는 데 어려움을 겪고 있습니다. 실제로 코볼의 경우 ‘2020년에 사라질 프로그래밍 언어 10위’에 꼽히기도 했습니다.

코볼은 COmmon Business-Oriented Language의 약자로 주로 비즈니스에 활용하기 위한 목적으로 설계되었습니다. ‘높은 가독성’을 기치로 설계되어 영어와 비슷한 문법을 갖고 있지만, 엄격한 코드 작성 규칙과 장황한 문법으로 인해 분석과 활용이 어렵다는 단점을 갖고 있습니다. 코볼은 예약어(프로그래밍 언어에서 이미 문법적인 용도로 사용되고 있어 변수명이나 함수명과 같은 식별자로 사용할 수 없는 단어) 개수만 300개가 넘어 최초의 설계 목적과는 달리 사용하기에 매우 복잡합니다.

예순을 훌쩍 넘긴 코볼은 상당히 오래된 언어임에도 불구하고 메인프레임 컴퓨터를 기반으로 하는 금융, 정부/회사 시스템의 레거시 시스템에 여전히 사용되고 있습니다. 약 2천200억 줄의 코볼 언어가 아직까지도 정부 기관, 금융, 은행사의 프로그램에서 사용되는 것으로 알려져 있습니다.

전문인력의 부족과 커뮤니티의 쇠퇴로 성장 동력을 잃은 지 오래지만, 여전히 많은 시스템이 코볼을 채택하고 있는 이유는 최신의 언어를 사용하는 차세대 시스템을 성공적으로 개발하는 것이 매우 어렵기 때문입니다. 특히 은행 시스템이나 항공 교통 관제 시스템, 군사 방어 시스템과 같이 서비스 중단이 치명적인 경우 레거시 시스템을 차세대 시스템으로 개편하기 위해서는 막대한 비용을 지출해야만 해 기존 시스템에 더욱더 의존할 수밖에 없습니다.

‘레거시 시스템(Legacy System)’
“An information system that may be based on outdated technologies, 
but is critical to day-to-day operations.”

가트너는 레거시 시스템을 ‘오래된 기술을 활용해 구축했으나 현대에도 그 운영에 있어 여전히 중요한 역할을 하는 정보시스템’이라고 정의했습니다.

국내에서도 레거시 시스템의 흔적을 어렵지 않게 찾아볼 수 있습니다. 한국은행의 경우 도입한 지 18년이 지난 메인프레임을 교체하는 차세대 시스템 개발 사업을 지난 2018년 1월부터 지금까지 진행하고 있습니다. 2020년 10월 가동을 목표로 하는 차세대 시스템 사업은 코볼 기반의 메인프레임을 자바 기반의 유닉스로 다운사이징 하는 것을 주된 내용으로 합니다.

레거시 시스템의 문제는 단순히 오래된 기술을 사용한다는 점에 그치지 않습니다. 현대화되지 않은 시스템으로 인해 이를 유지/보수하는 데 필요 이상의 에너지를 투입해야 할뿐더러, 치명적인 보안상의 약점을 내포할 수 있기 때문입니다.

시스템이 문제없이 작동한다고 하더라도 레거시 시스템을 현대화할 필요성은 명확합니다. 미국 정부는 IT 예산의 80%가량을 레거시 시스템을 운영하고 유지하는 데 지출하고 있으며 나머지 단 20%만을 차세대 시스템 개발에 사용하고 있다고 합니다. 레거시 시스템은 ‘유지’에도 적지 않은 비용이 소요됩니다.

이번 ‘코볼 사태’를 통해 레거시 시스템에 대해 다시금 돌아볼 필요가 있습니다. 레거시 시스템이 지닌 있는 잠재적인 위험을 예방할 필요가 있기 때문입니다.

최근 많은 기업이 레거시 PHP를 NodeJS로 교체하거나, 레거시 인프라를 클라우드 환경으로 이전하는 등 차세대 시스템 개발의 필요성을 인식하고 있습니다.

2019년 기준, 콘텐츠 관리 시스템(CMS) 점유율의 30% 이상을 차지하는 워드프레스는 최근 PHP를 버리고 JavaScript 기반에서 구동되는 ‘Calypso’를 공개했고, 롯데카드의 경우 IBM의 클라우드와 레드헷 오픈소스 기술을 활용해 전사 시스템을 프라이빗 클라우드로 전환할 것이라 밝혔습니다.


레거시 시스템이 내포하고 있는 잠재적인 위험을 예방하기 위해서는 차세대 시스템으로의 이전을 적극적으로 검토하고 점진적으로 이를 구축해나가야 합니다.

가비아는 Node.js 호스팅과 클라우드 매니지드까지 시스템 현대화를 위한 다양한 서비스를 제공합니다. 가비아가 제공하는 인프라를 활용해 레거시 시스템에서 비롯되는 불필요한 비용을 줄이시기 바랍니다.

[출처] https://post.naver.com/viewer/postView.nhn?volumeNo=28339140&memberNo=2521903

0개의 댓글이 있습니다.

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입