배치 자동화와 오픈소스

1.
증권IT를 이 십여년 했지만 배치와 가깝지 않습니다. 배치와 온라인으로 구분하는 프로세스중 주로 온라인인 업무와 관련한 일을 주로 했습니다. Margin FX와 관련한 원장시스템을 구축할 때 업무의 성격상 ‘실시간 배치’의 개념으로 프로세스를 구현했습니다. 그래서 시세서비스를 구축할 때 Shared Memory를 초기화하는 프로세스를 Crontab에 등록한 것이 전부라면 전부입니다.

요즘 하는 일은 다릅니다. 처리하는 데이타의 성격도 다양하고 기준 데이타(Reference Data)가 생산하는 것이 중요합니다. 예를 들어 KRX의 시세분배시스템을 통하여 시세를 받을 때 장 시작전 마스터 데이타를 받습니다. 당일 거래의 기준이 되는 데이타입니다. 이를 외부에서 받지 않고 자체로 만들어야 하는 만큼 배치업무의 중요성을 짐작하실 수 있으리라 생각합니다. 배치업무가 중요합니다만 배치업무를 위해 사용하는 프로그램을 특정한 회사의 제품을 도입하는 이유를 이해하지 못했습니다.

그러다가 우연히 아래의 기사를 읽었습니다.

국민은행 윤종규 행장이 IT투자를 놓고 고심에 빠졌다. 엄밀히 말하면, 국민은행 IT본부 전체가 적지 않은 고민에 휩싸였다. 지난해 12월말, 국민은행은 한국IBM과 OIO(Open Infrastructure Offering) 계약을 체결하면서 기존에 사용하던 ‘BMC’ 배치자동화 솔루션 연장 계약을 체결하지 못했다. 그 이유는 지난해 11월 OIO 계약을 위해 접수한 견적에서 BMC소프트웨어가 제안한 가격이 기존 7년 100억원대에서 크게 올라 5년 300억원(VAT 별도)을 웃돌았기 때문이다. IBM 메인프레임 OIO 연장을 1400억원대 가격으로 계약을 체결했는데, 3rd SW인 배치자동화 솔루션 ‘콘트롤-엠(Control-M)’ 견적이 300억원이 넘게 접수돼 계약을 체결을 미뤘다는 게 국민은행측 설명이다.

국민은행에서 진검승부를 벌이게 될 BMC의 ‘콘트롤-M(CONTROL-M)’과 CA의 ‘워크로드 오토메이션’ 제품은 은행의 배치성 업무를 자동화하는 솔루션이다. 은행이 이 솔루션을 도입하면 ‘작업 정의->스케줄 정의->작업의 실행->통합 모니터링->에러 작업 처리->리포트 출력 등 일련의 배치 작업 흐름 관리 기능 제공받을 수 있다.

배치자동화 또는 업무자동화라고 불리며, 이 솔루션의 자동화 기능을 통해 은행은 ▲사용자 조작 실수의 최소화 ▲배치 작업들 간 연관관계의 보장 ▲현실성 있는 다양한 스케줄링 기능 ▲통일된 모니터링 인터페이스 등 효과를 거둘 수 있다. 논란이 된 BMC 외에 CA, IBM, 히다찌 그룹 계열 LG히다찌가 관련 솔루션을 보유하고 있다.
국민은행 윤종규號, ‘배치자동화’ IT도입 시험대 올라중에서

우선 유지보수료가 300억원이라는 사실에 놀랐습니다. 더구나 돈을 관리하는 핵심 업무에 Control-M을 적용하는 사실에 또 한번 놀랐습니다. 이런 생각을 했죠(^^)

“아! 무척이나 유명하고 중요한 제품이네. 내가 무식했네”

2.
Control-M이 하는 일을 직접 보면서 흥미가 일어났습니다. Control-M이 모니터링하는 프로그램은 아래와 같은 모습입니다.

bmc_controlm

네모가 정보를 가지고 있고 색깔이 현재 상태를 표현합니다. 그리고 선이 프로세스간의 관계를 보여줍니다. 직관적인 UI입니다. 이 프로그램이 얼마나 유명한지 Gartner가 낸 보고서는 BMC를 선두 기업이라고 합니다. 가트너의 분류에 따르면 Control-M은 Workload Automation Solution입니다. BMC가 내놓은 보고서인’ The Power of Simple: Taking Workload Automation to the Next Level’에 포함된 가트너 보고서입니다.

Download (PDF, 428KB)

소리 없이 강하고 소리 없이 돈 번다. Control-M이 그런 소프트웨어입니다. 업무의 특성상 고객이 안정성에 대한 신뢰가 없으면 선택할 수 없는 소프트웨어이므로 한번 고객은 ‘영원한 고객’입니다. 선택이 보수적일 수 밖에 없습니다.

그렇지만 대체할 수 있는 오픈소스가 없을지 궁금했습니다. 앞서 가트너 보고서를 보면 한 회사가 등장합니다. SOS-Berlin입니다. 이 회사가 만든 제품은 Job Scheduler입니다. 이에 대한 소개입니다.

SOS-Berlin’s Job Scheduler product is an open-source workload automation/job-scheduling tool licensed under the GNU Public license (GPL; original version). The commercial Job Scheduler license enables technology providers to bundle and ship the Job Scheduler with their application without the restrictions of the GPL. For customers with commercial licenses, SOS-Berlin also offers different support levels and services. It lacks the sophistication and breadth of functionality of commercial tools, but is capable of basic automation by launching executable files, shell scripts and database procedures. It has a basic, built-in GUI, but is mainly configured and managed using XML files for automation.

Strengths
• SOS-Berlin’s Job Scheduler product has open-source credentials that make it attractive for organizations with an
open-source tool adoption policy.
• SOS-Berlin has lower capital expenditure costs, because it offers an open-source product.
• Job Scheduler can be embedded by third-party technology providers that need scheduling and automation capabilities.

Cautions
• It lacks the advanced features and functionality of a full-fledged commercial offering.
• Although the capital expenditure may be lower, or upfront costs may be lower, the operating expenses may be
high, because much of the functionality needs to be maintained through customized development.
• New feature development and, in some instances, code defects take longer to be addressed, making it less
attractive to enterprises.

job chain

고개을 보면 독일 기업이라서 그런지 독일회사가 많습니다. 그중 하나가 Deutsche Börse입니다.

JobScheduler is used for automation of risk calculation cycles, file transfers,backups and maintenance tasks.

오래전 Linux Journal이 다루었습니다. 2008년인데 이후 더 다루어지지 않은 이유가 무엇일지 궁금하네요.

Open Source Job Scheduler

3.
Job Scheduler를 위해 사용할 수 있는 오픈소스를 조사한 적이 있었습니다. 이 때 찾았던 제품은 schedulix입니다. 소개를 보면 상용제품으로 판매하다거 오픈소스로 전환한 경우입니다. 앞서 Job Scheduler처럼 독일 기업이 만든 제품입니다.

schedulix was released as open source under the GNU AGPL licence in 2013 and is functional identical to the BASIC editon of the BICsuite Enterprise Job Scheduling System. BICsuite is a commertial product of independIT Integrative Technologies GmbH. BICsuite BASIC is in production use since many years and stands out in functionality, stability and reliability. independIT Integrative Technologies GmbH puts the BICsuite BASIC Edition at disposal to customers free of charge for many years.

desktop

schedulix

앞서 Job Scheduler와 비교하면 완성도는 높아보입니다. 편리성을 사용해보지 않아서…

사실 오래전 Java로 솔류션을 개발할 때 사용했던 제품은 QuartzFlux입니다. 이중 Flux는 상용화를 하였네요. 앞서 Job Scheduler도 그렇고 Flux도 그렇고 Control-M과 비교하면 파일송수신 기능이 더해진 자동화도구입니다. 사실 배치업무를 구축하다고 보면 배치프로세스의 결과를 다시 배포할 일이 많습니다. 가장 기본적인 파일송수신 프로토콜은 FTP입니다. 두 제품 모두 FTP 더하기를 지원하네요.

Control-M은 대중적으로 유명하지 않습니다. 그렇지만 Cash Cow역할을 하는 소프트웨어라고 생각합니다. 이유는 소프트웨어 구조가 어떻게 변하든 배치 업무는 계속 존재하기 때문입니다. 대부분 배치 업무는 아주 중요한 일을 하는 경우가 많습니다. IT조직이 필요한 일은 제품화하여 성공한 경우입니다. 다만 Control-M은 너무 비싸기 때문에 틈새시장이 있지 않을까 추측을 했습니다. Job Scheduler의 UI를 대폭 개선하면 가능성이 있을까 상상을 했었습니다. 결과는?(^^)

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.