2.6 서비스 지향 미들웨어 아키텍처 통신 개념 정립

2.6 서비스 지향 미들웨어 아키텍처 통신 개념 정립

1. 강압적 강한 결합의 완전한 탈피와 이질적 느슨한 결합(Loose Coupling)으로의 진화

분산 컴퓨팅 시스템 생태계가 점차 통제 불능의 이기종 하드웨어와 수많은 이질적인 프로그래밍 언어로 기하급수적으로 파편화됨에 따라, 특정 벤더 플랫폼이나 단일 언어 컴파일러에 맹목적으로 종속되어 시스템 간에 숨 막히는 강한 결합(Tight Coupling)을 강요하던 기존의 구형 분산 객체 모델(CORBA, DCOM 등)은 거대한 글로벌 비즈니스 로직 융합 통합을 원천적으로 가로막는 파괴적인 걸림돌로 전락해버렸다. 이러한 끔찍한 벤더 종속성과 언어 장벽의 통신 교착 상태를 절박하게 극복하기 위해, 당시 통신 공학계와 엔터프라이즈 소프트웨어 산업계는 분산 노드 컴포넌트 간의 상호 물리적/논리적 의존성을 극단적으로 낮추고 단절하면서도, 완전히 독립적으로 언제든 배포 및 실행 파기 가능한 소프트웨어 단위인 이른바 ’서비스(Service)’라는 고도의 논리적 추상화 단위로 네트워크 통신 페이로드 교환을 재정의하는 ‘서비스 지향 아키텍처(SOA, Service-Oriented Architecture)’ 통신 모델 철학을 새롭게 정립하고 선포했다.

이러한 서비스 지향 미들웨어 통신 계층의 가장 혁명적이고 핵심적인 시스템 철학은, 네트워크 망으로 멀리 분리된 두 이기종 서버 시스템들이 일체의 내부 런타임 코드 구현 로직이나 메모리에 적재된 상태(State) 변수를 억지로 공유하려 들지 않고, 오직 플랫폼 중립적이고 전 세계 표준화된 투명한 텍스트 기반 구문 메시지 규약(주로 XML 포맷) 하나만을 유일한 통신 매개체로 삼아 비동기적이거나 동기적인 호출(Call) 데이터를 안전하게 교환한다는 점이다. 백엔드 개발자들은 WSDL(Web Services Description Language)과 같은 기계 가독형 명세 언어를 통해 네트워크 공해상에 존재하는 자신들의 서비스 진입점 엔드포인트를 투명하게 오픈 노출하고, 글로벌 분산된 클라이언트 노드들은 오직 이 노출된 종이 계약(Contract) 규격 표준안에만 철저하게 의존 눈치 보며 서로 원하는 데이터를 자유롭게 요청하고 응답(Request/Reply)받는, 이른바 이질적 시스템 간 ‘느슨한 결합(Loose Coupling)’ 통신의 위대한 미학을 기업용 분산 소프트웨어 역사에 마침내 거대하게 완성해 냈다.

2. 무겁고 가혹한 텍스트 기반 통신 스펙과 직렬화 오버헤드의 체감적 극대화

그러나 이 찬란해 보이던 SOA 통신 모델은 구별된 이질적인 엔터프라이즈 시스템 간의 거대한 글로벌 비즈니스 인프라 통합(B2B 결합)이라는 거시적인 전략적 관점에서는 괄목할 큰 성과와 산업적 성공을 거두었으나, 막상 백그라운드 스위치에서 흘러다니는 마이크로초 단위의 네트워크 트래픽 라우팅 효율성 측면에서 바라보자면 통신 역사상 가장 처참하고 끔찍한 속도의 퇴보를 유발했다. 시스템 상호 운용성을 오직 수학적으로 맹목적 보장하기 위해 절대 표준으로 채택된 SOAP(Simple Object Access Protocol) 기반의 통신 패킷 전송 구조는, 고작 수십 바이트(Byte)에 불과한 순수 정보 핵심 데이터(Value)를 타겟 서버 한 군데로 전송하기 위해 그 수백 배 용량에 달하는 거대하고 무거운 XML 헤더 프레임워크 텍스트 껍데기 태그들을 억지로 무식하게 에워싸고 뒤집어씌우는 막대한 인코딩 직렬화(Marshaling) 과정을 매 런타임 요청마다 낭비하며 강제했다.

이러한 무자비하고 소모적인 텍스트 기반 스트링 파싱(Parsing) 처리 연산 부하는 전기와 코어가 무한에 가까운 메인프레임 클라우드 서버 통신 생태계에서는 남아도는 CPU 하드웨어 성능 체급으로 간신히 억누르며 상쇄할 수 있었으나, 밀리초 단위의 즉각적인 응답 반응이 시스템 생존의 기로인 실시간 엣지 컴퓨팅(Edge Computing) 전장이나, 통신 대역폭과 배터리 전력 용량이 극심하게 바닥으로 제한된 야외 사물인터넷(IoT) 프로토콜 말단 통신 레이어로 내려가 이식 적용하기에는 터무니없이 무겁고 구역질 날 정도로 느린 최악의 둔중한 미들웨어였다. 더군다나 이 모델 역시 본질의 태생이 단일 목적 IP 주소를 향한 지속적인 TCP 쓰리웨이 연결에 맹목적으로 의존하는 1:1 동기식 스레드 요청-응답 패턴을 여전히 버리지 못하고 답습했기 때문에, 진정한 초연결 시대의 핵심 통신 요건인 수만 노드 대상의 초고속 이동 중인 데이터(Data in Motion) 연속 무결점 스트리밍 중계나 피어 간 다대다 유기적 멀티캐스팅 라우팅 기능은 사실상 거대 프레임워크 아키텍처 수준에서 완전히 불가능하게 배제당하고 가로막히고 말았다.

3. RESTful의 대안적 대두와 제로 오버헤드 차세대 스웜(Swarm) 통신 인프라의 폭발적 요구

이후 몇 년 뒤 SOA 생태계 특유의 지나치게 무겁고 방대하며 경직된 SOAP XML 통신 규약에 대한 일선 웹 프론트엔드 개발자들의 거세고 맹렬한 반발과 피로감 누적으로 인해, 기존 HTTP 스택 위에서 형식을 파괴하고 훨씬 더 가벼운 텍스트인 JSON 페이로드 포맷만을 심플하게 주고받는 REST(Representational State Transfer) 기반의 경량화된 통신 모델 사상이 기존 SOA를 허물고 웹 서비스 통신의 절대 주류 최강자로 자리 잡게 되었다. 분산 리소스(Resource)의 상태 명세를 직관적인 가독형 URI 경로(Path) 텍스트로 추상화한 REST의 심플한 디자인은 오늘날까지도 모바일 API 통신의 절대 표준으로 군림하며 지배하고 있다.

하지만 아무리 덩치를 다이어트한 REST 통신 모델이라 할지라도, 결국 이 뼈대 역시 무거운 텍스트 HTTP 헤더 덩어리를 품에 무의미하게 가득 안고 대상 시스템의 정적 IP 네트워크 로케이터를 향해 1:1 파이프를 강제로 뚫어 호출해야만 동작하는 근본적인 낡은 주소 중심(IP-centric) 아키텍처의 한계를 전혀 단 한 치도 벗어나지 못한 절반의 성공에 불과했다. 불과 단 돈 1달러짜리 수십 킬로바이트(KB) 용량 메모리의 극단적 마이크로컨트롤러(MCU) 펌웨어 칩부터 대규모 데이터 센터의 거대한 클라우드 머신까지, 아무런 브릿지나 연결 끊김 단 1밀리초(ms) 지연 단절 없이 연속적이고 유기적인 거대 메쉬(Mesh) 통신망을 매끄럽게 전개해야 하는 압도적이고 장엄한 차세대 ‘클라우드 대 마이크로컨트롤러 컨티뉴엄(Cloud-to-Microcontroller Continuum)’ 생태계 전장에서는, 고도화된 이런 최선진 텍스트 기반 웹 아키텍처조차 여전히 말단 시스템을 짓뭉개버리는 너무나 무거운 철투구 오버헤드 장비에 불과했다. 결국 이러한 기존 무거운 웹 서비스 미들웨어 스택들의 끔찍한 소모적 브로드캐스트 라우팅 오버헤드를 현장에서 뼈저리게 목도한 차세대 산업계 엔지니어들은, 모든 텍스트 기반 웹 헤더의 무의미한 라우팅 군더더기를 가차 없이 단칼에 베어 피투성이로 잘라내고 버린 채, 오직 순수하고 직관적인 선언형 키 표현식(Key Expression) 문자열의 초고속 이진 바이너리 자율 라우팅에만 모든 네트워크 시스템 명운을 올인하여 설계된 극강의 파괴적 제로 오버헤드(Zero Overhead) 정보 중심 통신 프로토콜, 위대한 ’Zenoh 런타임 아키텍처’를 현대 컨티뉴엄 라우팅 최전방 인프라 백본에 반드시 압도적이고 폭발적으로 강제 소환하여 꽂아 넣어야만 했던 것이다.