1. Edge Computing이란?
Edge Computing은 데이터가 생성되는 위치와 가까운 곳에서 데이터를 처리하는 분산 컴퓨팅 패러다임입니다. 중앙의 데이터 센터로 데이터를 전달한 후 처리하는 방식과 달리, 네트워크의 가장자리(Edge)에 컴퓨팅 자원을 배치하여 데이터의 수집, 처리, 분석 등의 작업을 수행합니다.
데이터가 생성되는 위치와 가까운 곳에서 필요한 처리를 수행함으로써 데이터 전송량과 처리 지연을 줄일 수 있으며, 중앙 시스템과의 네트워크 연결이 불안정한 환경에서도 일부 기능을 독립적으로 수행할 수 있습니다.
Edge Computing은 중앙 시스템을 대체하기 위한 구조가 아니라 서로 역할을 분담하는 구조입니다. 데이터 수집이나 즉각적인 처리가 필요한 작업은 Edge에서 수행하고, 대규모 데이터 저장이나 여러 현장의 데이터를 통합하여 처리하는 작업은 중앙 시스템에서 수행할 수 있습니다.

2. IoT 환경에서 Edge Computing이 필요한 이유
IoT 환경에서는 센서, 장비 등 다양한 Device에서 지속적으로 데이터가 생성됩니다. 이러한 데이터를 모두 중앙 시스템으로 전송하여 처리하는 구조에서는 데이터의 양과 네트워크 환경에 따라 여러 제약이 발생할 수 있습니다. Edge Computing은 데이터를 발생 지점과 가까운 곳에서 처리함으로써 이러한 제약을 줄일 수 있습니다.
2.1 데이터 처리의 실시간성
IoT 환경에서는 데이터에 대한 빠른 처리가 필요한 경우가 있습니다. 장비의 상태를 감지하여 즉시 제어하거나 이상 상황에 대응해야 하는 경우, 데이터를 원격의 중앙 시스템으로 전송하고 결과를 다시 전달받는 과정에서 발생하는 지연이 문제가 될 수 있습니다.
Edge에서 데이터를 직접 처리하면 네트워크를 통한 왕복 과정을 줄일 수 있기 때문에 빠른 응답이 필요한 기능을 현장에서 수행할 수 있습니다.
2.2 네트워크 연결에 대한 의존성
IoT Device가 설치되는 환경에서는 중앙 시스템과의 네트워크 연결이 항상 안정적으로 유지된다고 보장하기 어렵습니다. 중앙 시스템에서 모든 처리를 담당하는 경우 네트워크 연결에 문제가 발생하면 Device의 데이터 처리에도 영향을 줄 수 있습니다.
Edge에서 필요한 기능을 수행하도록 구성하면 중앙 시스템과의 연결이 일시적으로 불가능하더라도 현장에서 필요한 데이터 수집이나 처리를 지속할 수 있습니다.
2.3 데이터 전송량
IoT 환경에서는 많은 Device가 지속적으로 데이터를 생성하며, 짧은 주기로 데이터를 생성하는 Device에서는 상당한 양의 데이터가 발생할 수 있습니다. 모든 원본 데이터를 중앙 시스템으로 전송하면 네트워크 사용량뿐만 아니라 중앙 시스템의 처리 부하도 증가합니다.
Edge에서 데이터의 필터링, 집계 또는 전처리를 수행하면 중앙 시스템에는 필요한 데이터만 전달할 수 있어 네트워크 전송량과 중앙 시스템의 처리 부담을 줄일 수 있습니다.
3. 고객사 IoT 플랫폼에서의 Edge Computing 적용
고객사 IoT 플랫폼은 산업 현장에서 발생하는 데이터를 수집하고 중앙 시스템으로 전달하기 위해 Edge Computing 구조를 적용하고 있습니다. 현장에 Edge Gateway를 배치하고 장비와의 데이터 수집 및 일부 처리를 Edge에서 수행한 후, 필요한 데이터를 중앙 시스템으로 전달합니다.
3.1 불필요한 데이터의 조기 제거
고객사 IoT 플랫폼에서는 장비에서 데이터가 수집되는 시점에 데이터의 유효성을 확인하기 위한 OutOfRange Filter를 적용할 수 있습니다. 각 데이터 항목에 정상적으로 수집할 수 있는 값의 범위를 설정하고, 해당 범위를 벗어난 데이터가 수집되면 이후 처리 과정으로 전달하지 않고 Edge에서 제거합니다.
유효하지 않은 데이터를 중앙 시스템까지 전달한 후 판단하는 방식이라면 데이터 전송, 수신 및 이후의 처리 과정까지 불필요하게 수행하게 됩니다. 고객사 IoT 플랫폼에서는 데이터가 최초로 수집되는 Edge에서 유효성을 판단하여 부적절한 데이터를 최대한 빠르게 제거하도록 구성하였습니다.
이를 통해 불필요한 데이터가 이후 데이터 처리 과정에 미치는 영향을 줄이고, 중앙 시스템으로 전달되는 데이터 역시 유효한 데이터를 중심으로 구성할 수 있습니다.
3.2 네트워크 단절에 대한 대응
Edge와 중앙 시스템 사이의 네트워크가 항상 안정적으로 유지되는 것은 아닙니다. 네트워크가 일시적으로 단절되더라도 Edge Gateway와 현장 장비 사이의 데이터 수집은 독립적으로 수행할 수 있습니다.
고객사 IoT 플랫폼에서는 중앙 시스템으로 데이터를 전달할 수 없는 경우에도 장비에서 수집되는 데이터가 유실되지 않도록 Edge에 위치한 InfluxDB에 데이터를 임시로 저장합니다. 이후 네트워크 연결이 복구되면 임시로 저장했던 데이터를 중앙 시스템으로 다시 전달하도록 구성하였습니다.
InfluxDB는 시간에 따라 지속적으로 발생하는 데이터를 저장하는 시계열 데이터베이스로, Edge에서 수집되는 IoT 데이터를 임시로 보관하는 용도로 활용하고 있습니다. 이를 통해 중앙 시스템과의 일시적인 네트워크 장애가 현장의 데이터 수집 중단이나 데이터 유실로 직접 이어지는 것을 방지할 수 있습니다.
3.3 데이터 변환 및 표준화
고객사 IoT 플랫폼에서는 장비에서 수집한 데이터를 중앙 시스템으로 전달하기 전에 필요한 전처리를 Edge에서 수행합니다. 수집된 원시 데이터에 Scaling Factor를 적용하여 실제 사용되는 값으로 변환하거나, 장비별 데이터 항목명을 고객사 IoT 플랫폼에서 사용하는 표준 항목명으로 변환하는 작업 등이 이에 해당합니다.
이처럼 데이터가 발생하는 현장에서 필요한 처리를 수행하고, 중앙 시스템에는 일정한 형태로 가공된 데이터를 전달하도록 구성하고 있습니다.
이러한 변환을 중앙 시스템에서 수행할 경우 중앙 시스템이 장비별 원시 데이터의 표현 방식까지 알고 있어야 합니다. Edge에서 장비 데이터에 필요한 변환을 수행한 후 전달함으로써 중앙 시스템에서는 장비의 세부적인 데이터 표현 방식에 대한 의존성을 줄일 수 있습니다.
4. Edge와 중앙 시스템의 역할 분담
Edge Computing을 적용한다고 해서 모든 기능을 Edge에서 수행하는 것은 아닙니다. 고객사 IoT 플랫폼에서는 현장에서 처리하는 것이 효율적인 기능과 여러 현장의 데이터를 통합하여 처리해야 하는 기능을 기준으로 Edge와 중앙 시스템의 역할을 구분하였습니다.
장비와 직접 통신하거나 데이터가 수집되는 즉시 수행해야 하는 처리는 Edge에서 담당합니다. 또한 중앙 시스템과의 네트워크 연결 상태와 관계없이 지속되어야 하는 기능 역시 Edge에서 수행하도록 구성하였습니다.
반면 여러 현장에서 수집된 데이터를 통합하여 저장하거나 모니터링하는 기능은 중앙 시스템에서 수행합니다. 개별 현장보다는 전체 시스템의 데이터를 기준으로 처리해야 하는 기능을 중앙에 배치하여 여러 Edge를 통합하여 관리할 수 있도록 하였습니다.
Edge에서 수행되는 기능에 대한 설정과 관리 역시 중앙 시스템을 통해 이루어집니다. 중앙에서 데이터 수집 및 처리에 필요한 설정을 관리하여 Edge에 전달하고, Edge에서는 전달받은 설정을 기반으로 현장에서 실제 데이터 수집과 처리를 수행합니다.
결과적으로 고객사 IoT 플랫폼에서는 현장과 장비에 가까워야 하는 기능은 Edge에, 여러 현장을 통합하여 관리하고 데이터를 활용해야 하는 기능은 중앙 시스템에 배치하는 것을 기본적인 역할 분담 기준으로 적용하였습니다.

genie