1.3 분산 시스템 아키텍처의 구조적 변화

1.3 분산 시스템 아키텍처의 구조적 변화

분산 시스템(Distributed System)의 발전 과정은 곧 데이터가 생산, 처리, 소비되는 물리적 및 논리적 토폴로지(Topology)의 확장과 복잡화의 역사이다. 초창기의 아키텍처는 단일 클라이언트와 서버가 일대일로 통신하는 강력한 결합(Tight Coupling) 기반의 클라이언트-서버(Client-Server) 모델을 표준으로 취하였다. 이러한 구조는 데이터베이스의 물리적 중앙화와 비즈니스 로직의 집중을 통하여 트랜잭션 무결성을 엄격하게 달성하기에는 용이하였으나, 접속 노드 수의 기하급수적 증가와 글로벌 스케일의 대용량 트래픽 앞에서는 심각한 확장성(Scalability) 한계에 부딪혔다.

이후 시스템의 모듈화와 배포의 유연성을 제고하기 위하여 아키텍처는 극적인 다변화를 겪게 된다. 전사적 서비스 버스(Enterprise Service Bus) 패턴을 필두로 서비스 지향 아키텍처(SOA)를 거쳐 현대의 마이크로서비스 아키텍처(Microservices Architecture) 생태계가 정착하면서, 애플리케이션들은 상호 독립성을 보장받으면서도 느슨하게 결합(Loose Coupling)된 형태로 분산 배치되었다. 통신 메커니즘의 관점에서도 단순 동기형 요청/응답(Request/Reply)을 넘어서, 데이터 생산자가 메시지를 발행하면 중앙의 중개 브로커(Broker)가 이를 적합한 구독자에게 라우팅하는 비동기적 발행/구독(Publish/Subscribe) 패러다임이 시스템 연동의 주류 아키텍처를 형성하게 되었다.

그러나 스마트 모빌리티(자율주행, V2X), 스웜 로보틱스(Swarm Robotics), 지능형 사물인터넷(IIoT) 등 극한의 초저지연(Low Latency)과 방대한 스케일을 수반하는 에지 컴퓨팅(Edge Computing) 영역이 확대됨에 따라, 분산 시스템은 또 한 번의 급진적 구조 편이를 강제받게 되었다. 거대 지상망으로 연결된 클라우드(Cloud) 인프라에 전적으로 의존하던 종래의 방식과 달리, 차세대 환경에서는 데이터가 창출되는 네트워크 엣지 종단에서 즉각적인 연산(Data in Computation)이 단절 없이 수행되어야 한다. 또한 노드들이 불안정한 무선망을 통해 끊임없이 네트워크를 이탈하거나 재진입하는 가변적 네트워킹 상황과 메시(Mesh) 토폴로지가 빈번하게 구축된다. 이러한 제약 조건에서는 모든 데이터 및 세션 라우팅을 총괄해야 하는 단일 브로커 모델(Single Point of Failure)이 오히려 시스템 생태계 전반의 견고성과 탄력성을 치명적으로 훼손하는 근본적 결함이 된다.

이러한 분산 시스템 아키텍처의 구조적 격변 속에서, 차세대 통신 프로토콜은 더 이상 정적인 위치 종속성이나 중앙 집중적 인프라에 얽매여서는 안 된다는 당위성을 획득한다. Zenoh(제노)는 바로 이러한 시대적 요구의 최전선에서, 수 킬로바이트(KB) 수준의 마이크로컨트롤러(Microcontroller) 노드부터 최상위 클라우드에 이르는 포괄적인 컨티뉴엄(Continuum)을 하나로 묶어내기 위하여 설계되었다. 하부 토폴로지에 관계없이 데이터가 보관(Data at Rest)되거나 이동(Data in Motion)하는 모든 상황을 ‘리소스(Resource)’ 자체에 대한 식별자로 추상화(Data-centric)한 Zenoh의 접근법은, 지난 수십 년의 분산 시스템 아키텍처 진화가 봉착했던 난제들을 해결할 필연적 해법이라 할 수 있다.