사물인터넷(Internet of Things)이 폭발적으로 성장하고 있다. 왜 지금 이런 일이 일어나고 있는지는 쉽게 설명할 수 있다. 전구부터 스마트워치와 산업용 설비까지 다양한 인터넷 기기를 연결하기 위해 필요한 센서, 네트워킹 칩, 기타 기술의 비용이 빠르게 저렴해지고 있기 때문이다.
이렇게 연결된 “사물”은 온도, 습도, 맥박수, 조도, 속도, 분당 회전 속도 등의 기본 데이터 뿐 아니라 유지보수 필요성, 소리, 정적 또는 동적인 이미지 등 좀 더 복잡한 데이터까지 전달하게 된다.
대부분의 애널리스트들은 사물인터넷 분야가 막대하게 성장할 것으로 보고 있다. (액센추어 산하의) 액쿼티(Acquity)에 따르면 2019년까지 소비자들의 2/3 가 집에서 사용하기 위한 커넥티드기술을 구매할 것이며 약 절반 정도가 웨어러블 기술을 구매할 전망이다.
가트너는 연결된 소비자, 기업, 산업용 “사물”의 총 수가 2020년까지 260 억 개로 성장해 2009년의 9억 개와 비교하였을 때 30배에 가까운 성장률을 보일 것으로 전망했다. (또한 가트너는 사물인터넷 하이프 곡선이 현재 최고조에 도달한 상태로 진단하고 있다.)
실질적으로 활용할 수 있기 위해서는 데이터를 수집하고 전송하는 사물이 이른바 자동화 시스템이라고 말하는 것과 연결되어야 한다. 이런 소프트웨어 시스템이 사물과 사용하는 네트워크를 지능적으로 관리하고 생성하는 광범위한 데이터를 정리 및 저장하며 처리해야 ‘꿰어진 구슬’이 될 수 있는 것이다.
사물인터넷 앱을 개발하는 것과 관련된 중요한 문제
하지만 사물인터넷은 개발자들에게 쉽지 않은 문제를 안겨 준다. 가정용 전자제품을 원격으로 제어하는 것, 전 세계 어디에선가 수리를 필요로 하는 엔진이 있다는 사실을 항공기 엔진 제조사에 알리는 것, 센서로부터 기상 데이터를 수집하여 일기예보를 작성하는 것과 같은 ‘사물인터넷 애플리케이션’은 어떻게 개발하는 것이 최선일까? 필요한 기술은 어떤 것이 있을까? 어디에서부터 시작해야 할까?
사물인터넷 애플리케이션의 시작점은 사물 그 자체다. 이런 종단 장치들은 (항상 그런 것은 아니지만) 일반적으로 화면이 없고 저전력 프로세서, 일종의 임베디드형 운영체제, 하나 이상의 통신 프로토콜을 이용한(일반적으로 무선 방식의) 통신 방식을 지원한다.
사물은 인터넷, 근처의 다른 사물, 인터넷 게이트웨이(Gateway) 장치에 연결될 수 있으며, 일반적으로 불빛이 점멸하는 플라스틱 상자의 모습을 취한다.
시스템의 다음 계층인 인제스천(Ingestion) 계층은 소프트웨어 및 인프라로써 기업 데이터센터 또는 클라우드에서 운용된다. 이 계층은 사물로부터 제공되는 데이터 스트림을 받아 정리한다. 또 인제스천 계층에서 운용하는 소프트웨어는 일반적으로 필요에 따라 사물 관리와 펌웨어(Firmware) 업데이트를 담당하기도 한다.
다음으로 분석 계층에서 정리된 데이터가 처리되며, 마지막으로 최종 사용자 계층이 존재한다. 최종 사용자가 일반적으로 보고 상호 작용하는 애플리케이션이다. 그 형태는 기업용 애플리케이션, 웹 앱, 모바일 앱 등이 될 수 있다.
사물인터넷 애플리케이션을 개발할 생각이라면 마지막 2 개의 계층을 개발할 가능성이 가장 높다고 포레스터의 수석 분석가 프랭크 질레트가 설명했다.
그는 “개발자들이 종단 장치나 게이트웨이를 다룰 수 있는 툴 또는 인제스천 계층에 적합한 능력을 갖추고 있을 가능성은 낮다”라고 말했다.
즉 일반적으로 이미 구성된 “사물인터넷 플랫폼” 위에서 애플리케이션을 구축하는 것이 상식적이라는 설명이다.
일반적으로 사물인터넷 플랫폼에 포함되는 것으로는, 유입되는 데이터를 위한 시계열 보관을 수행하는 인제스천 계층, 분석 계층, 신 프로비저닝(Thin Provisioning), 활성화 및 관리 기능, 실시간 메시지 버스, 플랫폼과 그 위에 구축된 애플리케이션 사이의 통신을 가능하게 하는 API 등이 있다.
많은 기업들이 이러한 일련의 플랫폼을 제공하고 있다. 자이블리(Xively), 므누보(Mnubo), 버그 랩스(Bug Labs), 싱웍스(ThingWorx) 등이다. 이들은 많은 제조사들이 생산한 다양한 “사물”과 통신할 수 있는 역량을 갖추고 있다.
ISS(Intelligent Systems Service)를 보유하고 있는 마이크로소프트와 같이 좀 더 자리를 잡은 기업도 있으며, ITS(Internet of Things Solutions)를 보유하고 있는 SAP처럼 기업용 소프트웨어 벤더 또한 자사의 제공물에 사물인터넷 기능을 추가하고 있다.
질레트는 “이런 기업들 중 일부는 앞으로 오라클이나 기타 기업용 소프트웨어 벤더에게 인수될 것이다. 하지만 많은 특화된 (사물인터넷) 플랫폼이 특정 산업용 적용사례에 맞춰 진화해갈 것이다”라고 말했다.
처음부터 IoT 플랫폼을 개발하려면 ‘작업량이 문제’
캘리포니아에 위치한 온팜(OnFarm)은 싱웍스의 클라우드 기반 사물인터넷 플랫폼을 이용해 자체적인 웹 기반 농장 정보 애플리케이션을 개발했다. 이 애플리케이션은 토양 수분 센서 등 연결된 다양한 사물로부터 데이터를 수집하여 날씨 정보 제공자 등 다른 출처로부터 얻은 데이터와 통합한다. 그리고 나서 맞춤형 대시보드(Dashboard)를 통해 농부 고객들에게 정보를 제공한다.
온팜의 CEO 랜스 도니는 처음부터 사물인터넷 플랫폼을 개발하기 위해 개발자를 고용할까 고려했다. 그러나 그 아이디어는 폐기됐다. 도니는 “작업량이 상당했을 것이다. 자체 백엔드(Back End)를 구축했다면 1-2 년 정도 더 지연되었을 것이며, 크게 뒤쳐졌을 것이다”라고 말했다.
그는 싱웍스를 통해 모든 데이터 인제스천을 관리하고 싱웍스의 API 를 통해 데이터에 연결하는 웹 대시보드를 개발함으로써 프로그램 작업이 크게 줄었다고 말했다.
이 기업은 제조사가 새로운 센서를 개발하면 이 센서가 싱웍스의 플랫폼과 통신할 수 있도록 자바스크립트(JavaScript)로 커넥터(Connector)를 작성하는 1 명의 개발자를 보유하고 있다.
도니는 “고객들이 찾아와 우리의 솔루션으로 특정 센서를 사용하고 싶다고 말하면, 우리는 벤더와 공조해 때로는 잘 문서화되어 있지 않은 [그] API 를 확보하고 해당 제품을 위한 싱웍스로의 커넥터를 구축한다”라고 설명했다.
또한 이 기업은 온팜 웹 애플리케이션 프론트엔드(Front End)를 개발하는 4명의 개발자를 보유하고 있다. 대부분 부트스트랩(Bootstrap), 앵귤러JS(AngularJS), 자바스크립트를 이용는 이들이다. 이 프론트엔드는 RESTful API 를 이용해 싱웍스로 다시 연결된다.
도니는 “이 과정은 매우 직관적이다. 프론트엔드에서 데이터를 호출하고 이용하는 방식에 있어서 우리가 데이터 성능과 유연성에 집중할 수 있도록 해준다”라고 말했다.
온팜은 현재 고객들을 위해 5,000 개 이상의 “사물”로부터 값을 측정하여 월 7 00만 개 이상의 데이터 조각을 수집하고 있다. 이 수치는 연간 30%씩 증가하고 있는 추세다.
그는 사전구축 플랫폼의 또 다른 이점으로 확장성이 이미 입증되었다는 점을 언급했다. 사물인터넷 애플리케이션은 상대적으로 새로운 분야이기 때문에 이런 점이 중요하다. 온팜과 같은 애플리케이션 벤더는 앞으로 자사의 제공물을 매우 신속하게 확장할 수 있어야 하기 때문이다.
dl-ciokorea@foundryco.com