COBOL 현대화를 둘러싼 경제적 셈법이 달라지고 있다. 과거에는 대규모 컨설턴트 인력이 필요했던 작업을 AI가 자동화하면서, 비용 구조 자체가 바뀌었다.
COBOL은 어디에나 있다. 미국 ATM 거래의 95%를 처리하는 것으로 추정되며, 수천억 줄에 달하는 COBOL 코드가 매일 프로덕션 환경에서 실행되며 금융, 항공, 정부의 핵심 시스템을 떠받치고 있다.
그런데도 이를 이해하는 사람은 해마다 줄어들고 있다.
이 시스템을 구축했던 개발자들은 이미 수년 전에 은퇴했고, 그들이 지닌 조직의 노하우도 함께 사라졌다. 프로덕션 코드는 수십 년에 걸쳐 반복적으로 수정되어 왔지만 문서는 그 속도를 따라잡지 못했다. 게다가 후속 세대를 키워내기도 쉽지 않다. COBOL을 가르치는 대학은 손에 꼽을 정도이고, 코드를 읽을 줄 아는 엔지니어를 찾기는 분기가 지날수록 더 어려워지고 있다.
이런 상황에서 조직들은 수십 년간 쌓아온 안정성, 가용성, 데이터를 지키면서 시스템을 어떻게 현대화할 수 있을까? 아무것도 망가뜨리지 않으면서 말이다.
COBOL 현대화는 일반적인 레거시 코드 리팩토링과 근본적으로 다르다. 익숙한 코드를 더 나은 패턴으로 바꾸는 수준이 아니라, 닉슨 대통령 시절에 만들어진 시스템에서 비즈니스 로직을 역공학으로 복원해야 한다. 수십 년에 걸쳐 얽히고설킨 의존성을 풀어내야 하고, 이제는 코드 자체에만 남아 있는 조직의 암묵지를 해독해야 한다.
과거에는 COBOL 시스템을 현대화하려면 대규모 컨설턴트 인력이 수년씩 매달려 워크플로를 일일이 매핑해야 했다. 그 결과 긴 일정과 막대한 비용이 따랐고, 선뜻 나서는 조직은 거의 없었다.
AI가 이 구도를 바꾸고 있다.
Claude Code와 같은 도구는 COBOL 현대화 작업에서 가장 많은 시간을 잡아먹는 탐색·분석 단계를 자동화할 수 있다. 구체적으로는 다음과 같은 작업이 가능하다.
AI를 활용하면 수년이 걸리던 COBOL 코드베이스 현대화를 몇 분기 안에 완료할 수 있다.
AI는 COBOL 현대화를 비용 면에서 엄두도 못 낼 일로 만들었던 작업들을 효율적으로 처리하는 데 탁월하다. AI가 코드 분석과 구현을 맡는 동안, 팀은 전략 수립, 리스크 평가, 비즈니스 로직에 집중할 수 있다.
AI는 먼저 전체 COBOL 코드베이스를 읽고 구조를 매핑하는 것부터 시작한다.
프로그램 진입점을 파악하고, 호출된 서브루틴을 따라 실행 경로를 추적하며, 모듈 간 데이터 흐름을 매핑하고, 수백 개의 파일에 걸친 의존성을 문서화한다.
이러한 매핑은 단순한 호출 그래프를 훨씬 넘어선다. 공유 데이터 구조, 모듈 간 결합을 만들어내는 파일 연산, 런타임 동작에 영향을 미치는 초기화 시퀀스 등 이런 암묵적 의존성은 파일, 데이터베이스, 전역 상태를 통해 공유되는 데이터를 수반하기 때문에 정적 분석으로는 드러나지 않는다. 바로 이것이 COBOL 현대화를 위험하게 만드는 핵심 요인이기도 하다. 자동화된 발견이 중요한 이유가 여기에 있다. 마이그레이션 과정에서 문제가 생기기 전에 이 숨겨진 관계들을 미리 찾아낼 수 있기 때문이다.
워크플로 문서화도 이 분석 과정에서 자연스럽게 이루어진다.
입력부터 출력까지 데이터가 시스템을 어떻게 이동하는지 추적함으로써, AI는 아무도 구축한 기억은 없지만 모두가 의존하고 있는 처리 파이프라인의 다이어그램과 설명 문서를 만들어낼 수 있다.
코드베이스 매핑이 완료되면, AI는 어떤 컴포넌트를 안전하게 이전할 수 있고 어떤 것을 신중하게 다뤄야 하는지 평가한다. 결합도가 높은 모듈은 현대화 리스크가 크다. 반면 독립적인 컴포넌트는 초기에 단독으로 현대화할 후보로 떠오른다. 중복된 로직은 리팩토링 기회를 가리키고, 기술 부채가 쌓인 영역은 마이그레이션 중 예상치 못한 문제로 터지기 전에 미리 문서화된다.
바로 이 단계에서 인간의 판단이 필수적이다. COBOL 엔지니어들은 AI가 갖출 수 없는 규제 요건, 비즈니스 우선순위, 운영 제약, 리스크 허용 범위에 대한 이해를 갖추고 있다.
계획 단계에서는 현대화 작업을 전략적으로 순서화한 세부 로드맵을 수립한다.
코드 테스트와 검증도 코드 변경에 앞서 미리 정의한다.
실행은 컴포넌트 하나씩, 매 단계마다 검증을 거치며 진행된다. AI는 COBOL 로직을 현대적인 언어로 변환하고, 기존 위치에 그대로 남아 있는 레거시 컴포넌트에 API 래퍼를 씌우며, 전환 기간에 구버전과 신버전 코드를 나란히 실행할 수 있는 스캐폴딩을 구축한다.
각 단계는 성공해서 검증을 통과하거나, 실패해서 범위가 작을 때 수정된다.
실패 시 몇 주치 작업을 롤백해야 하는 대규모 변경이 동시에 진행되는 상황은 생기지 않는다. 팀은 현대화된 컴포넌트가 테스트를 통과하는 것을 직접 확인하면서, 점점 더 복잡한 시스템 부분에 도전할 자신감을 쌓아간다.
위에서 설명한 접근 방식은 규모에 상관없이 모든 COBOL 시스템에 적용할 수 있다.
Claude Code와 같은 도구는 앞서 설명한 탐색·분석 작업의 상당 부분을 자동화해, 팀이 마이그레이션을 자신 있게 계획하고 실행하는 데 필요한 포괄적인 이해를 갖출 수 있게 해준다.
경계가 명확하고 복잡도가 적당한 단일 컴포넌트나 워크플로부터 시작하라. AI를 활용해 철저히 분석하고 문서화한 뒤, 엔지니어와 함께 현대화 계획을 수립하고, 각 단계마다 테스트를 거치며 점진적으로 구현하고, 꼼꼼하게 검증하라. 이 과정이 조직의 자신감을 키우고, 해당 시스템에 맞게 조정이 필요한 부분을 드러내 줄 것이다.
COBOL 현대화를 둘러싼 경제적 셈법이 달라지고 있다. 과거에는 대규모 컨설턴트 인력이 필요했던 작업을 AI가 자동화하면서, 비용 구조 자체가 바뀌었다. 이제 엔지니어들은 도메인 전문성이 필요한 마이그레이션 의사결정에 집중할 수 있다.
단계별 가이드는 코드 현대화 플레이북을 참고하라.