상단영역

포춘코리아 매거진 최신호를 무료로 읽어보세요.

본문영역

[THE BRIEF] AI가 월가의 ‘스파게티 코드’ 위기를 해결해낼까?

  • 기사입력 2023.12.07 17:00
  • 최종수정 2024.03.19 15:40
  • 기자명 BEN WEISS & 육지훈 기자

IBM과 마이크로소프트 같은 IT 대기업들은 시스템 붕괴로 인해 수십억 달러의 손실을 입기 전에 AI가 노후화한 코드를 보다 현대적인 프로그래밍 언어로 전환하길 기대한다.

 

현재 카세트 테이프나 플로피 디스크를 갖고 사업하는 기업은 거의 없다. 그러니 이런 수십 년 된 기술을 다룰 수 있는 전문가가 없다고 해서 문제가 되진 않는다.

하지만 64년 된 프로그래밍 언어 ‘코볼(COBOL)’의 경우는 사정이 다르다. 월가와 미 연방정부가 매년 수십조 달러 규모의 거래를 처리하는 데 이 언어를 쓰고 있기 때문이다. 이들은 코볼 기반 시스템을 업데이트할 수 있는 전문가를 찾기 위해 애먹고 있다.

이 시스템에 문제가 생기면 많은 기업은 ‘코볼 카우보이’라는 별명을 가진 전문가 빌 힌쇼(82)를 찾는다. 그는 북부 텍사스에 있는 자택 사무실에서 일하며, 약 600명의 코볼 베테랑 엔지니어들로 구성된 팀을 원격으로 총괄한다. 이들 중 일부는 1960~1970년대에 프로그래머로 경력을 쌓은 사람들이다. 이 전문가들은 매주 비상 전화를 받는다. 

지난 2021년엔 93년 역사의 공구 판매업체 수피리어 웰딩 서플라이(Superior Welding Supply)도 힌쇼에게 긴급 연락을 해왔다. 사내 유일의 코볼 전문가가 사망한 후 회사 전산 시스템이 붕괴됐기 때문이다. 

코볼은 여전히 현업에 쓰이고 있지만, 후배 세대를 기를 만한 자료가 부족하다. 그래서 코드를 수정하는 일이 쉽지 않다. 프로그래머들은 이런 복잡한 문제를 ‘스파게티 코드(Spaghetti Code)’의 일부라고 부른다. 지난 수년간 정부 기관과 언론사, 대형 은행들은 노후화한 IT 인프라에 대해 경종을 울려왔다.

이런 시점에 IBM과 마이크로소프트 같은 IT 공룡들은 아이젠하워 시대의 기술인 코볼을 대체할 만한 도구를 찾은 것처럼 보인다. 바로 생성형 인공지능이다. 

 

‘스파게티 코드’의 문제점

코볼은 일반적으로 보통예금에서 당좌계좌(사업자용 계좌)로 돈을 이체할 때 사용된다. 눈에 잘 띄지 않기 때문에 코볼의 존재를 인식하지 못할 뿐이다. 하지만 은행의 일상 업무에서 이 프로그래밍 언어는 매우 중요한 역할을 한다. 신규 고객을 기존 데이터베이스에 추가하고, ATM 거래를 가능하게 하고, 급여를 처리하는 데 쓰인다. 연방정부도 지난 1973년부터 학자금 지원 신청서를 처리하기 위해 동일한 코볼 시스템(약 100만 줄의 코볼 코드로 구축됐다)을 광범위하게 사용하고 있다.

IT 기업 오픈텍스트에 따르면 오늘날에도 약 2200억~8000억 줄의 코볼 코드가 여전히 사용되고 있다. 액센추어의 글로벌 뱅킹 책임자 마이클 애벗은 “대부분 주요 은행의 경우 핵심적인 뱅킹 시스템이 코볼에 기반하고 있다”고 설명한다.

지난 1959년 프로그래머들이 코볼을 설계한 후 이 코드는 데이터 처리를 위한 사실상의 공식 언어로 빠르게 자리 잡았다. 은행과 보험사, 정부 기관 그리고 테라바이트의 방대한 정보를 다루는 다른 기업들이 수백만 줄의 코볼 코드를 작성하고, 여전히 유지해 왔다는 의미다.

그러나 전통적 언어인 코볼은 70년대 이후 등장한 C와 자바, 파이선 같은 새로운 프로그래밍 언어들에 비해 효율성과 범용성이 떨어졌다. 각각 다르게 구축된 이 새로운 언어들은 엔지니어들이 이전에 작성한 코드를 개선하고, 재사용할 수 있도록 지원했다. 결과적으로, 스타트업과 실리콘밸리 벤처기업들은 코볼 대신 자바나 파이선을 기반으로 시스템을 구축하기 시작했다.

코볼의 인기는 줄었지만, 유지보수 비용은 급증하고 있다. 더욱이 기존 코볼 코드는 참고할 만한 기록이 부실하기 때문에 개선 및 업그레이드에 더 많은 시간이 소요된다. 한 기업의 주요 시스템 전면 개편은 급변하는 경제 환경에서 쉽지 않은 일이다. 가령 은행들은 시시각각 변하는 금리를 반영하기 위해 고객들에게 금융상품 정보를 신속하게 제공해야 하기 때문이다.

애벗은 “얽혀 있는 스파게티 코드를 풀고, 그 내부의 시스템을 업그레이드하려면 9~12개월 걸릴지 모른다”며 “하지만 현대적인 코드의 경우 이런 작업은 몇 주면 마무리할 수 있다”고 설명한다.

업그레이드 비용은 수억 달러에 이를 수 있다. 2017년 호주 커먼웰스 은행은 핵심 금융 시스템을 교체하는 작업에 5년간 7억5000만 달러(약 1조185억원)를 투입했다. 더 중요한 사실은 업그레이드를 제대로 하지 않으면 큰 화를 입을 수 있다는 점이다. 일례로, 영국 금융 규제당국은 지난해 신규 IT 플랫폼으로 전환하지 못한 영국 TSB 은행에 6000만 달러(약 815억원) 이상의 벌금을 부과했다. 수천 명의 고객이 몇 주나 온라인 결제를 하지 못하는 불편을 겪었다는 이유 때문이었다.

 

코딩 보조도구들

 

IBM 리서치의 수석 과학자 루치 퓨리는 녹음이 우거진 뉴욕시 북부의 본사 캠퍼스 사무실에서 화이트보드 앞으로 바짝 다가섰다. 야구모자와 흰색 와이셔츠 차림에 콧수염을 기른 이 임원은 손에 두 개의 매직 펜을 들고 있었다. 그는 금융기관들이 IBM의 생성형 AI ‘왓슨x코드 어시스턴트’를 이용, 수백만 줄의 코볼 코드를 자바로 어떻게 전환할 수 있는지 자세히 설명했다.

그는 “기존에도 코드 변환기(혹은 ‘번역기’)가 있었다. 하지만 기존의 변환기는 복잡한 스파게티 코볼을 똑같이 복잡한 스파게티 자바로 전환할 뿐”이라고 말했다. 즉, 기록이 부실해 이해하기 힘든 기존 언어가 유사한 문제를 지닌 현대 언어로 형태만 바뀔 뿐이라는 의미다.  

그는 “IBM의 새로운 해결책은 기존의 코드 변환기 수준을 넘어섰다”고 강조했다. 오픈AI의 챗GPT 같은 생성형 AI 기술을 통해 IBM은 기록이 부실한 코볼을 구조화하고 분석하기 쉬운 자바로 전환할 수 있다. 퓨리는 “IBM의 도구를 활용하면 기업들이 코드베이스의 현대화 작업 속도를 최대 10배까지 앞당길 수 있다”고 주장했다.

그리고 이런 기능 덕분에 월가와 정부는 수십억 달러를 절약할 수 있다. 예를 들어, 2018년 2월 미 공군은 전투 임무에 필요한 물자와 장비 관리를 담당하는 컴퓨터 시스템의 현대화 작업을 완료했다. 2019년 보고서에 따르면 이 3년짜리 프로젝트에는 수백만 줄의 코볼 코드를 자바로 전환하는 안이 포함됐다. 이로써 정부는 전산 비용으로 연간 2500만 달러(약 340억원)를 절감할 수 있었다. 생성형 AI가 공군 시스템의 현대화 작업에 필요한 기간을 3년에서 몇 개월로 단축했다면, 납세자들은 얼마나 많은 세금을 절약할 수 있었을 지 상상해 보라.

IBM은 자연스럽게 이런 상황속에서 중요한 사업 기회를 포착했다. 퓨리는 “대기업들이 우리의 코볼-자바 전환 소프트웨어를 사용하겠다고 줄을 서고 있다”며 “포춘 100대 기업의 대다수는 우리 고객사들이다. 그들은 지금 이런 전환에 적극 참여하고 있다”고 밝혔다.

마이크로소프트가 소유한 개발자용 소프트웨어 플랫폼업체 깃허브의 최고경영자 토마스 돔케 역시 코볼 문제를 최우선 과제로 삼고 있다. 그는 최근 X(옛 트위터)에 “여전히 중앙컴퓨터에서 사용되는 코볼이 우리 생각보다 훨씬 더 큰 사회적 문제를 야기하고 있다”고 썼다. 이어 “지난 30년간 코볼에 대해 들었던 이야기를 모두 합친 것보다 지난 1년간 들은 이야기가 더 많았다”고 부연했다.

고객사들은 IBM뿐만 아니라 깃허브에도 앞다퉈 연락을 취하고 있다. AI 기반의 차세대 보조도구 깃허브 코파일럿이 코볼 같은 기존 인프라의 현대화 과정에 어떤 역할을 할지 확인하기 위해서다. 

챗GPT와 동일한 알고리즘으로 구동되는 코파일럿은 이메일의 ‘자동 문장 완성’ 같은 기능을 탑재하고 있다. 프로그래머들이 코딩 작업을 할 때, 라인 편집을 지원하는 것이다(코파일럿이 깃허브의 공공 프로젝트에서 사용하는 모든 프로그래밍 언어를 학습한 덕분이다). 돔케는 “프로그래머들이 이 도구를 활용하면, 상당한 양의 코볼 코드에 강조 표시를 할 수 있다. 아울러 코파일럿에 그 코드가 실제 무슨 명령을 수행하는지 설명해달라고 요청할 수도 있다”고 덧붙였다. 코파일럿은 IBM의 자체 코딩 보조도구와 마찬가지로 대규모의 코볼 언어를 자바나 다른 프로그래밍 언어로 전환할 수 있다.

그는 “생성형 AI와 코파일럿은 낡은 기존 코드 베이스의 유지보수 작업을 보다 더 쉽게 만들 것”이라며 “궁극적으로는 오래된 그런 코드들을 현대화할 것”이라고 설명했다.

 

인간의 역할은 끝난 것일까

AI의 인기가 치솟으며 ‘코볼 카우보이’로 불리는 힌쇼까지 스타트업을 상대로 코볼뿐만 아니라 AI 제품에 대해 조언하게 됐다. 카우보이 가죽 모자를 텍사스 사무실 문에 걸어 둔 힌쇼는 AI로 인해 자신이 설 자리가 없어질 것이라는 전망을 전혀 두려워하지 않는다. 그는 “새벽 3시에 ‘시스템이 다운됐다’는 업체의 비상전화를 받을 수 있다”며 “그런데 그 시간에도 시스템이 문제없이 작동하도록 어떻게 AI를 구축할 수 있을까? 바로 사람의 개입이 필요하다”고 밝혔다.  

IBM과 깃허브의 경영진 또한 “인간이 코드 전환과 현대화 작업의 모든 과정에 참여해야 한다”고 강조해왔다. 두 기업 모두 “AI가 생성하는 코드는 완벽하지 않다. 따라서 인간이 작성한 코드처럼, 수많은 테스트를 거쳐야 한다”고 인정한다. 예를 들어, 스탠퍼드 연구원들은 “오픈AI의 코딩 보조도구를 사용한 개발자들이 그렇지 않은 개발자들에 비해 종종 안전성이 떨어지는 코드를 만든다”는 사실을 발견했다. 

그러나 이런 리스크에도 불구하고, 액센추어의 애벗 같은 금융업 종사자들은 “IBM이나 깃허브의 AI 제품이 종종 대형 은행들을 곤경에 빠트리는 스파게티 코드 문제를 해결할 수 있기”를 희망한다. 그는 생성형 AI에 대해 “엄청난 잠재력을 갖고 있다”고 말했다. 

 

‘장수 만세’ 프로그래밍 언어들

여전히 많은 기업과 연방정부가 아래의 20세기 코딩 언어들에 상당 부분 의존하고 있다.

 

1957년 ▶ 포트란
존 배커스는 IBM에서 팀을 이끌며, 자연어(예: ‘만약에’ ‘읽다’ ‘쓰다’)와 구문을 통합하기 위해 수식전환기(Formula Translation)라는 뜻을 지닌 최초의 프로그래밍 언어 포트란을 만들었다. 

1959년 ▶ 코볼 
유명 프로그래머 그레이스 호퍼를 포함한 컴퓨터 과학자들은 ‘공통 사무처리 지향 언어(Common Business Oriented Language·COBOL)’의 개발을 이끌었다. 이 코볼은 사실상의 데이터 처리 컴퓨터 언어가 됐다. 

1972~73년 ▶ C언어
데니스 리치는 벨 연구소에서 C언어를 개발했다. C언어는 여전히 가장 인기 있는 5대 프로그래밍 언어 중 하나다.

1983년  ▶ 에이다
프랑스 프로그래머 장 다비드 이치비아와 그의 팀은 에이다를 고안했다. 에이다는 90년대 미 국방부가 선택한 프로그래밍 언어가 됐다.

1987년 ▶ 펄 
미국 프로그래머이자 언어학자인 래리 월이 펄을 처음 선보였다. 펄은 파이선으로 대체되기 전, 2000년대 초에 반짝 각광을 받았다.

 

이 기사를 공유합니다

개의 댓글

0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400

내 댓글 모음

하단영역

매체정보

  • 서울특별시 서대문구 경기대로 15 (엘림넷 빌딩) 1층
  • 대표전화 : 02-6261-6149
  • 팩스 : 02-6261-6150
  • 청소년보호책임자 : 박노경
  • 법인명 : (주)에이치엠지퍼블리싱
  • 제호 : 포춘코리아(FORTUNE KOREA)
  • 등록번호 : 서울중 라00672
  • 등록일 : 2009-01-06
  • 발행일 : 2017-11-13
  • 발행인 : 김형섭
  • 편집국장 : 유부혁
  • 대표 : 김형섭
  • 사업자등록번호 : 201-86-19372
  • 통신판매업신고번호 : 2021-서울종로-1734
  • 포춘코리아(FORTUNE KOREA) 모든 콘텐츠(영상,기사, 사진)는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.
  • Copyright © 2024 포춘코리아(FORTUNE KOREA). All rights reserved. mail to nkpark@fortunekorea.co.kr
ND소프트