김진철의 How-to-Big Data | 빅데이터 주요 기술의 조건 (5)

CIO KR

LHC 컴퓨팅 그리드의 워크플로우 관리 기술
LHC 실험 장치와 LHC 컴퓨팅 그리드 기술의 상당수는 LHC 데이터 분석 과정을 자동화하기 위한 기술들이라고 앞서 말한 바 있다. 이번 글에서는 LHC 빅데이터 기술 중에서 가장 진보된 자동화 기술의 하나인 워크플로우 관리(workflow management)를 소개하고, 이러한 워크플로우 관리 기술이 일반 기업의 빅데이터 활용에서 어떤 중요성이 있는지 같이 생각해보고자 한다.

LHC 과학자들이 LHC 컴퓨팅 그리드 기술을 개발하던 2000년대 초반, LHC 실험에 직접 참여하지는 않지만 그리드 컴퓨팅 기술을 다양한 분야에서 응용하는 방법을 연구하던 컴퓨터 과학자들과 소프트웨어 엔지니어들이 다양한 그리드 응용 기술들을 연구하고 발표하기 시작했다. 당시 XML을 이용한 웹 기술 기반의 서비스 지향 아키텍처와 관련 기술들이 크게 발전하던 때라, 그리드 컴퓨팅 서비스를 포함한 서비스 형태로 제공되는 다양한 연구 인프라들을 메시업하여 자동화하는 기술에 대한 관심이 높아졌다.

당시 그리드 기술의 대표적인 응용 분야로 LHC 실험과 함께 주목받던 분야가 휴먼 게놈 프로젝트로 DNA 서열 정보가 대량으로 생산되기 시작하면서 시작된 생물정보학(bioinformatics) 분야였다. LHC 실험과 마찬가지로, DNA 시퀀서(sequencer) 장비로 읽어낸 DNA 서열 정보 단편들을 하나의 완전한 DNA 서열 정보로 조립하고 맞추기 위해 많은 계산이 필요했는데 이 때문에 그리드 컴퓨팅과 같은 고성능 컴퓨팅 기술이 필요했던 것이다.

그리드 컴퓨팅이 적용되기에 적합한 응용 분야로서 생물정보학의 특성은 다음과 같다. 첫번째로, DNA 염기 서열 정보를 비롯해 단백질체 정보, 대사 네트워크 정보 등 생물정보학에서 활용되는 데이터들은 종류도 많고, 복잡도도 상당히 높다. 생명체가 복잡도가 높은 복잡계 시스템이기 때문에, 생명체를 기술하기 위한 정보의 종류도 DNA 염기 서열, 아미노산 서열 및 단백질 3차원 구조 등의 단백질체 정보, 각 단백질이 서로 어떻게 상호작용하면서 몸 안에서 에너지를 이동시키는지에 대한 대사 네트워크 정보, 화학 물질과 복합물이 어떻게 체내에서 독성을 일으키는지에 대한 정보를 제공하는 독성 정보까지, 생명체에 대한 문제를 풀기 위해 사용하는 정보의 종류가 다양하고 정보의 양도 많다.

연구 대상이 되는 생명체를 연구하기 위한 분석 프로토콜을 디자인, 개발하는 것이 생물학과 생물정보학의 주요 연구 주제 중의 하나이다. 이렇게 연구자별로 디자인, 정의된 분석 방법론과 프로토콜은 다양한 생명체에 적용할 수 있어서 분석 과정이 자동화되어 있을 경우 재활용성이 높다.

생물정보는 전 세계의 다양한 생명과학 및 의학 연구소에서 데이터를 수집, 보관하여 제공하기 때문에 전 세계에 걸쳐 분포, 저장되어 있다. 이렇게 전 세계에 분산되어 보관된 생물정보를 이용한 생명체 분석은 연구자가 소속된 연구소의 컴퓨팅 인프라를 사용하거나 데이터가 수집, 보관된 기관이 아닌 컴퓨팅 인프라 서비스를 제공하는 국립 컴퓨팅 센터의 컴퓨팅 자원을 이용하는 경우가 많기 때문에 컴퓨팅 인프라도 지리적으로 넓은 지역에 걸쳐 분포되어 있다.

위와 같은 특성 때문에 LHC 컴퓨팅 그리드(LHC Computing Grid)와 같은 전지구적인 그리드 컴퓨팅 인프라가 전 세계적인 생물정보 및 생명과학, 감염병 국제공동연구에 활용되어 크게 기여할 수 있겠다는 생각에 그리드 컴퓨팅 연구자들이 주목하게 되었다.

생물정보학 데이터들은 미국의 국립생물정보센터(National Center for Biological Information; NCBI)와 유럽의 유럽생물정보학연구소(European Bioinformatics Institute; EBI) 등의 주요 생물정보학 데이터 서비스 제공자들을 중심으로 웹 사이트와 웹 서비스 API 형태로 제공된다. 데이터는 주로 FTP서버 등으로 공유되며, 분석을 위한 데이터는 연구자의 컴퓨터에 복제되어 사용되는 경우가 많다. 형식이 분명하게 정의되지 않은 비정형 데이터인 경우가 많고, 메타데이터가 기관별로 정의되어 전 세계적으로 통일된 형식의 메타데이터는 없는 상태이다.

생물정보학 데이터가 여러 지역에 다양한 형태로 분산되어 있지만, 연구자들은 이렇게 분산된 데이터들을 같이 활용하고 분석하여 의미 있는 분석 결과를 내어놓을 수 있도록 많은 계산을 해야 했다. 이런 이유로 그리드 컴퓨팅과 같은 분산 컴퓨팅 인프라가 연구자들의 협업과 공동 연구에 유용하게 쓰일 수 있었다. 컴퓨팅 인프라뿐만 아니라, 생물학의 경우 실험과 연구대상에 대한 분석 과정에 많은 시간이 필요한 경우가 많아서, 데이터 분석을 위한 기술과 전문성이 공동 연구자 간에 쉽게 공유될 수 있어야 연구의 속도가 빨라지고 적절한 시간 안에 프로젝트를 성공적으로 마무리할 수 있었다.

생물정보학 데이터 분석의 많은 경우에 대부분 연구자가 분산된 분석 도구들을 하나하나 순차적으로 적용해서 분석해나가기 때문에 시간이 오래 걸리는 경우가 많다. 의존성이 없는 분석 과정을 병렬로 진행할 수 있으면 시간을 많이 단축할 수 있다. 그리고, 다양한 데이터 소스 간에 입력값 및 출력값 형식이 서로 호환되지 않는 경우가 많아 분석에 활용할 때 형식에 맞게 변경을 해주어야 하는 경우가 많은데 이렇게 데이터 형식 간의 변환을 일정한 규칙에 따라 자동화할 수 있는 도구가 있다면 분석 과정의 효율을 높일 수 있다.

여러 생물정보학 연구자들이 다양한 데이터 세트를 분석하는 경우가 많아 동시에 병렬로 많은 데이터 셋에 대한 공통된 분석 과정을 실행할 수 있다면 분석의 효율이 크게 높아지게 된다. 그리드 컴퓨팅 자원이 생물정보학 분야에서 쓸모 있는 것이 바로 이런 이유 때문이다.

생물정보학 분석 과정에서 쓰인 분석 스크립트나 분석 과정을 기술한 워크플로우, 소프트웨어 도구의 파라미터값이 적절하게 공유되지 않아 분석 결과를 낼 수 있는 파라미터 값을 찾는데 들인 시행착오를 다른 연구자들이 그대로 겪는 경우가 많아 시간을 낭비하게 되는 경우가 많다. 분석 과정에서 연구자들이 사용한 워크플로우나 소프트웨어 도구의 파라미터들은 분석 결과를 재연하고 확인하는 데 꼭 필요한 정보이지만, 논문이나 보고서에 세세하게 밝히기 어려운 경우가 많아 유지하고 공유하기가 어려운 경우가 많은데, 이런 워크플로우나 파라미터값들이 연구 결과와 같이 공유되어 활용될 필요가 있다.

이렇게 과학기술 데이터를 분석하는 데 사용한 분석 과정을 기술한 스크립트 코드나 워크플로우, 분석 파라미터와 같이 연구 결과와 데이터를 재연하는 데 꼭 필요한 분석 스크립트 코드나 워크플로우, 분석 파라미터 등과 같은 복잡한 정보들의 이력과 출처를 추적하고 관리할 수 있는 정보시스템의 기능이나 특성을 프로비넌스(Provenance; 출처, 기원이라는 뜻)라고 한다. 생물정보학이나 핵융합 플라즈마 시뮬레이션과 같이 복잡한 데이터 분석과 계산을 통해 데이터를 가공하여 새로운 연구 결과와 통찰을 도출하는 계산 과학 분야에서 이런 프로비넌스 관리가 매우 중요한데, 이런 이유로 프로비넌스는 중요한 연구 자산으로 관리될 필요가 있다.

위와 같은 생물정보학 분야 데이터 분석 과정의 특성과 어려움을 극복하고, 프로비넌스 관리와 분석 결과 재연을 효과적으로 할 수 있는 소프트웨어 기술로서 워크플로우 기술의 활용이 주목받게 되었다. 이런 기술적 배경에서 그리드 컴퓨팅 인프라를 이용한 eScience 과학 워크플로우 기술로서 Taverna(“터버나”라고 읽는다. 원래 그리스식 레스토랑을 일컫는 단어)가 개발되었다.



Taverna는 LHC 컴퓨팅 그리드 기술이 한창 발전하던 2000년대 초반, 당시 생물정보학 분야에 필요한 그리드 컴퓨팅과 서비스 인프라 기술을 연구하던 많은 연구그룹 중의 하나인 영국 맨체스터 대학의 정보 기술 연구 그룹(Information Management Group, 현 eScience 연구실)이 영국의 다른 대학, 연구소, 기업과 함께 2001년부터 myGrid라는 프로젝트를 영국과학공학연구위원회(Engineering and Physical Sciences Research Council; EPSRC)의 지원을 받아 시작하면서 개발이 시작되었다.

myGrid는 그리드 기술을 바탕으로 IT 자원이 필요한 과학, 공학 연구를 손쉽게 지원할 수 있는 과학기술 소프트웨어와 eScience 연구 환경을 제공하는 것을 목표로 만들어졌다. myGrid 서비스가 서비스를 제공하는 분야 중 하나로 연구개발을 집중했던 분야가 바로 생물정보학이었다. Taverna는 이 myGrid 인프라를 이용해 과학기술 데이터 분석과정을 데이터 흐름(data flow) 과정에 따라 기술되는 워크플로우 형태로 표현하고, 각 워크플로우의 단위 작업별로 myGrid와 EGEE 등의 대규모 그리드 인프라의 자원을 사용할 수 있도록 만든 과학기술 데이터 분석용 워크플로우 엔진 기술이었다.



Taverna는 데이터 분석 워크플로우를 그래픽 사용자 인터페이스(Graphical User Interface; GUI)로 손쉽게 편집하여 만들 수 있게 돕는 클라이언트 환경인 Taverna 워크벤치(Workbench)와 웹 포탈 환경, 그리고 그리드 컴퓨팅 환경과 데이터 소스 등의 서비스에 접근하여 실제로 워크플로우를 실행하고 그 결과를 저장, 관리하는 Taverna 서버로 구성된다.

Taverna의 워크플로우는 SCUFL2라고 하는 워크플로우 기술 언어로 기술된다. Taverna 워크벤치의 워크플로우 편집기는 SCUFL2로 기술된 워크플로우를 직관적으로 편집할 수 있게 돕는 편집기로, SCUFL2언어를 직접 다룰 수 있으면 워크플로우를 자동으로 생성, 변경할 수 있다. Taverna를 개발한 맨체스터 대학교의 캐롤 고블(Carol Goble) 교수 연구진은 다양한 워크플로우 엔진 간의 워크플로우 기술(description)의 상호운용성(interoperability)을 높일 수 있는 대안 표준 워크플로우 기술언어로서 공통 워크플로우 언어(Common Workflow Language; CWL)이라는 표준 언어도 다양한 워크플로우 소프트웨어 개발 연구진과 회사와 함께 개발하고 있다. 최근 3.0 이상 버전의 Taverna는 이 CWL형식으로 워크플로우를 저장하여 다른 워크플로우 엔진에서 실행하는 것도 가능해졌다.

워크플로우의 각 작업요소는 기본적으로 Taverna 서버의 지역 자원(local resource)에서 실행할 수 있는 소프트웨어와 라이브러리들이지만, 워크플로우에 SOAP 기반 웹 서비스, REST API를 호출하는 작업 요소를 추가할 수 있어 사실상 HTTP 프로토콜에 따라 제공되는 서비스는 원격으로 호출하여 워크플로우의 작업 요소로 추가하는 것이 가능하다. LHC 컴퓨팅 그리드와 같은 그리드 컴퓨팅 자원들도 OGF(Open Grid Forum)의 DRMMA(Distributed Resource Management Application API)와 같은 표준 웹 서비스 API를 통해서 원격으로 호출하고 사용할 수도 있다.



앞에서 설명했듯이 과학기술 워크플로우의 가장 큰 효용은 바로 재연성과 재활용성이다. 맨체스터 대학 정보 관리 그룹과 옥스포드 대학의 데이빗 드 루르(David de Roure) 교수 연구실을 중심으로 한 myGrid 컨소시엄과 옥스포드 대학 e-Research 센터를 중심으로 한 영국 e-Research 남부 컨소시엄(e-Research South UK regional consortium)은, Taverna로 작성된 그리드 컴퓨팅 워크플로우를 연구자들 간에 공유, 축적, 발전시킬 수 있는 커뮤니티로서 myExperiment라는 서비스 포탈을 개발하여 서비스하기 시작했다.

myExperiment 포탈은 2007년에 서비스를 하기 시작하여, 현재는 Taverna 워크플로우를 출판하고 공유하는 거대한 과학 기술 소셜 네트워크 서비스로 발전하고 있다. REST API를 이용하여 Taverna 워크플로우를 검색하고 원격으로 등록, 다운로드하거나 워크플로우의 저자 및 출처 등의 다양한 메타데이터를 조회, 등록할 수 있는 기능을 제공하여 연구자의 필요에 맞는 워크플로우를 검색하여 데이터 분석 과정을 자동화하여 활용할 수 있는 인프라를 제공한다. myGrid 서비스를 이용해 그리드 환경에서 실행되고 있는 워크플로우 작업에 대한 정보를 열람할 수 있는 API를 제공한다. myExperiment API를 이용해 직접 그리드 컴퓨팅 인프라에서 워크플로우를 실행하는 기능은 아직 제공되지 않지만 앞으로 제공될 것으로 보인다.



myExperiment 포탈에서는 Taverna 워크플로우를 편집하고 공유할 수 있는 Taverna 워크벤치 및 워크플로우 공유 서비스뿐만 아니라, 생물정보학 데이터 분석에 활용할 수 있는 다양한 소프트웨어 도구들도 같이 제공하여 myExperiment 서비스의 활용성을 높이고 있다. 2006년 2007년 JAX 혁신상(JAX Innovation Awards)에 빛나는 Bioclipse와 같은 유명한 소프트웨어와 함께 Taverna를 이용해 분석, 생성한 데이터를 추가 분석하고 다루는데 필요한 다양한 소프트웨어 도구를 제공한다. 시맨틱웹(semantic web) 기술 기반의 링크드 데이터 형식과 SPARQL 엔드 포인트를 제공해서 RDF 자원 기술 프레임워크(RDF) 형식으로 저장된 생물정보학 및 myExperiment의 공개 데이터의 링크드 데이터를 검색, 조작할 수 있다.

Taverna와 myExperiment 덕분에 새로운 발견과 치열한 혁신의 경쟁 속에 있는 생물학 및 생물정보학 연구자들이 전세계에 걸쳐 구축된 다양한 생물정보 데이터베이스와 EGEE 그리드 컴퓨팅 인프라를 이용해 생물정보 및 데이터 분석 과정을 자동화하고 시간을 단축할 수 있었다. Taverna를 통해 데이터 분석 프로세스를 자동화하고, 복잡한 분석 프로세스를 반복적으로 사용할 수 있었으며, 데이터의 위치에 상관없이 자신의 연구실에서 필요한 데이터에 원격으로 접속하면서 새로운 연구 결과를 내놓을 수 있었다. 복잡한 분석 과정을 반복적으로 다양한 생물종에 적용해 활용함으로써, 연구 데이터 축적을 빠른 시간 안에 할 수 있게 되어 연구 결과의 신뢰성과 재연성을 높일 수 있게 되었다.
 

---------------------------------------------------------------
김진철 칼럼 인기기사
-> 김진철의 How-to-Big Data | 연재를 시작하며
-> 김진철의 How-to-Big Data | 빅데이터 활용의 근본적인 질문 - 해결하려는 문제가 무엇인가?
-> 김진철의 How-to-Big Data | 빅데이터 수집에 관한 생각 (1)
-> 김진철의 How-to-Big Data | 빅데이터 수집에 관한 생각 (2)
-> 김진철의 How-to-Big Data | 빅데이터 수집에 관한 생각 (3)
---------------------------------------------------------------

최근 생물학 분야에서는 DNA 서열 분석을 비롯한 분자 생물학 데이터를 사용하는 경우가 많아지고 마이크로 RNA 등의 분자 생물학 연구가 첨단 지식을 이끌게 되면서, 정밀한 분석 과정을 통해 얻은 결과를 다른 연구 그룹이 재연해내기가 어려운 경우가 많아졌다. 이렇게 전문성과 분석 방법의 난이도가 높아지면서 연구의 재연성이 떨어지게 되면, 연구 부정이 일어날 가능성이 높고 연구의 신뢰성이 떨어질 위험이 높다. Taverna를 이용한 데이터 분석 과정 자동화가 생물정보학 데이터 분석 과정의 재연성을 높여서 연구의 신뢰성을 높이는 데 크게 기여하였다.

Taverna기반의 워크플로우를 공유하고 관련 연구자들끼리 네트워킹을 지원하는 myExperiment 포탈을 통해서 Taverna 워크플로우를 사용해서 연구하는 연구자들끼리 서로의 워크플로우를 검증하고 반복, 재활용하여 생물학 및 생물정보학의 연구 생산성이 크게 높아졌다. 커뮤니티를 통해 검증된 워크플로우를 통해 생물정보 데이터 분석 방법의 신뢰성이 높아지고, 풍부해진 데이터 분석 방법을 활용한 새로운 연구 결과 창출과 생명공학 기술 혁신이 촉진되었다.

 


빅데이터 시스템에서 워크플로우 관리 기술의 중요성
워크플로우 기술은 전혀 새로운 기술은 아니다. 사실, 서비스 지향 아키텍처가 주목을 받기 시작하면서, OASIS를 통해 제정된 “비즈니스 프로세스 실행 언어(Business Process Execution Language; BPEL)”, OMG의 비즈니스 프로세스 워크플로우 표준인 “비즈니스 프로세스 관리 표현(Business Process Management Notation; BPMN)”과 같이 비즈니스 프로세스들을 그래픽 워크플로우 언어로 정의하여 비즈니스 프로세스를 자동화하는 기술은 많이 성숙되어 있다[8-9].

왜 빅데이터 기반 비즈니스에서 이런 워크플로우 기술을 중요하게 고려해야 하는가? 위에서 얘기한 바와 같이 워크플로우 기술이 빅데이터 비즈니스에서만 유독 필요한 것은 아니지만, 빅데이터 기반 비즈니스에서 워크플로우 기술이 중요한 이유는 다음과 같다.

첫번째로, 빅데이터 수집, 가공, 통합, 분석 과정을 손쉽게 자동화하고, 문제점을 추적할 수 있게 해주기 때문이다. 빅데이터 비즈니스 시스템에서 가장 많이 일어나는 작업인 데이터 수집 과정에서의 데이터 가공과 다양한 데이터 소스로부터 불러온 데이터들의 통합(integration), 대규모 데이터 분석 등의 과정은 데이터가 특정한 프로세스를 따라 흐르면서 변화하는 데이터 흐름으로 표현될 수 있다. 이러한 데이터 흐름에 따른 데이터의 변화 과정을 표현하고 관리하는 워크플로우 엔진을 사용할 경우 빅데이터를 사용하는 비즈니스 프로세스를 직관적으로 자연스럽게 자동화된 방식으로 실행할 수 있기 때문이다.

여기서, 일반적인 비즈니스 워크플로우 관리 시스템과 빅데이터를 위한 워크플로우 관리 시스템의 차이를 잠시 짚고 넘어가도록 하자. 대부분의 비즈니스 워크플로우 관리 시스템은 비즈니스 프로세스를 작업들의 연속으로 보고 이러한 작업을 제어하고 통제하는 프로세스를 기술하도록 만들어져 있다. OASIS의 “비즈니스 프로세스 실행 언어(Business Process Execution Language; BPEL)”, OMG의 “비즈니스 프로세스 관리 표현(Business Process Management Notation; BPMN)” 표준 기반의 워크플로우 소프트웨어 대부분이 이런 방식으로 표현된다. 이렇게 비즈니스 프로세스를 작업들을 제어, 통제하는 관점에서 기술하고 표현하는 워크플로우 기술을 “제어 흐름 워크플로우(Control-flow Workflow)”라고 한다.

위의 비즈니스 프로세스 워크플로우 기술과는 다르게 빅데이터 시스템과 데이터 과학을 위한 워크플로우는 데이터의 흐름에 따라 데이터가 변화되고 처리되는 방식을 기술하는 방식으로 워크플로우가 기술, 표현되며 워크플로우의 각 작업 요소들이 주고받는 것은 데이터이다. 이렇게 데이터의 흐름에 따른 데이터의 변화, 가공 과정을 기술, 표현하는 관점에서 프로세스를 표현, 작성하도록 한 워크플로우 기술을 “데이터 흐름 워크플로우(Data-flow Workflow)”라고 한다.

일반적인 제어 흐름 워크플로우에서 각 워크플로우 요소들 간에 주고받는 정보는 주로 작업 통제와 실행을 위한 파라미터와 정보들이며, 작업의 순서와 분기(branch)에 따라 워크플로우가 기술된다. 데이터 흐름 워크플로우는 데이터가 가공, 변환되는 과정을 표현하기 때문에 워크플로우 요소 간에 주고받는 정보는 바로 데이터이며, 빅데이터 분석과정에서 요구되는 데이터 가공과 분석과정을 직관적으로 표현하기에 더 용이하다.

데이터 흐름 워크플로우 형태로 비즈니스 프로세스를 기술하는 Taverna와 같은 워크플로우 기술은 이런 이유로 빅데이터 처리와 분석 과정을 자동화하기에 적합했고, 생물정보학과 같은 과학 빅데이터 처리 및 분석에 쉽게 적용될 수 있었다. 빅데이터를 활용하는 비즈니스 시스템과 빅데이터 분석과정도 이런 이유로 데이터 흐름 워크플로우 기술을 사용하면 직관적이고 손쉽게 데이터 가공, 분석 과정을 표현하고 반복적으로 자동화해서 사용할 수 있다.

두 번째로, 다양한 데이터 자원과 분석 결과를 손쉽게 연결하고 통합해서 새로운 통찰과 분석 결과를 쉽고 빠르게 만들어낼 수 있다.

빅데이터 기반 비즈니스는 생물정보학과 비슷한 점이 많다. 빅데이터 기반 비즈니스를 수행할 때 당면한 비즈니스 문제를 풀기 위해 다양한 방법으로 수집된 데이터들을 활용하고 이들이 분석에 사용될 수 있도록 가공, 통합해야 한다. 이것은 생물정보학에서 다양한 연구기관들이 각자 자신들의 형식과 방법으로 수집한 다양한 데이터들을 원격으로 서비스받아 분석에 활용하는 과정과 유사하다.

위와 같이 다양한 데이터들을 필요에 따라 원하는 데이터 형식으로 가공, 정합 또는 통합하는 과정은 워크플로우 기술을 사용하지 않더라도 분석에 사용하는 프로그래밍 언어로 표현하여 자동화할 수 있기는 하다. 그렇지만, 데이터 과학자나 분석가마다 프로그래밍 스타일이 달라 이렇게 만들어진 소스 코드들은 재활용이 쉽지 않다.

앞에서 소개한 myExperiment와 같은 서비스와 같이, 표준화된 워크플로우 형태로 데이터 가공, 통합 과정이 자산화되어 축적되면, 축적된 워크플로우들 중에서 비슷하고 자주 사용되는 부분들은 손쉽게 재활용할 수 윘게 된다. 반복적으로 사용되는 데이터 소스로부터의 데이터 수집과 가공, 통합 과정은 라이브러리화한 뒤 공유해서 활용하게 되면 워크플로우 자산이 축적될수록 새로운 분석 과정과 결과를 만들어내는데 시간이 단축되게 된다.

공유된 라이브러리의 확장과 자산화된 워크플로우의 축적에 따라 점점 더 풍성해지는 데이터 분석 결과는 조직이 데이터를 통해 얻는 지식과 통찰의 양을 지수적으로 증가시켜 새로운 비즈니스 기회를 좀더 빠른 시간에 찾아낼 수 있게 해준다. 이는 Taverna 워크플로우로 자산화된 많은 생물정보학 분석 프로토콜과 분석 과정을 활용하여 최근 유전체(Genome) 및 단백질체(Proteome) 정보를 이용한 생물학이 눈부시게 발전하고 연구의 신뢰성과 재연성이 높아진 것으로도 확인해볼 수 있다[6].

세 번째로, 데이터 분석 결과를 쉽게 재연할 수 있도록 하여, 데이터 분석의 노하우와 통찰이 조직 내에 손쉽게 공유되고 반복적으로 활용될 수 있도록 한다.

워크플로우 기술은 최근 많이 쓰이고 있는 Jupyter나 Zeppelin 등의 웹 노트북 소프트웨어와 함께 데이터과학자들의 분석 논리와 내용을 손쉽게 재연, 확인하고 공유할 수 있는 도구가 된다. 특히, 복잡한 수학적인 계산과 통계적인 분석이 많이 사용되는 데이터 분석의 경우 단순히 분석 프로그램의 소스코드만 들여다보아서는 이해하기 어려운 부분이 많다. 소스코드를 이용해 분석 과정을 재연하는 것도 각 데이터 과학자나 분석가마다 작업 환경이 다른 것 때문에 어려운 경우가 많다.

워크플로우 기술은 공통으로 반복적으로 사용되는 분석 요소와, 데이터 과학자만의 독창적인 분석 로직이 들어간 부분을 전체 데이터 분석 과정 중에서 쉽게 구분하여 이해할 수 있도록 돕는다. 이 때문에 복잡한 분석 과정이라고 해도 상대적으로 빠른 시간에 데이터 분석 과정과 논리를 이해할 수 있도록 돕는다. 이런 이유로 데이터 분석을 통해 얻은 결과, 통찰뿐만 아니라, 데이터를 다루어 그러한 통찰과 결론을 얻은 과정도 조직 내에서 손쉽게 배포, 공유할 수 있도록 하여 문서로 만들어 지지 않은 데이터 분석에 대한 지식과 노하우도 손쉽게 자산화할 수 있도록 한다.

워크플로우를 통해 공유된 데이터 분석 노하우는 기존의 데이터 분석 방법을 다른 데이터에 반복적으로 적용하여 새로운 비즈니스 지식과 통찰을 얻게 돕고, 새로운 데이터 분석 방법을 만들어 비즈니스 지식과 통찰을 확장할 기회를 넓히게 한다. 이렇게 데이터 분석 과정의 공유와 재연이 쉬워지고, 반복적으로 활용되면서 지수적으로 늘어나는 지식과 통찰은 빅데이터 비즈니스의 속도와 새로운 비즈니스 기회를 발견할 가능성을 높여 비즈니스 조직이 기민하게(agile) 움직일 수 있도록 한다.

네 번째로, 빅데이터의 증가에 따른 빅데이터 가공, 분석의 확장성을 단일 분석 작업이 아닌 데이터 가공, 분석 전 주기에 걸쳐 손쉽게 확보할 수 있도록 해준다.

서비스 지향 아키텍처(service-oriented architecture)가 사회의 곳곳에 자리를 잡기 시작하면서, 많은 데이터와 비즈니스 IT 자원들을 다양한 서비스를 통해 손쉽게 접근하고 사용할 수 있게 되었다. 특히 클라우드 컴퓨팅의 발전으로 개별 데이터 과학자와 분석가들이 데이터 분석에 사용할 수 있는 IT 자원을 원하는 대로 손쉽게 사용할 수 있게 되면서, 한번에 분석되는 데이터의 양과 데이터 분석의 복잡도도 크게 높일 수 있게 되었다. 다양한 데이터 소스를 동시에 분석하여 과거에는 얻기 어려웠던 지식과 통찰을 얻는 것도 용이해졌다. 한 개인이 분석할 수 있는 데이터의 양과 범위가 클라우드 컴퓨팅과 웹 기술이 발전하기 전에 비해 급격하게 늘어나 데이터 분석의 확장성이 크게 좋아졌다.

워크플로우 기술이 웹 기술을 기반으로 한 다양한 서비스와 결합되면 데이터 분석의 확장성이 다시 크게 늘어나게 된다. 단일 데이터 분석 소스코드로는 표현되기 어려운 복잡한 데이터 분석 로직이 재활용 가능한 워크플로우 요소와 함께 원격 서비스로 쉽게 통합되면서 데이터 과학자들이 단순히 자신이 일하는 조직 내에 있는 데이터뿐만 아니라, 네트워크를 통해 연결되어 있는 전 세계의 데이터 자원과 IT 자원을 같이 활용해서 복잡하고 방대한 데이터 분석을 손쉽게 수행할 수 있게 된 것이다.

웹 기술, 그리드 컴퓨팅 기술과 클라우드 컴퓨팅 기술로 인해 데이터와 IT 자원의 공간적인 접근 한계가 사라지게 되어 전 세계를 대상으로 하는 글로벌 비즈니스 조직이 글로벌 비즈니스의 위험을 줄이고 지역별로 특화된 비즈니스 전략을 수립하고 실행하기가 수월해졌다. 웹 기술과 웹 기반의 원격 프로시저 호출(Remote Procedure Call; RPC) 또는 API(Application Programming Interface)를 지원하는 서비스 지향 아키텍처 기반의 워크플로우 기술은 데이터 수집 단계부터 데이터 가공과 분석, 가시화 및 의사 결정에 이르는 전 주기(lifecycle)에 걸쳐 데이터 분석 과정의 확장성과 비즈니스 의사 결정의 공간적 확장성을 비약적으로 높여 글로벌 비즈니스의 확장성도 높아지게 한다.

이렇게 워크플로우 기술과 서비스 지향 컴퓨팅 기술을 통해 글로벌 비즈니스의 공간적 확장성이 향상되면서 지역별 비즈니스 이슈에 대응하기 위한 데이터 분석과 의사 결정도 쉬워지게 되었다. 예를 들면 최근 데이터 기반 마케팅이나 소셜 네트워크 플랫폼 기업들의 유럽연합 내 비즈니스에 많은 영향을 줄 것으로 보이는 GDPR과 같은 이슈 때문에 고객 데이터를 함부로 자국으로 이동할 수 없고 유럽연합 내에 두고 엄격한 규정에 의해 관리해야 하는 경우에 서비스 지향 아키텍처 기반의 워크플로우 기술은 글로벌 비즈니스를 최적화하여 실행할 수 있도록 하는 강력한 도구가 된다.

유럽연합의 엄격한 개인정보보호 법률로 인해 유럽연합 내 시장과 고객에 대한 정보를 유럽연합 바깥에 있는 본사의 데이터센터로 이동할 수 없지만, 유럽내 데이터센터에 수집한 데이터를 보관하고 합법적인 방식으로 유럽 현지에서 익명화하고 가공한 데이터와 분석 모듈을 웹 서비스나 REST API 형태로 원격으로 호출하여 그 결과만 본사에 있는 분석 소프트웨어에서 받아 통합할 수 있도록 데이터 가공, 분석 파이프라인을 구축하고 최적화할 수 있다. 서비스 지향 아키텍처를 지원하는 워크플로우 기술은 글로벌 빅데이터 비즈니스를 하는 기업들에게 공간적 제약과 지역별 컴플라이언스 이슈를 극복할 수 있도록 하는 강력한 도구로 활용이 가능하다.

앞에서 소개한 Taverna의 경우 SOAP 기반 웹 서비스 및 REST API 형태로 원격에 있는 데이터 자원과 컴퓨팅 서비스에 접근이 가능한 구조이고, 이렇게 원격에 있는 데이터 자원과 컴퓨팅 서비스를 비동기적인 이벤트 기반(event-driven) 방식으로 서로 통합할 수 있도록 한다. 이렇게 웹 서비스와 REST API를 이용한 확장성으로 생물정보학 데이터 자원을 이용해 생물학과 의학을 연구하는 많은 과학자들이 손쉽게 데이터 분석 프로토콜과 그 결과를 공유하고 협업할 수 있도록 하여 전세계적인 협업이 쉽지 않은 생물학 분야 연구에서 전세계적인 협업을 증진하는 데 크게 기여하게 된다.

Taverna는 전지구적인 공동 연구 프로젝트인 LHC 실험에서도 데이터 분석 과정과 프로비넌스 자원들을 입자물리학자들이 손쉽게 공유하고 데이터 분석 결과를 재연할 수 있도록 하여 수천 페타바이트에 이르는 방대한 LHC 빅데이터를 이용한 힉스 입자 탐색과 입자물리학 현상론 연구에 크게 기여하였다. 생물정보학과 LHC 실험에서 전지구적인 협업이 가능했던 것은 바로 Taverna의 서비스 지향 아키텍처를 지원하는 강력한 확장성 때문이다.

다섯 번째로, 보고서나 논문 등의 문서만으로는 이해하고 재연이 어려운 복잡하고 규모가 큰 분석 과정도 데이터 과학자 및 조직원들 간에 손쉽게 공유하고 그 문제점과 개선 과정을 추적할 수 있도록 돕는다.

데이터 분석 과정의 문제점을 쉽게 추적할 수 있다는 측면은 앞의 첫 번째 장점을 설명할 때에도 언급했다. 첫 번째 장점을 설명할 때의 데이터 분석 과정의 문제점을 쉽게 추적할 수 있다는 것은 자동화된 데이터 분석 과정을 손쉽게 가시화해서, 데이터 분석 프로세스 자체의 기술적인 문제점을 해결하기 쉽다는 의미였다. 지금 필자가 언급하고 싶은 것은 협업 도구로서의 장점을 말하고 싶은 것이다.

데이터 분석 과정은 각 데이터 과학자별로 추상적이고 복잡한 사고 과정을 포함하여 데이터 과학자 간에 의사소통이나 공유가 쉽지 않다. 워크플로우 기술은 이렇게 데이터 과학자들의 머릿속에 있는 데이터 분석 과정과 논리를 손쉽게 가시화할 수 있도록 하여 데이터 분석 과정 전체를 공유할 수 있도록 돕는다.

데이터 분석 과정을 데이터 과학자들끼리, 또는 조직 내 데이터 분석과 관련된 구성원과 관련 부서 간에 직관적으로 가시화하고 공유할 수 있기 때문에 전사적인 관점에서 데이터 수집, 가공, 통합, 분석 과정의 문제점과 개선점을 분명하게 공유하고 논의할 수 있게 한다. 이와 함께 전체 데이터 분석 과정이 분명하게 가시화되기 때문에, 전사적인 데이터 기반 의사결정 프로세스를 조직을 움직이는 하나의 회로와 같이 점검하고 운영하며 개선할 수 있게 된다.

이와 같이 워크플로우 기술은 추상적인 빅데이터 기반 의사결정 과정을 협업을 통해 면밀하게 문제점을 검토하고 개선할 수 있도록 구체적인 자산으로 만들어준다. 이렇게 워크플로우 기술로 표현된 데이터 기반 의사결정 프로세스가 조직 내에서 구체적으로 다룰 수 있는 대상으로 자산화되기 때문에 빅데이터 비즈니스를 하는 기업이 무형의 자산인 데이터와 이에 따라 움직이는 조직의 운영을 좀더 비용 효율적이고 체계적으로 관리할 수 있게 해준다.

워크플로우 기술은 최근 언론에서 빅데이터 기술로 잘 꼽히지 않는 기술이지만, 필자는 빅데이터 비즈니스 조직의 확장성과 데이터 기반 분석 프로세스를 구체적인 자산으로써 관리, 운영하는 측면에서 중요한 기술이라고 생각하여 그 중요성에 대해서 자세히 소개하였다.

다양한 빅데이터 기술들을 전사적인 자동화 프로세스로 묶고, 데이터 수집, 가공, 통합, 분석 과정이 실제 비즈니스 가치로 연결되는 것을 직접 볼 수 있게 해주는 기술로서 워크플로우 기술은 중요한 기술이다. 빅데이터 비즈니스 시스템에서 특히 중요한 데이터 플로우 워크플로우 기술은 Taverna와 Kepler와 같이 과학기술 분야에서 쓰이는 워크플로우 소프트웨어를 제외하고는 시장에서 상품화된 기술이 거의 없어서[9] 아직도 비즈니스 기회가 열려 있고, 빅데이터 기반 플랫폼 서비스를 하는 기업들이 기술적으로 차별화된 경쟁력으로 활용할 수 있는 기술이다.

워크플로우 기술은 기존 SI 기업들이 빅데이터 비즈니스를 하려고 하는 고객사에 신속하게 빅데이터 비즈니스 시스템을 납품할 수 있는 새로운 IT 솔루션, 컨설팅 비즈니스 측면에서 사업 아이템으로도 큰 가치가 있다.

빅데이터가 비즈니스 가치로 전환되는 것이 분명하게 보이지 않아 고민하는 기업이나 조직이 있다면 워크플로우 기술을 이용해 데이터 분석 과정을 가시화하고 협업 체계를 만드는 것을 고려해보자. 기존의 SI 기업이나 IT 서비스 기업들도 고객에게 신속하게 빅데이터 비즈니스 시스템을 구축, 납품하는 솔루션으로서 워크플로우 기술을 활용해보자. 빅데이터 비즈니스를 위한 협업 체계가 체계적으로 조직되고 데이터가 비즈니스 가치로 이어지는 것을 좀더 쉽게 확인할 수 있으며, 빅데이터를 활용하는 것에 더 자신감을 가질 수 있을 것이다.

[참고문헌]
[1] 김진철, “LHC에서 배우는 빅데이터와 machine learning 활용 방안”, 2016년 9월 28일, A CIO Conversation for Technology Leadership – Breakfast Roundtable 발표 자료.
[2] Katy Wolstencroft, “The Taverna Workbench: Integrating and analysing biological and clinical data with computerised workflows,” a Tutorial at NETTAB 2012 workshop focused on Integrated Bio-Search, November 14-16, 2012 (Como, Italy). (http://www.nettab.org/2012/slides/Wolstencroft.pdf).
[3] Common Workflow Language, https://www.commonwl.org/.
[4] Yong Zhao, Ioan Raicu, Ian Foster. "Scientific Workflow Systems for 21st Century e-Science, New Bottle or New Wine?", Invited Paper, IEEE Workshop on Scientific Workflows 2008, co-located with IEEE International Conference on Services Computing (SCC) 2008. (https://ieeexplore.ieee.org/document/4578364/)
[5] N. Krasnogor, A.A. Shah, D. Barthel, P. łukasiak, J. Błażewicz, “Web and Grid technologies in bioinformatics, computational and systems biology: a review,” Current Bioinformatics Vol. 3, pp. 10-31, 2008. (https://www.eurekaselect.com/82018/article/web-and-grid-technologies-bioinformatics-computational-and-systems-biology-review)
[6] Stian Soiland-Reyes, Christian Brenninkmeijer, Katy Wolstencroft, Aleksandra Pawlik, “Introduction to Workflows with Taverna and myExperiment,” at 2014 Taverna Tutorial - Introduction to eScience and workflows, Bonn University Workshop, September 1, 2014. (https://www.slideshare.net/mygrid/2014-taverna-tutorial-introduction-to-escience-and-workflows)
[7] Stian Soiland-Reyes and Christian Brenninkmeijer, Katy Wolstencroft, Aleksandra Pawlik, Alan Williams, “An Introduction to Running, Reusing and Sharing Workflows with Taverna,” Tarverna Tutorials, https://github.com/taverna/taverna-tutorials.
[8] Steen Brahe, Kjeld Schmidt, “The Story of a Working Workflow Management System,” (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.66.113&rep=rep1&type=pdf)
[9] Krasimira P. Stoilova and Todor A. Stoilov, “Evolution of the workflow management systems,” (https://www.researchgate.net/publication/228851141_Evolution_of_the_workflow_management_systems)
[10] Andrew Washbrook, “From raw data to new fundamental particles: The data management lifecycle at the Large Hadron Collider,” http://datablog.is.ed.ac.uk/files/2015/09/ajw-DWD-final.pdf .
[11] Yolanda Gil, Ewa Deelman, Jim Blythe, Carl Kesselman, Hongsuda Tangmunarunkit, “Artificial Intelligence and Grids: Workflow Planning and Beyond,” IEEE Intelligent Systems, special issue on E-Science, Vol. 19 Iss. 1, pp. 26–33, 2004. (https://scitech.isi.edu/wordpress/wp-content/papercite-data/pdf/gil2004ai.pdf)
[12] Jianwu Wang, Moustafa AbdelBaky, Javier Diaz-Montes, Shweta Purawat, Manish Parashar, and Ilkay Altintas, “Kepler + CometCloud: Dynamic Scientific Workflow Execution on Federated Cloud Resources,” Proceedings of ICCS 2016. The International Conference on Computational Science, Procedia Computer Science, Vol. 80, pp. 700–711, 2016. (https://www.sciencedirect.com/science/article/pii/S1877050916308389)
[13] Daniel Crawl, Alok Singh, and Ilkay Altintas, “Kepler WebView: A Lightweight, Portable Framework for Constructing Real-time Web Interfaces of Scientific Workflows,” Proceedings of ICCS 2016. The International Conference on Computational Science, Procedia Computer Science, Vol. 80, pp. 673–679, 2016. (https://www.sciencedirect.com/science/article/pii/S1877050916308365)
[14] Nicolas Jacq, In silico drug discovery services in computing grid environments against neglected and emerging infectious diseases. Modeling and Simulation. Université Blaise Pascal - Clermont-Ferrand II, 2006. English. <tel-00184482>. (https://tel.archives-ouvertes.fr/tel-00184482)
[15] Stefan Jähnichen, Andreas Hoheisel, “Programming the Grid,” https://pdfs.semanticscholar.org/presentation/d7b7/1a3f1223814c4fdce164e32a22cd9daf6ea5.pdf.
[16] Bertram Ludäscher, Ilkay Altintas, Chad Berkley, Dan Higgins, Efrat Jaeger, Matthew Jones, Edward A. Lee, Jing Tao, Yang Zhao, “Scientific Workflow Management and the Kepler System,” Concurrency and Computation Practice and Experience 18(10):1039-1065, 2006. (https://pdfs.semanticscholar.org/fbd0/ac151c5edb8fa1be24871c74e74552f54c59.pdf)
 

*김진철 박사는 1997년 한국과학기술원에서 물리학 학사, 1999년 포항공과대학교에서 인공신경망에 대한 연구로 석사 학위를, 2005년 레이저-플라즈마 가속기에 대한 연구로 박사 학위를 받았다. 2005년부터 유럽입자물리학연구소(CERN)의 LHC 데이터 그리드 구축, 개발에 참여, LHC 빅데이터 인프라를 위한 미들웨어 및 데이터 분석 기술을 연구하였다. 이후 한국과학기술정보연구원(KISTI), 포항공과대학교, 삼성SDS를 거쳐 2013년부터 SK텔레콤에서 클라우드 컴퓨팅과 인공지능 기술을 연구하고 있다. 빅데이터와 인공지능 기술의 기업 활용 방안에 대해 최근 다수의 초청 강연 및 컨설팅을 수행하였다. ciokr@idg.co.kr