Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

IoT 인프라 아키텍처링

IT 시장조사업체인 가트너(Gartner)는 매년 새로운 기술의 현황과 전망을 설명하는 "하이프 곡선(Hype Cycle)"를 발표한다. 2014년 발표한 자료를 보자.

()현재 IoT기술은 "Peak of inflated Expectations"즉 "거품기"에 있다. 이쪽 바닥에서 일하는 사람들이라면 대략 지금쯤이 거품기라고 생각할 것이다. 나 역시 지금이 거품의 정점이라고 생각하고 있다. 뭐.. 하이라이트를 받아본 기술들이라면 어차피 한번은 거쳐야 할 단계이니, 여기에 연연할 필요는 없겠다.

하이프 곡선에서 하나 주목할 부분이 있는데, IoT의 "Plateau will be reached in"(기술이 성숙하는)시점을 5년에서 10년 정도로 상당히 먼 미래로 보고 있다는 점이다. 미래의 기술이라는 것. 환결의 시기를 지나 재조명의 시기까지의 지난한 5년 이상의 기나긴 시간을 거쳐야 한다. 호흡을 좀 가다듬고 멀리 바라볼 필요가 있는 기술이다.

향후 IoT 환경을 준비하기 위해서 나름 IoT 설계영역을 고민해 보려 한다.

네트워크

Internet of things라서 (기존 인터넷 애플리케이션 개발하는 느낌으로)쉽게 접근할 수도 있겠다. 하지만 IoT는 사람 (혹은 사람이 조작하는 애플리케이션)이 아닌 "디바이스"가 연결한다는 차이가 있다. 사소한 차이인 것 같은데, IoT 기술 확산과 관련된 대부분의 이슈는 여기에서 생긴다고 보면 될 것 같다. 이유는 다음과 같다.
  • 사람은 자신의 네트워크 환경을 스스로 인지하고, 네트워크 환경을 선택할 수 있다. 기기는 그렇게 할 수 없거나 힘들다.
  • 사람은 인터넷에서 자기를 식별하기 위한 수단을 가지고 있다.
  • 사람은 스스로 네트워크 영역을 확장할 수 있다. 예컨데, 주변에 있는 다른 사람, 다른 애플리케이션, 다른 기기와 통신을 하면서도 지구 반대편에 있는 다른 사람 혹은 애플리케이션과 자유롭게 통신할 수 있다. 사람에게는 지역 네트워크와 광역 네트워크가 자연스럽게 통합된다. 하지만 기기는 다르다. 로컬 네트워크를 글로벌 네트워크와 광역 네트워크를 자연 스럽게 통합하는 것은 그 자체로 하나의 과제다.
  • 기기는 로컬 네트워크를 구성할 수 있어야 한다. TCP,UDP/IP로 통일된 광역 네트워크와 달리, 로컬네트워크는 "이거다"라고 할 만한게 없다.
  • Automation. 네트워크 환경, 주변 기기 인식.. 이런게 자동으로 이루어져야 한다.
  • 보안. 광역 네트워크는 기업의 핵심 인프라로 자리매김 한지 오래다. 보안에도 많은 투자가 이루어졌고 인식 개선도 이루어졌다. 다양한 대응수단을 선택할 수 있다. IoT의 주요 활동 무대중 하나인 로컬네트워크는 그런거 없다. 그리고 광역 네트워크의 보안 기술들을 IoT 산업에 그대로 적용할 수 있을지도 검토가 필요하다.

연결 구간별 분류

IoT 네트워크를 연결 구간 별로 분류했다.

Mesh Network 구간, Local Network 구간, Internet 3개의 구간으로 분류할 수 있다. Mesh Network 구간은 Local Network 구간의 일부분이지만, 연결성에 있어서 많은 차이가 있어서 독립적인 구간으로 분류했다.

Internet

IoT는 이루고자 하는 목적이 아직은 명확히 정의되진 않았다. 하지만 어떤 목적이든지간에 그걸 이루기 위해서는 인터넷에 연결을 해야 한다. 인터넷을 통해서 연결하는 목적지는 IoT 인프라가 될 것이다.

인터넷은 20년이 넘는 오랜 시간동안 상업적 목적으로 사용을 해 왔다. 애초에 (인터넷의 근간인)TCP/IP는 중요 데이터를 다루기에 적합한 프로토콜이 아니다. 인터넷으로 금전거래, 개인정보 거래는 한계가 있다는 우려가 있었지만 오랜시간 기업들과 해커들이 노력을 한 결과 지금은 비지니스, 과학, 교육, 금융 모든 영역에서의 핵심 인프라가 됐다.

IoT 입장에서는 다행 스러운 일이다. 이미 잘 만들어진 시스템과 기술들을 활용하기만 하면 되니까 말이다. 이 구간에서 사용할 수 있는 기술들은 다음과 같다.
  • TCP/IP : 인터넷의 기반 기술이다. IPv4 주소가 고갈됐다는 문제가 있지만, IPv6가 서서히 자리를 잡아가고 있다.
  • HTTP : HTTP 기반의 서버/클라이언트 소프트웨어, 라이브러리, 프레임워크들이 넘쳐난다. 앞으로도 핵심 프로토콜로 자리 잡을 것이다.
  • Websocket
  • HTML & Javascript
  • MQTT : IoT 인프라는 그 특성상 "비동기 모델"로 개발할 수 밖에 없는데, MQTT를 이용해서 가벼운 sub/pub 기반의 push 시스템을 구축 할 수 있다.
  • SSL : 이미 많은 인터넷 비지니스가 SSL 기반에서 이루어지고 있다.
  • oAuth : 인터넷 서비스 경험이 부족한 제조업에서 IoT 서비스를 구축할 경우 두 가지 문제에 부닥친다. 인터넷 서비스 인프라와 인터넷 유저 기반이 허약하다는 거다. 5년전만 해도 이 문제들을 해결하기 힘들었을 거다. 하지만 지금은 클라우드와 oAuth를 이용해서 이들 문제를 해결할 수 있다.
  • 클라우드 : AWS, Azure, SoftLayer를 이용해서 빠르게 IoT 서비스 인프라를 구축할 수 있다. 클라우드가 없다면 아마 IoT도 불가능 할 것이다. 지금은 (퍼블릭)클라우드가 성숙단계에 접어들어서, 안정적으로 컴퓨팅/네트워크 인프라를 대여할 수 있다.