엣지 컴퓨팅

4 분 소요


업무 과정에서 클라우드 공간에서의 서비스를 설계하며, 엣지에서의 데이터 처리가 필요한 영역이 무엇일지에 대한 논의를 진행하게 되었다. 조사한 내용을 간단하게 정리해보고자 한다.

본격적으로 정리하기 앞서, 이 포스트에서는 그 동안의 논의를 바탕으로, 엣지를 네트워크의 엣지, 엣지 디바이스를 개인 PC, 스마트폰, AI 스피커 등 네트워크 엣지(a.k.a 사용자 주변)에 위치한 기기라고 정의한다.


1. 컴퓨팅 발전사

엣지 컴퓨팅은 컴퓨팅 기술(이라도 해는지 모르겠지만, 일단 지금 이해한 바로는 그렇다)의 발전사와 그 맥락을 같이 한다.

컴퓨터는 CPU, GPU를 이용해 데이터를 처리한다. 엣지 디바이스 자체에서 컴퓨팅이 이루어졌던 것이다. 그러나 기술이 발달함에 따라 점차 엣지 디바이스 기기 및 그 위에서 구동되는 서비스들이 많아지고, 엣지 단에서 발생하는 데이터와 이를 처리하기 위한 컴퓨팅 역시 기하급수적으로 증가하게 되었다. 이에 따라 리소스가 부족한 엣지 단 대신 클라우드에 데이터를 저장하고, 클라우드에서 컴퓨팅을 하는 클라우드 컴퓨팅 기술이 등장하였다.

초기에는 네트워크로 연결되어 있는 온라인 저장소에 데이터를 저장하는 클라우드 저장소 개념이 등장했다가, 이제는 저장을 넘어 클라우드 공간에서 컴퓨팅까지 하는 클라우드 컴퓨팅 서비스가 흥하게 된 것이다. 클라우드 컴퓨팅 기술은 엣지 디바이스에서 발생한 데이터를 중앙의 데이터 센터로 보내고, 엣지 단에서 필요로 하는 연산 역시 중앙 데이터 센터에서 (좋은 사양의 CPU와 GPU를 이용해) 진행한 뒤(=컴퓨팅), 중앙 데이터 센터에서 다시 엣지 디바이스로 그 연산 결과를 전송하게 된다. 이를 위해 클라우드 컴퓨팅을 위한 중앙 데이터 센터에 많은 투자가 이루어 졌으며, 클라우드 컴퓨팅으로 제공할 수 있는 서비스들이 IaaS, PaaS, SaaS 등의 형태로 나타나기 시작했다.

이제는, 엣지 디바이스의 성능이 전보다 더 고도화되고, IoT 기술이 더욱 발전하면서, 발생하는 데이터의 양, 처리해야 할 연산의 양이 기하급수적으로 증가하게 되었다. 결과적으로, 엣지 컴퓨팅 기술이 발전하기 시작했다.


2. 엣지 컴퓨팅

개념

엣지 컴퓨팅이란, 말 그대로 엣지, 즉, 데이터가 발생하는 기기 혹은 그 근처에서 컴퓨팅 처리를 하는 분산 컴퓨팅 방식을 의미한다.

Edge Computing is a distributed computing paradigm that brings computation and data storage closer to the location where it is needed to improve response times and save bandwidth.


이 외에도, 다음과 같이 다양한 방식으로 엣지 컴퓨팅을 정의할 수 있다.

  • any type of computer program that delivers low latency nearer to the requests
  • all computing outside the cloud happening at the edge of the network, and more specifically, in applications where real-time processing of data is required


결과적으로는 전통적인 방식에서의 중앙 혹은 데이터 센터에서 벗어난 모든 곳에서 데이터를 처리한다면, 그것이 엣지 컴퓨팅이라고 볼 수 있는 듯하다.


필요성

클라우드에서 처리해야 할 데이터와 연산의 양이 많아지면서, latency 이슈가 발생한다. 데이터를 중앙 데이터 센터에 보내고, 연산한 뒤, 그 결과를 받아오는 과정에서 응답 지연이 벌어질 수 있는 것이다. 순간적인 판단이 중요한 자율주행차의 경우, latency 문제는 심각한 결함이 될 수 있다. 한편, 스마트 디바이스가 폭발적으로 증가하면서, 수많은 데이터가 동시에 중앙 데이터 센터에 몰리게 됨에 따라 네트워크 대역폭 문제도 발생할 수 있다. 위의 기술적인 문제와 별개로, 클라우드에 저장해야 할 데이터가 많음으로 인해, 클라우드 컴퓨팅 서비스를 이용하기 위한 비용도 함께 증가한다.

이에 중앙 클라우드 혹은 데이터 센터에서 소화하기 어려운 데이터가 발생했을 때, 이를 분산해서 처리하기 위한 엣지 컴퓨팅 기술이 필요해지게 된다.


실현

cloud-vs-edge

출처: Techtonic 2019, Edge 컴퓨팅 개발 동향 및 Edge 모듈 구현 사례


클라우드 컴퓨팅의 문제를 해결하기 위해, 데이터 센터의 네트워크에서 엣지 단의 네트워크로 데이터 연산 및 처리를 옮기고자 한다. 이를 위해 위의 그림에서와 같이, 엣지 디바이스 근처에 분산된 소형 서버를 두어 엣지 디바이스에서 발생하는 데이터를 실시간으로 처리한다. 이를 통해 엣지 단에 대한 proximity를 높인다. 이 때 엣지 단 근처, 혹은 사용자 주변에 있는, 분산된 소형 서버를 보통 클라우드렛(Cloudlet)이라고 한다. 이렇게 분산된 엣지 단 근처의 서버를 통해 즉각적으로 데이터를 처리하고, 처리 결과 중 중앙 데이터 센터에 저장해야 할 필요가 있는 데이터를 중앙으로 전송한다.

실제 어떤 방식으로 개발이 이루어지는지에 대한 부분은 정확하지 않으나, 주로 클라우드렛 서버를 구축하고, 이 클라우드렛 서버에 어떻게 데이터를 안전하게 전송할 것인지, 엣지 기기 및 엣지 기기에서 설치될 어플리케이션을 어떻게 관리할지가 엣지 컴퓨팅 실현 과정에서의 주요 이슈라고 판단된다.

특징

클라우드 컴퓨팅에 비해 1) 데이터 부하가 감소한다는 장점을 갖는다. 엣지 디바이스에서 발생하는 데이터를 바로 처리할 수 있기 때문에, 클라우드 컴퓨팅에서 발생할 수 있는 응답 시간 지연 및 대역폭 문제를 해결할 수 있다. 2) 보안적인 측면에 있어서도 일정 부분 장점이 있다. 엣지 컴퓨팅은 클라우드 컴퓨팅에서 중앙 서버 아키텍쳐로 데이터의 전송 및 전달이 야기하는 데이터 보안 문제에서 상대적으로 자유롭다. 3) 장애 대응에 있어서도 장점이 있다. 클라우드 컴퓨팅의 경우 중앙 데이터 센터의 서버가 마비되면 치명적 타격이 발생할 수 있지만, 엣지 컴퓨팅은 효과적으로 장애에 대응할 수 있다.

그럼에도 불구하고, 엣지 컴퓨팅에서는 다음과 같은 요소들을 고려해야 한다.

  • 확장성: 디바이스 간 성능, 리소스, 실행환경 등이 모두 다르기 때문에, 엣지 디바이스 혹은 어플리케이션 간 이질성을 고려해야 한다.
  • 속도: 당연히 전통적인 클라우드 컴퓨팅에 비해 빠른 속도를 보장해야 한다.
  • 보안: 클라우드 컴퓨팅의 보안 문제와는 또 다른 측면에서, 클라우드렛과 디바이스 간 보안, 클라우드렛과 중앙 서버 간 보안 문제가 발생할 수 있다. 특히, 클라우드 컴퓨팅에서와 달리 디바이스 간 이질성을 고려한다면 확장 가능한 보안 체계를 설계해야 한다는 것이 오히려 약점이 될 수도 있다.


응용

클라우드 컴퓨팅이 저장소 및 연산 능력 경쟁을 불러 왔다면, 엣지 컴퓨팅은 분산 능력 부분에서 경쟁이 일어날 것으로 보인다. 이미 하드웨어 측면에서 엣지 디바이스 간, 디바이스와 분산 네트워크 간 데이터 저장, 보안 등을 담당하는 새로운 반도체인 DPU(Data Processing Unit)가 등장했다고 한다. 한편, 소프트웨어 영역에서도 엣지 단의 기기와 어플리케이션을 통합해 관리하는 플랫폼이나, 엣지 디바이스에서 제공할 수 있는 서비스가 솔루션 기술 형태로 등장하지 않을까 생각한다.


3. 결론

결과적으로 조사를 통해 확실히 하고 싶었던 점은, 엣지 컴퓨팅이 클라우드 컴퓨팅의 연장선상에 있는 기술이라는 점이다. 클라우드 컴퓨팅에 비해 무조건 좋을 것 같지만, 고려해야 할 요소가 분명 있기 때문에, 엣지 컴퓨팅과 클라우드 컴퓨팅을 적절히 혼합하여 설계에 반영할 수 있어야 함을 깨달았다. 예컨대, 디바이스 내에서 바로 처리해야 하는 연산(예컨대, 자율주행차에서의 방향 판단)이나 엣지 디바이스 단에서 바로 제공되는 것이 좋은 AI 서비스(예컨대, 업무 중 자주 논의되던 POS기에서의 이상거래 탐지)의 경우 엣지 컴퓨팅 개념을 도입해 설계하는 것이 좋을 것이다.

한편으로, 관련 기술 개념으로서 클라우드 컴퓨팅, 포그 컴퓨팅 등이 있는데, 이러한 개념들에 대한 공부도 더 진행해 볼 예정이다. 넘나 어려운 기술의 세계…



hit count image

댓글남기기