모바일 기기와 사물인터넷 서비스에 맞물려 클라우드 서비스가 늘어나고 있다. 이런 흐름에 맞춰 IBM이 내놓은 클라우드 서비스인 'IBM 클라우던트 서비스'를 사용해 보았다. 




이 서비스는 분산 NoSQL 데이터베이스이며 오픈소스를 기반으로 하고 있다. 확장성과 가용성이 좋으며 웹 애플리케이션과 모바일 앱 등으로 편리하게 쓸 수 있다. 주요 활용처로는 사물인터넷을 활용한 센서의 정보를 기록하는 용도, 영화관의 티켓 발매 현황 등 실시간으로 데이터를 수집하는 용도를 들 수 있다. 분산 NoSQL 데이터베이스가 정형화되지 않는 데이터의 기록과 처리에 매우 좋은 성능을 보여주기 때문이다.  


유튜브에 공개된 센서태그 데모를 보면 앱을 사용한 활용방법을 볼 수 있다. 텍사스 인스트루먼트사의 센서태그는 사물인터넷(IOT) 개발용 디바이스이다. 매우 작은 전력을 소모하면서 다양한 센서를 내장하고 블루투스 통신을 지원한다. 또한, IBM IOT Foundation과 연동한다.  

􏰀


이 센서를 이용해서 적외선을 이용한 사물의 온도를 측정할 수 있으며 습도, 기압, 고도 측정도 가능하다. 9-축 모션 센서로 움직임을 감지하고 주변 밝기 측정, 버튼 누름 감지에도 이용할 수 있다. 이런 데이터를 수집해서 IBM IOT Foundation을 거쳐 IBM 클라우던트에 데이터 형태로 기록해 빅데이터로 사용이 가능하다.



IBM 클라우던트는 무료로 가입해도 50기가바이트의 공간이 주어지며 점진적 라이센스 모델을 채택하고 있어 최초 활용에 대한 제약이 거의 없다. 과연 이 서비스로 어떤 일을 할 수 있을까 직접 체험해 보았다.



특징 - 쉬운 가입과 편리한 메뉴 방식 





최초 가입절차는 간단한 편이다. IBM 클라우던트 페이지에서 해당 배너를 클릭하거나 직접 가입사이트(http://ibm.co/1iHWk3U)로 들어가면 된다. 여기서 기입 필수 항목을 채워서 보내면 메일이 오는데 그것을 통한 본인인증이 되면 즉시 서비스 가입이 이뤄진다.


가입 후 아이디와 패스워드를 통해 로그인하면 데이터베이스가 아직 생성되지 않는 상태의 메뉴가 나온다.  





한글이 아닌 영문으로 되어 있어 언어적인 면에서 국내 사용자에게 다소 불편하게 느껴질 수 있다. 그렇지만 비교적 쉬운 영문으로 구성되어 있어 약간의 영어 지식만 있다면 사용하는 데 지장은 없다. 또한, 직관적인 메뉴 방식으로 구성되어 조작도 전혀 어렵지 않다.  




왼쪽에 있는 큰 메뉴를 선택하면 커다란 기능 카테고리를 이동할 수 있다. 그에 따라 위쪽의 서브 메뉴가 나타나며 거기서 기능을 선택하면 아래쪽에 해당 입력 패널이 나타나는 식이다. 한눈에 기능을 보면서 선택하기 좋다. 




어카운트 메뉴를 통해서는 계정정보를 관리할 수 있다. 프로필과 패스워드는 물론이고 가상호스트 개수와 사용자 위치정보, 결제를 위한 신용카드 정보까지 이곳에서 통합해서 관리한다. 



이 밖에도 각종 서포트와 관련 문서 사이드도 이곳 메뉴를 선택하는 것만으로 찾아볼 수 있다. 영문이 기본으로 되어 있으며 한글메뉴얼이 따로 없다는 점은 좀 아쉽다.



활용 실습 - 공공데이터를 클라우던트에 입력하고 조회한다


구체적 실습과정으로서 공공데이터를 IBM Cloudant에 입력하고 조회하는 서비스를 만들어 보았다. 구체적으로 한국 영화관의 박스오피스를 집계한 공개 데이터를 수집해서 클라우던트에 넣는 것부터 시작했다. 



우선 base64.encode.org에 접속한다. 여기서 이후 과정에 필요한 암호를 인코드한다. 예를 들어 catchrod:123456 이런 식으로 입력하면 이것이 모두 섞인 인코딩 암호가 자동생성되어서 나온다. 




이후 DaiyBoxOfficeCloudant.html 을 실행시키면 오픈 계정과 암호를 물어본다. 여기서 방금전 생성한 인코딩 암호를 집어넣으면 박스 오피스 데이터 베이스를 가져 올 수 있게 된다. 적절한 기간을 입력하면 관련 데이터 베이스가 생성되며 여기서 가져온 데이터를 클라우던트로 가져올 수 있다.





testd에 데이터가 로드되었다. 2015년 1월부터 2015년 9월까지의 일별 박스오피스를 집계한 데이터이다. 이 상태에서 데이터베이스 이름을 클릭하면 관련 메뉴와 소스코드를 볼 수 있다.




이렇듯 쉽게 공공 데이터를 가져올 수 있고 메뉴 방식으로 쉽게 활용할 수 있었다. 이 점에서 IBM 클라우던트 서비스의 상당히 뛰어난 활용성을 느낄 수 있었다. 이후 자바를 통해 IBM 클라우던트 데이터베이스에 접속해서 조회할 수 있다.






모바일 기기 연동 - APK 파일 생성을 이용해 안드로이드 기기에서 데이터 활용



이렇게 수집한 데이터를 바탕으로 모바일 기기와 연동해서 더욱 풍부한 활용을 할 수 있다. 모바일 기기와 연동을 하기 위해서는 우선 안드로이드 SDK를 내려받아 설치해야 한다.




안드로이드 스튜디오를 설치해서 모바일 기기를 제어할 수 있게 된 후에 안드로이드와 사물인터넷 연동을 위한 라이브러리를 설치한다. 




이후에 Organization 항목과 Device ID를 설정하고 Auth Token까지 입력하고 나면 모든 준비가 끝난다.






IBM 사물인터넷 파운데이션 사이트 에 들어가서 설정해 놓은 Device ID를 입력하면 모바일 기기와 클라우던트 연동을 위한 웹에서의 준비는 끝난다.




모바일 기기에서 실행하기 위한 APK 파일 생성을 위해서 Build > Generate Signed APK > Create New 의 순서로 실행하면 다음과 같이 필요한 값을 입력한다.




이후 생성된 파일을 안드로이드 스마트폰에 업로드 한 뒤 앱 형태로 설치하면 된다. 이때 보안설정 때문에 임의 APK 파일 설치가 차단된 단말기에서는 설치가 되지 않을 수 있다. 이때는 환경설정 >보안으로 들어가서 '알수없는 출처 설치 허용'을 체크해 준 뒤에 설치하면 된다.

􏰀 




IBM 클라우던트 서비스는 사물인터넷을 포함한 각종 실시간 데이터를 데이터베이스와 결합해 폭넓게 활용하는 데 도움이 된다. 사물인터넷과 모바일 기기를 이용한 서비스를 만들려는 개발자에게 손쉬운 데이터베이스 활용법과 무료 클라우드 공간 50기가바이트를 제공한다는 장점이 매력적이다. 



관련 사이트인 IBM 사물인터넷 파운데이션에는 라즈베리 파이를 비롯한 다양한 기기 사용 예제도 준비되어 있다. 다가오는 사물인터넷 시대를 맞아 새로운 서비스를 손쉽게 만들려는 개발자라면 IBM클라우던트 서비스를 주목해보자.

50GB 무료체험 신청 링크 (http://ibm.co/1iHWk3U)

* 이 포스팅은 한국 IBM의 의뢰로 원고료를 받아 주관적으로 작성되었습니다.