Offcanvas

AI / How To / 빅데이터 | 애널리틱스 / 오픈소스 / 클라우드

김진철의 How-to-Big Data | 빅데이터의 미래 (4)

2020.02.27 김진철  |  CIO KR


사이버 물리 시스템과 가상화 기술 – 가상 머신 VS. 컨테이너
두번째로 생각해 봐야 할 사이버 물리 시스템과 관련된 클라우드 컴퓨팅 기술 요소는 가상 머신, 컨테이너 기술과 같은 가상화 기술과 이들 자원의 관리에 관한 것이다.

클라우드 컴퓨팅에서 IT 자원을 가상화하는 기술로 가상 머신이 좋으냐, 컨테이너(container), 정확하게는 리눅스 컨테이너(Linux container)가 좋으냐 하는 문제는 클라우드 컴퓨팅이 “오픈스택(OpenStack)” 기술의 발전에 힘입어 빠르게 발전하던 2014년부터 2016년까지 클라우드 컴퓨팅 업계에서 큰 화두였다[30-37]. 가상 머신이 클라우드 컴퓨팅이라는 개념이 실현될 수 있도록 큰 공헌을 하기는 했지만, 컨테이너에 비해 무겁고 관리가 어려운 점 때문에 최근 클라우드 컴퓨팅에서는 구글이 만든 “쿠버네티스(Kubernetes)”를 중심으로 컨테이너 기술이 빠르게 확산되었다[30-31, 36].

가상 머신보다 가벼운 컨테이너가 일반 사용자들에게는 쓸모가 많기 때문에 최근에는 컨테이너를 이용한 응용 프로그램과 운용, 개발 환경의 배포와 관리가 확산되는 추세지만[30-31, 36], 보안과 하드웨어 자원의 멀티테넌시(multi-tenancy) 지원과 같은 문제 때문에 가상 머신 또한 여전히 클라우드 컴퓨팅의 핵심 기술로 자리 잡고 있다. 컨테이너 기술은 가상 머신에서도 활용할 수 있기 때문에 가상 머신으로 제공된 IT 인프라 자원에서 응용 프로그램과 운영, 개발 환경 수준의 멀티테넌시(multi-tenancy)를 다시 제공하는 용도로도 활용된다.

가상 머신과 컨테이너 중에서 어떤 것을 선택해야 하는지 문제는 이제 더 이상 의미가 없어지는 듯 보이며, 가상 머신을 이용한 가상화와 IT 자원 관리가 적합한 수준에서는 가상 머신을 활용하고, 컨테이너를 이용한 응용 프로그램의 배포∙관리가 더 중요한 분야에서는 컨테이너를 활용하는 식으로 두 기술의 구현 계층과 특성에 맞게 사용하는 것에 클라우드 컴퓨팅 업계가 점차 합의를 보는 듯하다[32-35, 37]. 컨테이너 기술의 등장과 가상 머신과 컨테이너 기술의 대결을 통해 클라우드 컴퓨팅에 필요한 가상화 기술이 좀더 섬세하게 기술적인 진보가 이루어지게 된 것은 긍정적이다.

최근에는 하이퍼바이저 기반 가상 머신이 가진 멀티테넌시(multi-tenancy) 보안성과 자원 격리(isolation)의 장점을 살리면서, 컨테이너의 경량성을 제공할 수 있도록 하는 경량 하이퍼바이저 기술이 한창 주목을 받으며 개발되고 있다. 오픈스택을 만든 오픈스택 재단이, 리눅스 재단이 클라우드 컴퓨팅 및 가상화 주요 기업과 커뮤니티와 함께 공동으로 결성한 “오픈 컨테이너 이니셔티브(Open Container Initiative)” 활동의 하나로 오픈스택과는 별개의 트랙으로 관리되는 오픈소스 프로젝트인 “카타(Kata)” 컨테이너는 하이퍼바이저의 장점과 컨테이너의 장점을 모두 취한 최신 가상화 기술이다.

“카타(Kata)” 컨테이너는 도커(Docker)와 쿠버네티스(Kubernetes)와 같은 컨테이너 관리 환경에서 기존의 리눅스 컨테이너와 같이 실행, 관리될 수 있으면서 기존의 하이퍼바이저 기반 가상 머신에서 제공하는 자원 격리와 보안성을 제공할 수 있는 가벼운 하이퍼바이저이다. 이와 같이 컨테이너 기술과 하이퍼바이저 기술의 장점을 모두 살린 새로운 가상화 기술의 발전도, 앞서 설명한 하이퍼바이저와 컨테이너를 장점과 용도에 맞게 아키텍처 수준별로 사용하는 최근 흐름과 함께, 앞으로 클라우드 컴퓨팅 기술의 발전에 중요한 흐름이 될 것으로 보인다.

사이버 물리 시스템에서 활용되는 컨테이너 기술과 가상 머신 기술은 클라우드 컴퓨팅의 가상화 기술과 비슷한 양상으로 발전하면서 사이버 물리 시스템 기술 발전에 영향을 미칠 것으로 보인다. 컨테이너 기술과 가상 머신 기술이 사이버 물리 시스템에서의 활용 방향에 대해서 잠깐 생각해보기로 하자.

가상 머신 기술은 사이버 물리 시스템에 필요한 사이버 자원의 분배와 관리, 보안에 여전히 중요한 역할을 할 것으로 기대되고 있다. 가상 머신 기술은 데이터 센터를 중심으로 제공되는 공용 클라우드 자원의 멀티테넌시(multi-tenancy)와 자원 관리를 가능하게 하는 기술을 넘어, 자동차와 같이 컴퓨팅 자원의 활용이 제한된 사이버 물리 시스템 환경에서 컴퓨팅 자원을 효과적으로 분배하고 관리하는데 활용되는 미션-크리티컬 가상화 기술로 발전하고 있다.

눈에 크게 띄지는 않고 있지만 최근 자동차 업계에서 조용하게 일어나고 있는 한 변화 중의 하나는, 자동차 ECU에서 가상 머신을 이용할 수 있도록 하는 실시간 시스템용 하이퍼바이저 기술이 점차 도입되고 있는 것이다. 자동차 업계에서 하이퍼바이저 기술을 활용하려고 하는 이유는 여러 가지가 있는데, 그중에서도 가장 중요한 이유 중의 하나는 컴퓨팅 자원 활용의 효율성을 높이는 것이다.

데이터센터와 달리 자동차와 같은 사이버 물리 시스템은 시스템 내 물리적인 공간이 제약되어 있기 때문에 많은 양의 사이버 요소, 즉 컴퓨팅 자원을 탑재하기가 어렵다. 특히, 자동차와 같이 생산 원가와 가격에 민감한 사이버 물리 시스템은 임베디드 컴퓨터 하나를 넣을 때마다 원가가 상승하기 때문에 제조사 입장에서는 가능하면 적은 수의 임베디드 컴퓨터나 컴퓨팅 장비를 탑재해서 최대한의 효과를 낼 수 있어야 한다.

이를 위해 각 임베디드 컴퓨터의 성능을 최대한으로 활용하면서 남는 컴퓨팅 자원이 없도록 효과적으로 컴퓨팅 자원을 활용해야 한다. 이 때문에, 하이퍼바이저와 같이 물리적인 컴퓨팅 자원을 다양한 워크로드와 작업이 나누어 사용할 수 있도록 하는 가상화 기술이 유용하게 쓰일 수 있다.

아직은 하이퍼바이저 기술이 미션 크리티컬한 시스템에 쓰일 만큼 신뢰성과 안정성 있는 기술로 여겨지지 않았고, 지금까지 가상화 기술과 클라우드 컴퓨팅 발전의 초반에는 “젠 하이퍼바이저(Xen hypervisor)”와 KVM과 같은 오픈소스 기술에 의존하였기 때문에 하이퍼바이저 기술이 미션 크리티컬한 시스템에서 쓰일 수 있으리라고 생각한 사람이 많지 않았다. 

이제는 가상화 기술과 클라우드 컴퓨팅 기술이 어느 정도 성숙했기 때문에 클라우드 컴퓨팅 기술을 미션 크리티컬한 시스템에도 사용하여 그 장점을 활용할 수 있도록 하는데 관심이 쏠리고 있다. 기존의 오픈소스 하이퍼바이저 기술인 “젠 하이퍼바이저(Xen hypervisor)”를 자동차와 같은 미션 크리티컬한 시스템에 적용할 수 있도록 임베디드 시스템용 하이퍼바이저 솔루션을 만드는 국내 스타트업인 “페르세우스(https://cyberperseus.com/)”와 같은 회사들도 생겨나고 있다.

미션 크리티컬한 시스템에 클라우드 컴퓨팅 기술을 적용해 보려는 최근 노력은 모바일 에지 컴퓨팅(Mobile Edge Computing; MEC)과 같은 영역에서도 나타나는데, 모바일 에지 컴퓨팅에 대한 얘기는 이후에 필자가 기고할 글에서 좀더 자세히 다루기로 한다.

컨테이너의 경우 미션 크리티컬한 사이버 물리 시스템을 구동하는 소프트웨어를 신뢰성 있고 안전하게 배포하고 관리하며 소프트웨어의 버그나 결함이 발견될 때마다 신속하고 신뢰성 있게 업데이트, 수정할 수 있도록 하여 사이버 물리 시스템 전체 시스템의 안전을 향상하는 데 활용이 가능하다.

컨테이너의 가장 큰 장점은 컨테이너 이미지를 원본 그대로 사용자에게 배포하여 실행시킬 수 있다는 점이다. 컨테이너 기술이 출현하기 전에는 소프트웨어를 설치, 업데이트하기 위해 소프트웨어를 배포하는 리파지토리에 소프트웨어를 설치하는 방법을 자동화한 스크립트와 설치 위치, 설정 파라미터와 같은 메타 데이터가 담긴 rpm이나 deb 등의 특정한 패키지 형식으로 소프트웨어를 패키징하여 저장, 보관해 놓고 이 패키지 형식의 소프트웨어를 다운로드, 설치하는 과정을 관리하는 설치 관리 소프트웨어를 이용해 설치, 업데이트하는 것이 일반적이었다. 현재 대부분의 운영체제에서 소프트웨어 설치, 관리에 이런 방법을 이용한다.

문제는 이렇게 소프트웨어를 설치하는 과정에서 소프트웨어를 설치하는 자동화 스크립트의 오류가 있거나, 소프트웨어가 설치되는 환경이 설치 스크립트를 작성할 때 가정했던 사항들이 충족되지 않고 문제가 있으면, 소프트웨어 설치가 실패하기 쉽다는 것이다. 설치가 온전하게 되지 않은 소프트웨어는 다시 해당 소프트웨어와 의존성이 있는 다른 소프트웨어를 설치할 때 문제가 되기 때문에, 소프트웨어 배포, 설치를 신뢰성 있게 관리하는 것은 사이버 요소의 영향을 많이 받는 사이버 물리 시스템의 안전성을 확보하기 위해서 중요한 문제이다.

컨테이너 기술은 사이버 물리 시스템 하드웨어에 배포, 설치되기 전까지 개발과 테스트를 진행한 실행 환경과 배포 구조가 동일하게 유지되어 배포, 설치되기 때문에 기존의 패키지와 자동 설치 스크립트, 소프트웨어 설치 관리자를 이용한 소프트웨어 설치, 업데이트에 비해 더 안전하고 신뢰성 있는 소프트웨어 배포와 설치가 가능하다.

컨테이너 기술의 기반이 된 리눅스 커널의 “네임스페이스(namespace)”와 “컨트롤 그룹(cgroup)”과 같은 응용 프로그램 수준의 자원 분할 및 관리 기술은 응용 프로그램 수준에서 운영체제 자원을 가상화하여 분할하고, 테넌트(tenant)별로 관리할 수 있도록 함으로써 클라우드 컴퓨팅의 기본 취지에 맞는 멀티테넌시(multi-tenancy) 관리도 가능하다. 물론 가상 머신과 같이 하드웨어 수준에서 원천적으로 자원을 분할할 수 없기 때문에 가상 머신보다 보안에 취약하지만, 응용 프로그램 소프트웨어와 실행 환경을 테스트한 그대로 오류와 결함 없이 배포할 수 있어 배포 과정에서 생길 수 있는 결함이 줄어들며, 운영체제 수준에서 자원 관리를 가상화할 수 있다는 점에서 사이버 물리 시스템의 소프트웨어 자원을 관리하고 안전성을 높이는 데 중요한 역할을 할 것으로 보인다.

필자가 이전 서른일곱 번째 글에서 5G 및 5G 이후 차세대 이동통신 네트워크도 일종의 사이버 물리 시스템으로 생각할 수 있다고 말했다.  사이버 물리 시스템으로서 미래 이동통신 네트워크 시스템의 물리 요소인 네트워크 장비에서도 위와 같은 가상 머신과 컨테이너를 이용한 멀티테넌시(multi-tenancy) 지원 및 자원 관리 개념이 실제로 상용화되어 가고 있다.

앞서 서른일곱 번째 글에서 소개한 “네트워크 기능 가상화(Network Function Virtualization; NFV)”는 가상 머신을 이용한 네트워크 장비 하드웨어 자원의 분할 및 관리를 위해 가상 머신 기반의 가상화 기술이 적용된 예이다. 이와 함께, 컨테이너를 이용한 이동통신 서비스 소프트웨어 배포 및 설치 관리를 실제로 삼성전자에서 개발하고 있는 5G 기지국 장비에 적용하고 있다. 이는 컨테이너 기술이 이동통신 네트워크 시스템의 소프트웨어 배포 및 설치, 수명주기 관리에 적용되는 좋은 예로 볼 수 있다.

이 시점에서 독자분들께서는 이들 가상 머신과 컨테이너로 대표되는 가상화 기술들이 도대체 빅데이터와 어떤 연관이 있는지 궁금해하실 것 같다. 사이버 물리 시스템에 클라우드 컴퓨팅 기술이 적용되면서 생기는 장점에 대해서는 수긍하겠지만 도대체 이런 것들이 빅데이터, 데이터 과학과 어떤 연관이 있는 건지 의문을 가질 것 같다.

사이버 물리 시스템에 클라우드 컴퓨팅이 적용되면서 생기는 문제 중 하나는 전체 시스템 구성에서 가상화 층이 추가되면서, 사이버 물리 시스템의 운영을 위해 데이터를 수집해야 하는 대상이 이들 가상화 층을 포함하도록 더 많아진다는 것이다. 이 때문에 사이버 물리 시스템의 클라우드 컴퓨팅에서 가상화 층에 해당하는 기술들의 정보를 수집, 처리, 제어하기 위한 운영 지능화(Operation Intelligence; OI) 데이터의 수집과 가공이 일어나 수집되는 데이터의 양이 더 많아지고 종류와 형태가 다양해진다.

사이버 물리 시스템의 지능 제어와 운영 자동화를 위해 물리적 요소인 하드웨어와 메카트로닉 장치들의 정보를 수집해야 할 뿐만 아니라 사이버 요소가 물리적 요소와 흠없이 통합되어 목적한 대로 동작하는지 확인하고 제어하기 위해서도 정보를 수집해야 하는데 클라우드 컴퓨팅이 도입되면서 생기는 가상화 층의 도입이 또 하나의 관리, 제어 요소가 되어 또 다른 빅데이터 원(big data source)이 되기 때문에 빅데이터와 관련이 있는 것이다.

좀더 쉽게 얘기하자면 오픈스택 기반의 클라우드 컴퓨팅 시스템을 구축하고 운영하게 되면 클라우드 컴퓨팅 자원을 위한 서버, 스토리지, 네트워크 장비 등의 하드웨어 장비들도 모니터링하면서 운영해야 하지만 이들 하드웨어 장비에서 고객들의 워크로드를 실행하는 가상 머신들의 상태와 운영 정보, 하드웨어와 가상 머신에서 실행되는 컨테이너들의 상태와 운영 정보, 그리고 이들 가상 머신과 컨테이너별로 각각 그 위에서 실행되는 프로세스와 응용 프로그램, 서비스의 상태와 정보를 다같이 모니터링하고 운영 데이터를 바탕으로 필요에 따라 적절하게 관리 및 운영 작업을 해주어야 한다.

위와 같이 가상 머신과 컨테이너, 그리고 이 가상 머신과 컨테이너를 실행하는 서버와 같은 하드웨어의 운영 데이터, 가상 머신과 컨테이너 상에서 실행되고 있는 프로세스와 응용 프로그램들에 대한 운영 데이터를 수집하고 같이 연관을 지어 처리해야 오픈스택 기반의 클라우드 컴퓨팅 시스템이 목적에 맞게 원활하게 운영될 수 있다. 이와 같은 일이 사이버 물리 시스템에서 클라우드 컴퓨팅 기술을 활용할 때에도 일어나고 사이버 물리 시스템이 정상적으로 작동하기 위해 수집, 관리, 분석해야 하는 데이터가 가상화 층에 대해서 추가로 늘어나면서 그 양과 종류가 많아지기 때문에 또 다른 운영 빅데이터 문제가 된다는 것이다.

이들 가상화 기술로 생기는 사이버 요소 아키텍처에서의 또 하나의 계층이 물리적 요소와 사이버 요소의 운영 체제, 그리고 물리적 요소를 제어하기 위한 사이버 물리 시스템의 시스템 소프트웨어 계층 사이에서 흠없이 통합되고 작동하게 하려고 가상화 층에서 수집된 빅데이터를 처리해야 한다. 이 때문에 결국 사이버 물리 시스템에 가상화 기술이 도입되는 것은 사이버 물리 시스템에서 빅데이터를 다루기 위한 기술의 중요성 또한 높아지게 하는 것이다.

사이버 물리 시스템의 자율성과 지능 제어를 위해 클라우드 컴퓨팅 기술 활용이 심화되면서 물리적 요소, 사이버 요소의 운영 데이터 수집과 컴퓨팅 자원 제어에 가상화 기술의 중요성이 높아지게 될 것이다. 사이버 물리 시스템에서 가상화 기술과 클라우드 컴퓨팅 기술의 비중이 높아지게 되면 과거에는 어려웠던 시스템 운영에서 높은 수준의 자율성(autonomy)과 장애, 결함의 자가 진단 및 치유, 사이버 물리 시스템의 동작 계획(action planning)과 스케줄링에 필요한 지능형 의사 결정 같은 것들의 실현 가능성이 높아지게 된다. 이런 이유로 사이버 물리 시스템 개발과 운영에 필요한 빅데이터 기술과 데이터 과학자들의 역할이 사이버 물리 시스템의 가상화 기술로 인해서 더 확장되는 것이다.

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국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.