Offcanvas

CIO / How To / 빅데이터 | 애널리틱스 / 애플리케이션 / 오픈소스 / 운영체제 / 클라우드

김진철의 How-to-Big Data | 빅데이터와 클라우드 기술 (5)

2018.01.29 김진철  |  CIO KR


빅데이터 인프라를 완성하는 기술 – 빅데이터 미들웨어와 분산 컴퓨팅 소프트웨어
아홉 번째 글에서 최근 빅데이터 기술은 단일 프로세서 단위의 성능을 높이는 방향보다는 네트워크 또는 통신 패브릭(communication fabric)을 이용해 여러 대의 노드, 또는 프로세서 코어를 묶어 확장하여 빅데이터 문제를 해결하려는 방향으로 기술이 발전하고 있다고 언급한 바 있다. 이렇게 자원 확장성을 높이는 과정에서 부딪히는 문제 중 하나가 자원 이종성 문제인데, 이 자원 이종성 문제를 해결하는 데 가상화 기술을 도입하기 시작하면서 현대의 클라우드 컴퓨팅이 시작되었다고 얘기하였다.

빅데이터를 다루기 위해 계산, 저장 장치 확장성을 서버 노드의 수에 구애받지 않고 선형에 가깝게 확장할 수 있는 소프트웨어 기술을 만드는 것이 빅데이터 기술의 하나의 큰 방향이었다면, 또 다른 한 방향은 빅데이터를 활용하는 응용 프로그램이 많은 수의 노드로 구성된 복잡한 분산 컴퓨팅 시스템에서 어떻게 빠른 속도로 쉽게 개발될 수 있는지 문제를 해결하는 과정이었다. 분산 컴퓨팅 시스템의 자원을 성능 저하 없이 원하는 대로 끌어오는 자원 확장성 문제가 중요하기는 하지만, 자원을 무한히 끌어온다고 해서 빅데이터 처리를 위한 작업 분산 및 스케줄링, 작업 생애주기(life-cycle) 관리 등의 소프트웨어적인 모든 문제를 해결해주지는 못한다.

빅데이터 처리를 위한 분산 컴퓨팅 미들웨어의 중요한 역할 중의 하나는, 빅데이터 처리를 목적으로 구성, 구축된 분산 컴퓨팅 시스템의 각 서버 노드, 하드웨어, 네트워크 등의 저수준 복잡성을 최대한 추상화해서 감추고, 목표로 하는 빅데이터 처리에 적합한 프로그래밍 로직에 소프트웨어 개발자가 집중할 수 있도록 하는 단순화되고 효과적인 프로그래밍 모델(programming model)과 API를 제공하는 것이다.

빅데이터 기술에서 프로그래밍 모델과 API의 중요성을 보여주는 적절한 사례로서 구글의 맵리듀스를 들 수 있다. 하둡의 전신인 구글의 맵리듀스 기술은 구글만의 고유 요구사항에서 출발한 프로그래밍 모델이었다. 사실 맵리듀스 프로그래밍 모델 그 자체는 그 보다 훨씬 전에 알려져 있었지만, 구글의 제프리 딘(Jeffrey Dean)과 샌제이 게마왓(Sanjay Ghemawat)이 구글 검색 서비스를 위한 텍스트 빅데이터 처리를 위해 활용하면서 널리 알려지게 되었다. 구글의 맵리듀스와 하둡은 HTML 및 텍스트 기반의 웹 문서 빅데이터를 대량으로 쉽게 처리할 수 있게 하는 간단하고 효과적인 프로그래밍 모델로서 자리 잡으면서 빅데이터 기술을 대중화하는 데 크게 기여하게 된다.

또 하나의 사례로서 오픈소스 클라우드 컴퓨팅 소프트웨어인 오픈스택(OpenStack)을 들 수 있다. 클라우드 컴퓨팅은 다루는 기술의 범위가 매우 넓고 다양해서 한 회사가 적절한 시간 안에 개발해서 상용화하기가 어려운 분야였다. 아마존의 클라우드 서비스가 시장 1위를 여전히 지킬 수 있는 이유는 바로 이런 이유 때문이다.

오픈스택은 복잡한 클라우드 컴퓨팅 기술을, 기존의 오픈네뷸라(OpenNebula)와 클라우드스택(CloudStack) 등의 클라우드 컴퓨팅 소프트웨어가 가지고 있던 클라이언트-서버 아키텍처가 아니라, 메시지큐(message queue)기반의 서비스 지향 아키텍처를 기반으로 한 확장성 있는 아키텍처와 RESTful API를 이용한 프로그래밍 모델로 새롭게 정의하면서 데이터센터 스케일의 클라우드 컴퓨팅이 가능한 산업 표준 API를 만들어 냈다. 이런 오픈스택만의 아키텍처와 표준화된 API는 클라우드 비즈니스 시장의 진입 장벽을 크게 낮추어 주었다.

오픈스택의 진정한 가치는 소프트웨어 자체에만 있는 것이 아니다. 다양한 클라우드 산업계의 주요 주자들과 오픈소스 개발자들이 만든 오픈스택만의 고유 클라우드 프로그래밍 모델과 API가 진정한 가치다. 이 오픈스택 프로그래밍 모델과 API를 소프트웨어로 구현하는 데 필요했던 시간과 많은 소프트웨어 엔지니어들의 노력, 그리고 클라우드 컴퓨팅의 다양한 기술 요소들을 묶어주는 산업 표준 API의 정의 자체가 결코 구글이나 아마존과 같은 하나의 회사가 따라잡을 수 없는 경쟁 우위로 든든하게 자리 잡고 있다.

빅데이터를 다루기 위한 프로그래밍 모델이 적절하게 설계되어야 하는 이유는 크게 두 가지이다. 첫 번째로 빅데이터 처리, 분석을 위한 시스템을 개발하는 데 결국은 소프트웨어 엔지니어들이 빅데이터 응용 소프트웨어를 개발해야 하는데, 쉽고 효과적인 프로그래밍 모델로 추상화되지 않은 분산 컴퓨팅 시스템을 개발하는 것은 소프트웨어 개발의 생산성과 품질을 크게 떨어뜨려 시스템이 오동작할 위험 요소를 크게 늘이게 된다. 두 번째로, 분산 컴퓨팅 시스템의 특성상 테스트와 디버깅에 많은 노력이 들어가게 되는데, 적절하게 설계된 프로그래밍 모델은 분산 컴퓨팅 소프트웨어의 테스트 및 디버깅을 쉽게 하고 자동화율을 높일 수 있어 소프트웨어 개발의 생산성과 개발된 빅데이터 응용 프로그램의 안전성과 품질을 크게 높이게 된다.

아파치 HAMA(Apache HAMA) 등에서 맵리듀스 프로그래밍 모델을 좀더 일반화한 Bulk Synchronous Parallel(BSP) 모델, 최근 딥러닝 프레임워크로 각광받고 있는 텐서플로(TensorFlow)에서 사용하고 있는 데이터 플로우 모델(Dataflow programming model) 등, 빅데이터 시스템을 위한 프로그래밍 모델이 최근 많이 연구되면서 소프트웨어 엔지니어들이 활용할 수 있는 빅데이터 프로그래밍 모델과 이를 지원하는 소프트웨어 기술이 점점 많아지고 있다. 이는 빅데이터 비즈니스에서 부딪힐 수 있는 문제를 점점 더 쉽게 해결할 수 있게 해주기 때문에 빅데이터 비즈니스를 하려는 조직에는 좋은 일이다.

다만 기본으로 다시 돌아가도록 하자. CMS 검출기를 건설, 통합하고자 LHC 연구자들이 CMS 검출기의 독특한 요구사항과 조건을 철저히 분석했고, 이에 맞는 시스템을 구성하다 보니 1,000대 이상의 노드로 구성된 분산 컴퓨팅 시스템을 개발해야 했다. 이런 1,000노드 이상의 확장성이 필요한 분산 컴퓨팅 시스템에서의 이벤트 처리 및 분석 응용 프로그램을 쉽게 만들기 위한 미들웨어를 디자인하고 개발했다. LHC 연구자들이 XDAQ과 같은 미들웨어를 만든 것은 당시에 요구사항에 맞는 소프트웨어가 없었기 때문에 직접 만들었던 것이지, XDAQ 미들웨어와 같은 성능과 기능을 가진 오픈소스 소프트웨어나 상용 소프트웨어가 있었다면 당연히 활용했을 것이다.

빅데이터 비즈니스를 하려는 조직이 LHC 연구자들과 같이 다른 조직이나 회사나 쉽게 따라올 수 없는 빅데이터 수집의 비즈니스 모델을 가지고 이를 지원하기 위한 미들웨어나 프로그래밍 모델을 직접 디자인해서 개발할 수 있다면 완벽한 기술 진입 장벽을 쌓을 수 있을 것이다. 구글의 경우에도 검색 서비스가 본궤도에 오르는 과정이었던 초기 10여 년간은 자체 개발한 맵리듀스 분산 컴퓨팅 소프트웨어가 구글만의 기술적인 경쟁력이 되었다.

최근 구글은 직접 개발하는 소프트웨어도 많지만 다른 플랫폼 회사와 같이 오픈소스 소프트웨어를 많이 활용하거나, 소프트웨어 유지보수의 문제로 보유한 소프트웨어 일부를 오픈소스로 공개하는 추세이다. 구글이 검색 서비스 플랫폼에서 수집한 빅데이터, 지금까지 축적한 빅데이터 처리의 노하우, 최적화한 인프라는 다른 회사가 쉽게 따라와 넘볼 수 없는 핵심 경쟁력으로 자리 잡았다. 그 때문에 굳이 맵리듀스 같은 빅데이터 기술을 핵심 경쟁력으로 삼을 필요가 없어진 것이다.

빅데이터를 위한 소프트웨어는 기본적으로 분산 컴퓨팅 소프트웨어, 또는 미들웨어 형태이기 때문에 개발과 유지 보수에 많은 노력이 들어갈 수밖에 없다. 이런 이유로 어지간한 규모의 수익을 낼 수 있으면서 충분한 수의 고급 소프트웨어 엔지니어들을 보유할 수 없는 회사는 본인들을 위한 고유의 빅데이터 미들웨어와 분산 컴퓨팅 소프트웨어를 직접 개발하여 기술 경쟁력으로 활용하기가 쉽지 않다. 앞에서 언급한 바와 같이 최근에는 빅데이터 문제를 해결하려는 노력이 학계와 산업계에서 많이 진전되어 빅데이터 처리, 분석 과정에서 자주 만나게 되는 패턴에 쉽게 적용할 수 있는 소프트웨어와 솔루션이 많이 나타나고 있기 때문에 굳이 직접 개발할 필요는 없어지고 있다.

이렇게 빅데이터 문제를 해결할 수 있는 기술과 솔루션 선택의 폭이 늘어가는 상황에서 어떤 부분에 초점을 맞추어 비즈니스 경쟁력을 만들어가야 할까? 필자는 앞에서 강조했듯이 데이터 수집 기술과 데이터 수집을 위한 비즈니스 모델을 핵심 경쟁력으로 삼고, 비즈니스 모델과 데이터 수집 과정의 요구사항과 조건을 철저히 분석한 후에 이에 맞는 적절한 오픈소스 도구나 상용 소프트웨어 도구를 도입하여 사용하라고 권하고 싶다.

예를 들자면 구글에는 이미 20여 년에 걸쳐 쌓이고 가공된 빅데이터가 있으며 이는 다른 어떤 회사에서도 단기간에 수집하여 따라잡을 수 없는 자산이다. 물론, 이런 빅데이터를 지속해서 수집하고 가공하는 인프라와 시스템 기술도 대단한 핵심 경쟁력이지만, 이런 빅데이터 기술만을 핵심 경쟁력으로 삼지는 않는다는 것이다. 어떤 빅데이터 기술을 쓴다고 해서 그 회사의 경쟁력이 생기는 것이 아니다. 기업이 하려고 하는 빅데이터 비즈니스에 맞는 기술을 적절하게 사용하고, 이를 통해 오랜 시간 동안 빅데이터를 축적하고 비즈니스 수행에서의 우위를 유지한 상태에서 축적된 각 기업만의 역량이 후발 주자나 경쟁사가 함부로 뛰어넘을 수 없는 시간이라는 요소에 의해 지수함수(exponential function)적으로 그 경쟁력의 격차가 벌어지게 되는 것이다.

하둡이나 스파크(Spark)와 같은 빅데이터 소프트웨어들이 상당히 넓은 범위의 빅데이터 문제를 해결할 수 있는 것은 사실이지만, 모든 빅데이터 문제를 해결하지는 못한다는 것을 다시 상기시키고 싶다. 맵리듀스나 하둡은 원래 검색 엔진의 백엔드에서 대용량 텍스트 데이터 처리의 요구사항에 맞춰 만들어진 병렬 처리 프레임워크이므로, 이런 요구사항에 맞는 문제를 해결하는 데 쓰이는 것이 성능과 효과를 극대화할 방법이다. 이런 측면에서 하드웨어 아키텍처가 계속 발전하고 변화하고 있기 때문에, 미래 비즈니스 모델과 시장의 변화에 따라 요구되는 빅데이터 프로그래밍 모델, 기술과 솔루션을 개발하여 판매하는 기술 스타트업 시장의 가능성은 여전히 크게 열려 있다고 볼 수 있다.

빅데이터 관련 시장에서 가능성이 열려 있는 또 다른 시장의 하나는 빅데이터 엔지니어링 시장이다. 빅데이터 비즈니스는 하나의 소프트웨어 도구를 통해 완성되는 것이 아니라, 데이터 수집 기술과 비즈니스 모델을 핵심으로 하여 빅데이터 스트림 처리, 빅데이터 가공, 처리, 빅데이터 저장, 빅데이터 분석 및 비즈니스 프로세스 자동화 등의 다양한 영역의 시스템이 효과적으로 통합되어야 한다. 이렇게 빅데이터 비즈니스 요구 사항 전반에 대해 산업별, 비즈니스 형태별로 적절한 소프트웨어 제품 포트폴리오를 가지고 빠른 시간에 비즈니스 지원 시스템(BSS)과 운영 지원 시스템(OSS)을 설계, 구현, 통합할 수 있는 시스템 통합 및 엔지니어링 전문 회사는 사업 기회가 많다고 볼 수 있다.

빅데이터를 활용하는 방법이 크게 패턴화되어서 다양한 범용 솔루션이 등장할 수는 있지만, 빅데이터 시스템은 그 규모와 기업마다 다른 요구사항의 다양성을 생각하면 시스템 각각이 다른 고유하고 개성 있는 독특한 시스템이다. 이것은 마치 LHC와 같은 가속기를 여러 대 지을 수 없는 것과 비슷하다. 설사 LHC 가속기를 2대, 3대를 짓는다고 해도 그 규모와 건설하는데 드는 시간, 비용, 건설 기간의 기술 변화 등의 요인으로 오는 여러 가지 현실적인 문제 때문에 완벽하게 똑같을 수는 없다. 가속기 분야에는 머신 스터디(machine study)라 불리는 실험 장치 자체에 대해 연구하는 전문 분야와 연구 개발 절차가 따로 있을 정도이다. 목표로 하는 빔 에너지와 실험 파라미터가 비슷한 가속기를 국가별로 지어 실험했다고 해도 가속기와 검출기별로 각각이 독특하고 다른 장치이다. 이는 빅데이터 시스템에도 똑같이 적용된다.

위와 같이 각 빅데이터 시스템이 고유하고 독특한 시스템이기 때문에 이런 빅데이터 시스템을 엔지니어링하고 구축해서 제공해주는 회사가 경쟁 우위를 가지고 비즈니스를 할 수 있다. 앞으로 다양한 기술의 지수함수적 발전 때문에 시도할 수 있는 빅데이터 비즈니스 모델의 변화도 다양하고 많을 것이다. 이런 시장의 변화에 따른 기회를 신속하게 분석해서 자체적으로 보유한 빅데이터 기술 포트폴리오를 활용해 짧은 시간에 빅데이터 시스템을 엔지니어링 해줄 수 있는 회사는 큰 비즈니스 기회를 맞을 수 있을 것이다.

[참고문헌]
[1] 김진철, “LHC에서 배우는 빅데이터와 machine learning 활용 방안”, 2016년 9월 28일, A CIO Conversation for Technology Leadership – Breakfast Roundtable 발표 자료
[2] V. Halyo, A. Hunt, P. Jindal, P. LeGresley, P. Lujan, “GPU Enhancement of the Trigger to Extend Physics Reach at the LHC,” arXiv:1305.4855, August 14, 2013. (https://goo.gl/FNkk7a)
[3] XDAQ – CMS Online Software Project Homepage, https://svnweb.cern.ch/trac/cms (OS).
[4] XDAQ User’s Manual, https://goo.gl/8mS2Zx.
[5] XDAQ Developer’s Manual, https://goo.gl/8ENRbd.
[6] XDAQ API Documentation, https://xdaq.web.cern.ch/xdaq/doxygen/baseline14/.
[7] Andrea Petrucci, XDAQ Software Framework for Distributed Trigger and Data Acquisition Systems in Physics Experiments, Legnaro National Laboratories - Istituto Nazionale di Fisica Nucleare (LNL-INFN) – Seminar, 27 November 2014, Ceolin meeting room, Viale dell'Università, 2 - 35020 Legnaro (PD) – ITALY. (https://goo.gl/t7tpcP)
[8] “Data Acquisition in High Energy Physics,” by Johannes Gutleber, 2007.
[9] William Badgett, Juan Antonio Lopez-Perez, Kaori Maeshima, Aron Soha, Balys Sulmanas, Zongru Wan, CMS Web-Based Monitoring, FERMILAB-CONF-10-786-CMS-PPD. (https://goo.gl/XNhmVm)
[10] V. Brigljevic, G. Bruno, E. Cano, A. Csilling, S. Cittolin, D. Gigi, F. Glege, M. Gulmini, J. Gutleber, C. Jacobs, M. Kozlowski, H. Larsen, I. Magrans, F. Meijers, E. Meschi, L. Mirabito, S. Murray, A. Oh, L. Orsini, L. Pollet, A. Racz, D. Samyn, P. Scharff-Hansen, P. Sphicas, C. Schwick, Using XDAQ in Application Scenari Operational System of the CMS Experiment, Proceedings of the Computing in High-Energy and Nuclear Physics, MOGT008, La Jolla CA, March 24-28, 2003. (https://goo.gl/71Nb9t)
 
 

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

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.