Edge Computing 구현의 어려움
앞에서 언급했듯이 에지 컴퓨팅이 가장 장점과 미래의 모델은 진정한 고객의 요구 사항과 밀접하게 맞닿아 있다.
그러나, 실제로 이것을 필드에 구현하기 위해서는 고객의 요구 사항을 해결하기 위한 다양한 기술적 문제점이 존재한다.
이것들이 어떤 것이며, 왜 진정한 에지 컴퓨팅을 현실화하기 위한 어려운 문제점으로 남아 있는지 살펴보자.
에지 장비를 위한 고속 데이터 저장소
이 문제는 게이트웨이로 불린 컴퓨팅 파워의 한계가 있는 에지 장비에서 대량의 데이터를 저장하고, 처리할 수 있는 방법에 대한 질문이다.
일반 서버급에서도 전통적인 DBMS는 초당 수백건 이상의 데이터를 지속적으로 처리하기 쉽지 않다.
하물며, CPU 성능 및 메모리가 제약된 에지 장비에서야 두말할 필요도 없음이 분명하다.
그러나, 최근들어 많이 출시되고 있는 스마트 센서의 성능과 그 갯수의 증가를 고려해 볼 때 게이트웨이에서 처리해야 할 센서 데이터는 초당 수천건에서 수만건에 이를 것임이 확실하다.
어떻게 에지에 이런 많은 데이터를 저장할 것인가?
그리고, 수억건 이상의 데이터가 저장되었을 경우 이에 대한 검색과 추출이 현재 서비스 중인 클라이언트에 성능에 영향을 주지 않으면서 처리될 수 있을까?
아마도, 이 질문에 대한 답이 없다면, 진정한 에지 컴퓨팅은 꿈에서나 실현이 가능할 것이다.
고속 데이터 복제
앞 장에서 제시한 그림과 같이 에지 컴퓨팅의 필수불가결한 기능 중의 하나는 데이터 복제이다.
이 복제는 다수의 에지에서 포그로 이루어지고, 다수의 포그에서 클라우드로 이루어지게 된다고 앞에서 언급했다.
사용자가 일단 명령만 내리면, 알아서 데이터가 원하는 곳으로 복제되고, 관리가 되어야 한다는 것이다.
그렇다면, 다음과 같은 질문들이 연이어서 나올 것이다.
- 불안정한 네트워크 환경에서도 올바르게 전송이 될까? (Wifi와 같은 연결과 해제가 불연속적으로 발생하는 곳)
- 에지 혹은 포그 장비의 비정상 상황 이후 서비스가 재개될 때 이전에 복제된 데이터에 연속된 형태로 데이터 빠짐 없이 무난하게 데이터가 전송될 수 있을까?
- 초당 수천건의 데이터가 발생하더라도 시스템에 큰 무리가 없이 원하는 포그 혹은 클라우드로 전송될 수 있을까?
- 일정 데이터가 수집된 이후에 과거의 데이터를 손쉽게 지우거나, 백업 할 수 있을까?
- 만일 네트워크가 수시간 혹은 수일간 멈추는 장애가 발생하고, 이를 복구한 후에 그 기간동안의 데이터를 유실없이 모두 복제할 수 있을까?
이 몇가지 질문만 보더라도 사용자가 직접 에지 컴퓨팅을 구현하기 위해 고민해야 할 것들이 어마어마하다는 것을 알 수 있다.
상이한 스키마 (구조) 간의 데이터 복제
만일 에지에서 모으는 데이터의 스키마(구조)와 포그의 스키마가 서로 다를 경우에는 어떻게 데이터를 변환해야 할까?
실제 비지니스 환경에서는 에지에서 모으고, 처리하는 데이터 구조와 요구 사항은 상위 단의 포그에서의 그것과는 판이하게 다를 가능성이 매우 높다.
왜냐하면, 상위단으로 갈수록 RAW 데이터보다는 통계 혹은 특이 데이터의 수집 혹은 다수 데이터의 통합과 같은 보다 추상화된 데이터 처리 모델이 필요한 경우가 대부분이기 때문이다. 이 경우 사용자가 매번 스키마의 변경시에 소프트웨어도 함께 수정되어야 한다면 얼마나 비효율적이고 불편한 시스템이 될지 금방 이해할 수 있다.
따라서, 에지 컴퓨팅을 위해서는 에지와 포그 간의 데이터 복제를 위해 원하는 컬럼을 선택하고, 변환하고, 전송하는 것이 일관성 있는 인터페이스로 제공되어야 함은 분명하다.
실시간 데이터 감시 및 알람 처리
에지에서 발생하는 모든 데이터에 대한 처리를 모두 상위단계(포그, 클라우드)서 수행하도록 하는 것은 비효율적이다.
만일 특정 센서의 값이 특정 범위를 넘어설 경우 바로 알람 메시지를 받고자 하는 경우를 산정해 보자.
이 알람의 조건을 검사하는 곳이 포그 단계라고 한다면, 수십 혹은 수백의 에지로 부터 도달하는 모든 데이터에 대해 하나의 포그가 일일이 조사하고, 알람을 생성하는 것은 매우 어렵고 처리하기 힘든 것임은 쉽게 상상할 수 있다.
즉, 이러한 알람와 같은 간단한 처리를 위해서는 해당 에지에서 데이터를 직접 감시하고, 이를 사용자에게 직접 알려주는 시스템이 필수적이며, 이것이야 말로 진정한 에지 컴퓨팅의 한 기능이라고 할 수 있다.
에지 장비의 원격 관리
에지 컴퓨팅을 현실화하게 되면, 실제로 하나의 공간에서 동작하는 에지 단말 장비의 갯수는 수십개에서 수백개 이상으로 늘어난다.
이는 에지가 담당하는 데이터 처리량이 증가할 수록 더더욱 두드러지는 현상인데, 만일 사용자가 일일이 에지 장비에 대해 설치 및 초기화를 직접 해야 한다고 상상해 보자.
이는 매우 성가신 일이다.
더우기 이미 설치된 수십대의 에지 장비가 잘 동작하고 있는지, 특이한 문제는 없는지, 혹은 업그레이드를 해야 하는 경우 사람이 일일이 해당 소프트웨어를 설치하고, 관리하는 것은 거의 악몽에 가깝다.
이를 위해 에지 컴퓨팅은 필연적으로 다수의 에지 장비에 대한 제품의 초기화, 설치, 변경, 업그레이드, 모니터링이 쉽고, 빠르게 동작해야 함은 두말할 나위도 없다.