클라우드서비스 씨앗

씨앗소식

씨앗 이슈리포트
[2019-04] FOCUSING ISSUE 04 엣지 컴퓨팅에서의 오픈소스 동향 상세보기
[2019-04] FOCUSING ISSUE 04 엣지 컴퓨팅에서의 오픈소스 동향 게시글 정보입니다.
2019.04.19 14:26
[2019-04] FOCUSING ISSUE 04 엣지 컴퓨팅에서의 오픈소스 동향
엣지 컴퓨팅에서의 오픈소스 동향

엣지 컴퓨팅(Edge Computing)은 가트너에 의해 2018년1), 2019년2) 10대 유망 기술로 선정되었고 이미 2016년에 10억 달러를 넘어선 엣지 컴퓨팅 관련 시장도 2021년에는 49.4억 달러로 초고속 성장을 보일 것으로 전망한다3). 사물인터넷 기기와 그에 따른 빅데이터의 증가, 머신 러닝의 의존성이 확대되는 와중에 라우드컴퓨팅이 일반화되면서 단말과 컴퓨팅 파워 사이의 물리적 시간적 거리가 멀어지는 상황이 발생했다. 그 결과 발생하는 과도한 지연은 즉각적으로 대응이 필요한 서비스에 적합하지 않을 수 있으며, 네트워크와 클라우드의 컴퓨팅 파워에도 큰 부하를 준다. 엣지 컴퓨팅은 클라우드와의 연결성을 유지하면서도 비효율적인 중앙 집중식 처리방식을 해결하기 위한 솔루션들의 집합을 의미한다. 주요 클라우드 업체들은 자신들이 추구하고 있는 클라우드 환경에서 다양한 규모와 응용을 가진 엣지 단말들을 클라우드로부터 적당히 분리하면서도 단말들이 만들어내는 데이터, 그 데이터로부터 파생하는 여러 인사이트의 가치를 훼손하지 않으려는 구조를 만들어내고 있다.

늘 그렇듯이 모든 혁신은 오픈소스에서 시작된다. 엣지 컴퓨팅에서 오픈소스가 추구하는 혁신은 사물인터넷 기기 또는 단말에서 클라우드까지의 모든 데이터와 컴퓨팅의 경로에 소프트웨어 요소 기술들을 배치하고 그 역할을 잘 정의하여 다양한 혁신이 이루어지는 요소 기술들을 빠르게 수용하는 것이라 볼 수 있다.엣지 컴퓨팅이란 이름 자체는 클라우드컴퓨팅의 상대적인 개념이며 엣지 컴퓨팅에 사용되는 요소 기술들 자체는 그리 새로운 것들이 아니다. 중요한 것은 적용된 산업 환경에 맞는 응용 기술의 완성도이며, 오픈소스 엣지 컴퓨팅 솔루션들은 그 응용의 완성도를 빠르게 달성하고 효율적으로 운영하기 위한 아키텍처의 정의와 구현, 아키텍쳐에 따른 시스템 구성 및 운영 관리의 효율화 기술에 집중하고 있다. 이 리포트에서는 지금까지 알려진 엣지 컴퓨팅 관련하여 의미 있는 규모의 오픈소스 프로젝트들을 살펴보려고 한다.

1. 리눅스 재단, EdgeX Foundry4)

EdgeX Foundry 2017년에 시작된 리눅스 재단의 프로젝트로, 벤더 및 플랫폼 독립적인 느슨한 결합의 마이크로서비스 프레임워크로 개별 기술이 가진 혁신들을 빠르게 수용하는 구조를 추구하는 오픈소스 프로젝트이다. EdgeX는 IoT 엣지를 중심으로 산업, 기업 환경, 소비자 응용에서 설계, 개발, 실제 적용 프로세스를 단순화하려는 목표를 가지고 있다. 이 프로젝트에는 바이두, 에릭슨, HP, 화웨이, 인텔, 주니퍼 네트웍스, 노키아, NTT, 텐센트, 윈드 리버 등이 설립 멤버이다.

EdgeX는 이미 VMware, Cavium, 델 등의 솔루션에 포함되어 상용 수준으로 개발되어 있으며, 매년 두 번의 릴리즈를 목표로 하고 있다. 현재까지 ‘바르셀로나’, ‘캘리포니아’, ‘델파이’를 버전이 발표되었고 ‘후지’는 2019년 4월 중에 발표할 예정이다. EdgeX는 임베디드 PC, 허브, 게이트웨이, 라우터, 온프레미스 서버까지, 클라우드를 제외한 전 영역을 엣지 노드로 정의하고 있다. EdgeX 코어는 Go 언어로 작성되고 있으나, x86, ARM, 리눅스, 윈도우즈, MacOS를 비롯한 주요 하드웨어 소프트웨어 플랫폼과 모든 언어의 개발 환경을 지원한다.

EdgeX의 플랫폼 구조

그림 1 EdgeX의 플랫폼 구조

그림 1에서 짙은 부분이 EdgeX의 코어 부분이며, 다른 부분은 EdgeX 프로젝트에서 레퍼런스 서비스로 제공되며, 다른 구현으로 대치될 수 있다.

조직적인 관점에 EdgeX Foundry는 리눅스 재단의 부속 재단인 LF Edge5) 라는 조직하에 있고, 현재 LF Edge에서는 Akraino Edge Stack6), EdgeX Foundry, Home Edge Project, Open Glossary of Edge Computing, Project EVE(Edge Virtualization Engine) 등의 프로젝트가 유지되고 있다. LF Edge에는 ARM, IBM, DellEMC, 레드햇, 퀄컴, 삼성, 시게이트 등이 참여하고 ETRI도 멤버로 활동하고 있다.

LF Edge 프로젝트들 가운데 또 하나의 핵심적인 프로젝트인 Akraino Edge Stack은 AT&T와 인텔이 주도하는 프로젝트로 주로 통신사를 위한 엣지 솔루션을 만들고 있으며, 5G, IoT, 네트워크 기기들에 대한 지원을 가상 머신, 컨테이너 환경에서 제공하는 것을 목표로 하고 있다.

Akraino Edge Stack 구조와 로드맵

그림 2 Akraino Edge Stack 구조와 로드맵

2. 오픈엣지 컴퓨팅(OpenEdgeComputing)7)

오픈엣지 컴퓨팅은 모든 엣지 노드가 개방적이고 표준화된 메커니즘을 통해 근접한 모든 사용자에게 컴퓨팅 및 스토리지를 제공하기 위한 오픈소스 프로젝트이다. 이 프로젝트에는 인텔, 마이크로소프트, 보다폰, T-모바일, 노키아, 카네기 멜론 대학, 그리고 모바일 인프라 설비 업체인 크라운 캐슬(Crown Castle)로 구성된 Open Edge Computing Initiative에 의해 운영되고 있다. 이 프로젝트에선 이니셔티브 참여사들을 중심으로 Living Edge Lab8)을 운영하여 실제 테스트 환경을 제공한다.

리빙 엣지 랩

그림 3 리빙 엣지 랩

오픈엣지 컴퓨팅 프로젝트는 카네기멜론 대학의 마하데브 사타나라야난(Mahadev Satyanarayanan) 교수팀의 엘리자(Elijah) 프로젝트9)에 기술적 기반을 두고 있다. 엘리자는 오픈스택 플랫폼에 QEMU 기반의 클라우드렛(cloudlet) 라이브러리를 추가한 오픈스택++를 만든 프로젝트로서, 빠른 프로비져닝, 실시간 VM 핸드오프, 통신 대역폭에 대한 적응성 확보와 같은 엣지 컴퓨팅에서 필수적인 기능들을 제공한다.

3. 오픈엣지 (OpenEdge)10)

오픈엣지는 클라우드컴퓨팅, 데이터, 서비스를 엣지 기기까지 매끄럽게 연결하는 것을 목표로 하는 오픈소스 프레임워크이다. 중국의 바이두가 주도하고 있고, 다른 프레임워크들처럼 모듈화, 컨테이너화를 통해 자원 효율적으로 엣지 기기를 제어하고 보안성을 확보하고, BIE(Baidu IntelliEdge)라는 클라우드 관리 도구와 연동하여 엣지 기기에의 응용 프로그램의 배포 등을 쉽게 할 수 있도록 도와준다. 2019년 4월 초 현재 Pre-release 0.1.2 버전으로 지금까지는 바이두 플랫폼에 종속적이다.

오픈엣지 구조

그림 4 오픈엣지 구조

4. 이클립스 (Eclipse) 재단의 IoT 프로젝트들

이클립스 큐라(Kura)11)는 IoT 게이트웨이를 구축하기 위한 플랫폼을 제공하는 사물인터넷 프로젝트이다. 큐라는 IoT 게이트웨이들을 원격으로 관리할 수 있게 하는 스마트 응용 프로그램 컨테이너이며 사용자가 자신의 IoT 응용 프로그램을 작성하고 배포할 수 있도록 다양한 API를 제공한다. 큐라는 자바 가상머신 위에서 실행되며 OSGi를 기반으로 재사용가능한 소프트웨어 빌딩 블록을 작성하는 프로세스를 단순화하고 있다. 큐라 API는 직렬 포트, GPS, 워치 독, USB, GPIO, I2C 등 기본 하드웨어에 쉽게 접근 가능하게 하고, 네트워크 설정, IoT 서버와의 통신, 게이트웨이 관리를 단순화하기 위한 OSGi 번들을 제공한다. 큐라는 엣지 컴퓨팅이란 용어가 나오기 전부터 IoT 환경을 위한 소프트웨어로 개발되어왔으며, 현재 버전 4.0까지 나와 있다.

이클립스 ioFog12) 프로젝트는 리눅스가 실행되는 모든 하드웨어에 설치할 수 있는 런타임으로 포그 (Fog) 컴퓨팅 계층에 필요한 기술 요소들로 구성된다. 포그는 IoT 기기와 게이트웨이의 일부를 포함하는 개념이다. ioFog는 엣지 기기위에서 실행될 수 있는 마이크로 서비스 런타임으로 메시지 버스, 마이크로 서비스의 동적 구성 및 원격 디버깅을 비롯한 일련의 유용한 서비스를 제공한다.

5. 애저 IoT Edge13)

마이크로소프트의 애저 IoT Edge는 애저 서비스, 타사 서비스 또는 개발자 고유의 코드를 실행하는 컨테이너인 IoT Edge 모듈, 각 기기에 배포된 모듈을 관리하는 IoT Edge 런타임, 그리고 IoT 기기를 연결하여 데이터를 수집하고 비즈니스 인사이트와 자동화를 이루기 위한 클라우드 게이트웨이인 IoT 허브로 구성된다. 마이크로소프트는 깃허브에 모든 IoT Edge 관련 프로젝트 소스14)를 공개하고 있다.

6. 기타 오픈소드 엣지 컴퓨팅 프로젝트들

IoT 엣지 기기를 위한 SDK와 원격 매니저를 제공하는 Macchina.io15), 쿠버네테스 인터페이스를 유지하면서 엣지 노드, 응용, 기기, 클러스터 관리를 지원하기 위한 KubeEdge16), 산업용 IOT, 텔레콤, 초저지연 전송을 위한 가상화 플랫폼을 제공하는 StarlingX17) 등이 있다.

엣지 컴퓨팅을 위한 오픈소스 프로젝트들은 작은 IoT 기기 자체와 네트워크 건너의 클라우드, 그 사이의 모든 인프라가 포함된 시스템 전체를 효과적으로 구성, 관리하고, 데이터 스트림과 메시지를 적당한 선에서 끊어내어 응용 시스템의 비즈니스 인사이트를 효율적으로 얻거나 자동화를 이루는 솔루션을 제공한다. 엣지 컴퓨팅은 새로운 개념의 컴퓨팅 환경으로서 혁신적인 아이디어들이 시장의 발전과 함께 빠르게 수용되고 있는 중이며 그 때문에 더욱, 또 그렇게 되기 위하여 더욱 대부분의 프로젝트들이 오픈소스로 진행되고 있다.

참고문헌

01) Cloud to the Edge, Gartner, “Top 10 Strategic Technology Trends for 2018”
02) Empowered Edge - Gartner, “Top 10 Strategic Technology Trends for 2019”
03) MarketsandMarkets, “Edge Computing Market by Component, Application, Organization Size”, 2017
04) https://www.edgexfoundry.org
05) https://www.lfedge.org/
06) https://www.lfedge.org/projects/akraino/
07) http://openedgecomputing.org/
08) http://openedgecomputing.org/lel.html
09) https://github.com/openedgecomputing
10) https://openedge.tech/en/
11) https://www.eclipse.org/kura/
12) https://projects.eclipse.org/projects/iot.iofog
13) https://docs.microsoft.com/ko-kr/azure/iot-edge/about-iot-edge
14) https://github.com/Azure/iotedge
15) https://macchina.io/index.html
16) https://kubernetes.io/blog/2019/03/19/kubeedge-k8s-based-edge-intro/
17) https://www.starlingx.io/