← 최신 논문
💻 computer science

Portable and Secure CI/CD for COBOL: Lessons from an Industrial Migration

이 논문은 레거시 COBOL 시스템의 CI/CD 파이프라인이 겪던 기술 부채 문제를 해결하기 위해 컨테이너화 및 추상화 아키텍처로 전환한 Bankdata 의 사례를 통해 실행 시간을 82% 단축하고 유지보수성을 개선한 성공적인 현대화 전략을 제시합니다.

원저자: Andreas Askholm, Kenneth Johnsen, Jacopo Mauro

게시일 2026-04-02
📖 3 분 읽기☕ 가벼운 읽기

원저자: Andreas Askholm, Kenneth Johnsen, Jacopo Mauro

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

🏭 1. 문제 상황: 낡고 위험한 '수제 공장'

과거 뱅크데이터의 소프트웨어 개발 과정은 마치 1950 년대식 수제 공장과 같았습니다.

  • 상황: 은행의 핵심 시스템은 수십 년 된 'COBOL'이라는 낡은 언어로 만들어져 있었습니다. 이를 업데이트하려면 복잡한 절차가 필요했습니다.
  • 기존 방식 (Jenkins): 업데이트 작업은 '제니스 (Jenkins)'라는 자동화 기계가 담당했는데, 이 기계는 **4 개의 서로 다른 창고 (저장소)**에 흩어진 **수제 도구 (Groovy 스크립트)**들을 사용했습니다.
  • 문제점:
    1. 매번 새로 조립: 작업이 시작될 때마다 필요한 도구들을 매번 창고에서 찾아서 조립해야 해서 시간이 매우 오래 걸렸습니다. (런타임 의존성 설치)
    2. 유리병처럼 깨지기 쉬움: 제니스 기계에 딱 맞게 만들어져서, 기계가 조금만 변해도 전체 공장이 멈췄습니다. (벤더 락인)
    3. 불안정: 도구를 매번 새로 조립하다 보니, "어제 잘 되던 게 오늘 왜 안 되지?"라는 문제가 자주 발생했습니다.
    4. 보안 위험: 도구를 조립하는 과정에서 비밀번호 같은 비밀 정보가 노출될 위험이 있었습니다.

결국 개발자들은 업데이트를 하려면 **724 초 (약 12 분)**나 기다려야 했고, 이는 업무 효율을 떨어뜨리는 큰 걸림돌이었습니다.

🚀 2. 해결책: '모든 것이 준비된' 컨테이너 트럭으로 전환

이들은 공장을 완전히 뜯어고쳐 현대적인 컨테이너 물류 시스템으로 바꾸기로 했습니다.

  • 새로운 방식 (컨테이너화):
    • 미리 준비된 트럭 (OCI 이미지): 이제 모든 도구 (COBOL 컴파일러, 테스트 프로그램 등) 가 미리 싣고 다니는 컨테이너 트럭 안에 들어있습니다.
    • 작업 시작: 트럭이 현장에 도착하자마자 바로 작업을 시작할 수 있습니다. 더 이상 도구를 찾아서 조립할 필요가 없습니다.
  • 중요한 변화 (추상화 레이어):
    • 통역사 도입: 공장의 핵심 로직 (무엇을 할지) 과 기계의 종류 (제니스냐, 깃허브 액션이냐) 를 분리했습니다. 마치 통역사가 있는 것처럼, 어떤 기계가 오든 통역사가 명령을 번역해서 실행하게 만들었습니다.
    • 결과: 이제 공장은 제니스뿐만 아니라 다른 자동화 기계 (깃허브 액션 등) 에서도 똑같이 작동할 수 있게 되어 이동 자유도가 생겼습니다.

📊 3. 성과: 놀라운 속도 향상과 안전

이 리모델링을 통해 얻은 결과는 매우 인상적이었습니다.

  • 속도 82% 단축: 작업 시간이 724 초에서 130 초로 줄었습니다. 마치 12 분 걸리던 출근길이 2 분으로 단축된 것과 같습니다.
  • 안전 강화: 모든 도구가 미리 검증된 컨테이너 안에 들어있어, 외부에서 해킹당하거나 잘못된 도구가 섞일 위험이 사라졌습니다.
  • 유지보수 쉬움: 4 개로 나뉘어 있던 창고가 하나의 깔끔한 창고로 통합되어, 새로운 직원이 들어와도 쉽게 적응할 수 있게 되었습니다.

💡 4. 교훈: 기술보다 중요한 '사람과 문화'

이 프로젝트에서 기술적인 성공만큼이나 중요한 것은 사람들의 마음가짐이었습니다.

  • 낡은 시스템에 익숙한 직원들: 수십 년간 메인프레임 (대형 컴퓨터) 에서 일해 온 COBOL 개발자들은 새로운 방식 (깃허브 등) 을 처음에 두려워했습니다.
  • 함께하는 변화: 기술 팀은 개발자들을 배제하지 않고, 그들의 의견을 듣고 함께 해결책을 찾았습니다. 마치 낡은 공장을 리모델링할 때 기존 노동자들의 숙련도를 존중하며 새로운 도구를 가르쳐 준 것과 같습니다.
  • 균형 잡기: 너무 세분화된 모듈보다는, 직관적으로 이해하기 쉬운 '단일 스크립트' 방식을 선택하여 누구나 쉽게 접근할 수 있도록 했습니다.

🎯 결론: 왜 이 이야기가 중요한가?

이 논문은 **"오래된 시스템을 버리고 새로 만드는 것만 능사가 아니다"**라는 것을 보여줍니다.

은행처럼 엄격한 보안 규정과 **오래된 기술 (COBOL)**이 공존하는 곳에서도, 컨테이너추상화 같은 현대적인 기술을 적용하면 속도, 안전, 유연성을 모두 잡을 수 있다는 것을 증명했습니다.

마치 낡은 증기 기관차최신형 전기 기관차로 바꾸지 않고, 기존 기관차에 최신 엔진과 내비게이션을 장착해서 다시 달릴 수 있게 만든 것과 같은 성공 사례입니다. 이는 금융권을 넘어, 오래된 시스템을 가진 모든 기업에게 귀중한 교훈을 줍니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →