본문 바로가기

블로그

LG CNS 기술블로그 DX Lounge에서 최신 IT 소식을 만나보세요!

AI/Data

대용량 데이터 처리 업무에 효율을 더하다 ‘J-Jobs’

2017.07.03

LG CNS가 개발한 Job Scheduler인 ‘J-Jobs’, 들어보셨나요? 앞으로 총 세 차례에 걸쳐 여러분께 소개드릴 예정인데요. 첫 순서인 이번 시간에는 ‘Job Scheduling’과 ‘Workload Automation’의 개념에 대해서 먼저 알아보고, J-Jobs의 운영관리 기본 기능을 간단하게 소개해 드리도록 하겠습니다.

Job Scheduling과 Workload Automation

Job Scheduling은 단어 자체가 이미 핵심을 잘 드러내고 있는데요. Job은 주로 대용량의 데이터를 처리하는 배치 작업이나 프로세스를 의미하고, Scheduling은 특정한 시간이나 이벤트 발생 등의 조건을 만족할 시 Job을 자동으로 실행하는 것을 의미합니다.

Job Scheduling은 반복적으로 일어나는 일들을 자동으로 실행해 줌으로써, 사용자에게 편의성을 제공하여 금융업, 제조업 등의 산업 분야에서 두루 활용되고 있습니다. OS(Operating System, 운영 체제), DBMS(DataBase Management System, 데이터베이스 관리 시스템), ERP(Enterprise Resource Planning, 전사적 자원 관리), BPM(Business Process Management, 사업 공정 관리) 등이 Job Scheduling을 사용하는 대표적인 프로그램입니다.

그러나, 일반적으로 Job Scheduling은 하나의 플랫폼이나 장치에 종속되어 있다는 점, 사전에 정의한 작업 외에 추가적인 프로그래밍이나 스크립트를 처리하기 힘들다는 점, 등록한 스케줄 이외에는 처리가 어렵다는 점 등의 한계점을 갖고 있었습니다.

l J-Jobs(출처: http://devon.lgcns.com/html/index.html)

Workload Automation은 Job Scheduling을 포함하면서 위에서 언급한 한계점을 개선하여 확장한 개념입니다. 중앙에서 서로 다른 여러 개의 서버 통합 운영, 서버 간 파일 송수신, 오류 보고 및 자동 재실행 등 Job Scheduler보다 복잡한 기능들이 추가되었는데요. 그에 따라 안정성과 효율성 등이 더 부각되었습니다. Job Scheduler와 쓰이는 곳은 비슷하지만 주로 대규모 시스템들에서 더욱 복잡한 기능과 안정성은 물론 운영관리의 효율성까지 두루 갖춘 Workload Automation을 사용합니다.

이처럼 Workload Automation이 Job Scheduling을 포함하는 개념인데다, 최근에는 Job Scheduling이라고 표기된 솔루션들이 Workload Automation의 기능을 지원하는 경우도 많아서 두 단어는 함께 언급되거나 같은 의미로 사용되곤 합니다.

J-Jobs는 Job Schedule이면서 Workload Automation 솔루션입니다. J-Jobs는 유연한 실행 아키텍처를 통해 부하분산, 장애 대처 등의 고가용성을 보장하며, Web 기반의 운영관리 환경을 지원하여 Web 브라우저를 통해서 언제 어디서든 작업을 관리할 수 있는 편의성을 제공합니다. 다음에서는 J-Jobs의 운영 관리 화면을 보며 작업의 단위인 Job을 정의하고 스케줄을 등록하여 Job을 실행하는 과정을 소개하겠습니다.

직관적인 Job 편집기

J-Jobs는 배치 작업의 단위를 Job으로 정의하고, Job을 쉽게 생성하고 수정할 수 있도록 WYSIWYG 방식의 직관적인 Job 편집기를 제공합니다. Job은 세부적으로 Step이라는 실행 단위를 가지며 Step은 미리 제공되는 템플릿을 이용해 생성합니다.

Step에 사용된 템플릿의 종류에 따라 Job의 역할이 달라지며 다양한 템플릿을 연계해 복잡한 기능을 수행할 수도 있습니다. 템플릿을 드래그하여 놓으면 Step이 생성되고 Step들을 연결하여 하나의 Job을 완성합니다.

l Job 편집 화면

위 화면은 아이스커피를 만드는 과정을 Job으로 표현한 것입니다. 커피를 추출하고 얼음을 준비하는 과정을 동시에 수행하고 시럽 추가 여부를 판단하여 최종적으로 아이스커피가 완성되는 과정의 흐름을 직관적으로 보여주고 있습니다. 여기에 우유를 추가하는 템플릿을 드래그하여 Milk 라는 이름의 Step을 더하는 방식으로 Job을 수정할 수도 있습니다. 다음으로는 정의된 Job의 스케줄링에 대해 살펴보겠습니다.

스케줄 등록과 Job 실행

Job 편집기를 활용해 Job을 정의한 후에는 Job을 바로 실행할 수 있는데, 스케줄을 등록해 지정한 시간마다 Job이 반복적으로 실행되도록 할 수도 있습니다. 스케줄을 등록할 때는 요일, 시간 등의 시점을 지정하거나 스케줄 간의 간격을 지정하는 등 다양한 방법을 활용할 수 있습니다.

l 스케줄 등록 화면

위 화면은 앞서 예시로 들었던 ‘아이스커피’ Job이 매일 아침 8시 30분에 실행되도록 ‘모닝커피’라는 이름의 스케줄을 등록한 화면입니다. 스케줄을 등록한 후에도 스케줄이 실행되는 시간대를 변경하거나 사용을 중지할 수 있으며 동일한 Job에 다른 스케줄을 추가하는 것도 가능합니다.

예를 들어 아침 8시 30분의 ‘모닝커피’ 스케줄 이외에 오후 2시 30분에도 ‘아이스커피’ Job을 실행하는 ‘티타임커피’ 스케줄을 새로 등록할 수 있습니다. 이렇게 등록한 스케줄에 따라 실행된 Job의 실행내역을 확인할 수 있으며 정상적으로 작동하였는지 확인할 수 있습니다.

Job 실행 이력 확인

Job의 실행내역은 별도의 화면에서 확인할 수 있는데요. 여러 개의 Job의 실행내역을 한눈에 확인할 수 있습니다. 상태에 따라 실행내역을 분류하여 관리할 수도 있으며 각각 실행내역의 상세 정보를 확인할 수도 있습니다.

l ‘아이스커피’ Job의 실행 세부 내용
l 상태별 Step 화면

위 화면은 ‘아이스커피’ Job의 실행내역 세부 내용을 확인하는 화면입니다. Step의 상태별로 완료는 초록색, 에러는 빨간색 등의 다른 색을 적용해 전체 흐름을 직관적으로 파악할 수 있으며, 각각의 Step의 실행 세부 내용을 확인할 수도 있습니다. 만약 위와 같이 Job이 비정상 종료된 경우 실행 내용과 에러 메시지 로그를 확인할 수도 있으며 즉시 재실행을 요청할 수도 있습니다.

이번 시간은 Job Scheduling과 Workload Automation의 개념에 대하여 알아보고 J-Jobs의 운영 관리 기본 기능들을 소개해보았습니다. 남은 두 번의 시간에는 J-Jobs의 다양한 템플릿들에 대해 소개하고 조금 더 복잡한 Job을 만들어보도록 하겠습니다.

글 l LG CNS 아키텍처솔루션팀

챗봇과 대화를 할 수 있어요