Bluemix Mobile Services 느낌

개인적으로 IBM을 좋아하는 편입니다. IBM의 무엇이 좋다고 평가해서라기 보다는 좋아하는 감정 때문입니다. 사실 자주 실망합니다. 시간도 많이 허비하고요. 그래도 IBM에서 무언가 나오면 항상 애써서 살펴보는 편입니다. IBM에겐 Bluemix라는 이름의 PaaS(Platform as a Service)가 있습니다. Cloudant라는 DBaaS(DB as a Service)도 있습니다.

Bluemix에는 다양한 서비스들이 있는데, 근래 Mobile 이라는 분류를 만들고 그 안에 Node.js를 이용하여 모바일 앱을 위한 서버쪽 API를 쉽게 만들 수 있는 플랫폼을 제공하고 있고, 처음부터 만들면 힘드니까 인증이나 단순한 데이터 저장/조회는 이미 만들어서 제공하고 있습니다. BaaS(Backend as a Service)와 비슷한 부분이 있습니다. Parse나 Kinvey 같은 BaaS는, 서비스 제공자가 서버쪽 API를 미리 만들어 두고 사용자가 커스텀 API만 만들으라는 개념인데, Bluemix의 Mobile Service는 사용자가 API를 만들건데 공통된 건 이미 만들어놨다는 개념으로 보입니다. 이런 면에선 Azure Mobile Services와도 비슷한 부분이 있고요.

오랜만에 취미생활 하려고, 기존에 만들어 둔 것들을 수정하다보니, bluemix도 웹 사이트를 새로 만들었습니다. Azure의 new portal 같은 느낌... ㄷㄷㄷ (Azure의 new portal에서 안 되는게 너무 많습니다) bluemix의 새 웹 사이트도 예쁘고 좋긴 한데, 기존 웹 사이트에서는 쉽게 찾을 수 있던 정보가 새 웹 사이트에서는 어디에 있는지 궁금한게 여러가지 있습니다. 앞으로 좋아지겠지요.

Bluemix Mobile Services가 제공하는 예제를 보니 Android, iOS, Cordova를 중심으로 되어있습니다. 저는 웹 브라우저에서 돌아가는 앱을 만들려고 하다보니 Cordova 예제를 보게 되었습니다. Parse나 Kinvey는 웹 브라우저에서도 충분히 이용 가능한 JS SDK를 제공합니다. 이것을 Cordova에서도 이용하지요. 그런데, Bluemix는 Cordova가 아니면 쓸 수 없는 형태로 JS SDK를 제공하네요. 의외입니다. 그리하여, 일단은 포기.

Bluemix Mobile Servies를 이용하는 모바일 앱 만드는 가이드 https://console.ng.bluemix.net/docs/mobile/index.html#mobile

다행히, 가이드에서 REST API 쉽게 확인할 수 있게 API 콘솔 같은 것을 제공합니다. curl 명령어 예제도 쉽게 확인할 수 있는게 장점이네요.

예제에서 제공하는 가이드 http://imyaman-bluemix-c01.mybluemix.net/explorer/#!/Item

Parse Server 이용 2 (DB migration)

MongoDB 3.0을 설치하고 이전을 시작했습니다. 별 문제 없이 잘 됐습니다. Parse 직원들 고생했겠네요. App Settings에서 DB 접속 정보를 입력했습니다. 예를 들면, mongodb://id:[email protected]:27017/dbname 형식으로 입력합니다. 27017은 mongodb의 기본 port입니다.

제 Parse 앱 중에 하나는 6.11만건의 API 쿼리가 발생했군요. 공짜로 엄청 잘 썼는데... Parse가 서비스를 종료한다니 참 아쉽습니다. 자, 다음은 API 서버를 바꿔보겠습니다. nodejs가 필요하겠더군요.

아래 그림 파일들은 새창으로 열어서 보세요.

001_ParseAppList.png

002_ParseDBConnection.png

003_ParseDBongoing.png

004_ParseDBFinalize.png

005_ParseDBComplete.png

006_ParseDBconnections.png

007_ParseIPOrigin.png

마지막 두 스크린샷은, 하나는 DB를 이전하고 Parse로부터 새 DB로 얼마나 많은 접속이 있나 본 것입니다. Parse의 IP Address가 54.85.239.107 등으로 나오네요. IP Address로 찾아보니 미국 버지니아주로부터 온 접속으로 보입니다.