Aug 18, 2014

[IBM IoT Foundation Bootcamp @Korea] 4. IBM PaaS -- Bluemix

Cloud Service Models


  • IBM Infrastructure as a Service (IaaS) -- SoftLayer
    • Computing, Storage, Networking의 자원을 통합하여 가상화
    • OpenStack 기반
  • IBM Platform as a Service (PaaS) -- Bluemix
    • Cloud Operating Environment 상에서 세분화된 단위 서비스를 재조합하여 새로운 기능 및 서비스를 생성 (Composable Environment 개념)
    • CloudFoundry 기반

Bluemix Architecture
Bluemix는 IBM Softlayer를 기저의 IaaS로 가져가면서 Cloud Foundry의 application 개발 구조를 기반으로 설계되었다. 따라서, Bluemix 상에서 개발한 application을 deploy할 때 application을 SoftLayer의 virtual container에 넣어서 deploy한다는 것이다.

Buildpacks
  • 타겟하는 PaaS 상에서 개발자가 작성한 application code가 실행될 수 있게 설정정보 및 명령들을 포함한 스크립트 컬렉션
  • Application의 framework, runtime에 대한 dependency
  • Bluemix의 기본 built-in buildpack은 LibertyNode.js

Application Runtimes


Services


[Hands-on Lab]
IBM Bluemix 상에 IoT Application 개발 환경을 설정해 보자.

Step 1. IBM Bluemix 사이트에 계정등록하고 로그인한다.

Step 2. Bluemix는 개발 팀 구성의 Organization과 작업공간의 Space를 설정하고 application을 개발하도록 요구하고 있다. 디폴트로는 로그인 계정명으로 Organization이 설정되어 있고 "dev"라는 명칭의 Space가 설정되어 있다. 아래를 참조하여 본인이 원하는 구조로 Organization과 Space를 설정해 보자.
* IoT Cloud에도 Organization을 설정하고 device를 그에 바인드하게 했던 것을 기억할 것이다. Organization이라는 동일한 명칭과 개념을 사용하고 있지만 IoT Cloud와 Bluemix 각각에 설정하는 Organization은 상호 독립적인 것이라는 점에 유의하자.  IoT Cloud는 device로부터 수집한 데이터를 공유하는 사용자 그룹을 의미하는 반면에 Bluemix는 IoT application을 공동 개발한다고 할 때 개발자 그룹을 의미한다.
Organization 관리 메뉴
Space 관리 메뉴
Step 3. 주메뉴 중에서 "CATALOG"를 선택하면 다양한 Runtime, Service, Boilerplate들의 리스트를 볼 수 있다. 이중에서 "Internet of Things Starter"를 선택하자.


Step 4. 다음 화면에서 "Create an app:" 아래 내용을 입력하고 "CREATE" 실행한다.

  • Space: Step 2에서 정의한 Space로 선택
  • Name: Application name 지정
  • Host: Application이 Bluemix 상에서 Running할 때 액세스 가능한 URL의 host name 설정 (변경하지 않으면 application name과 동일하게 설정됨) 



Step 5. 아래 예시와 같이dashboard 상에서 IoT Starter 기능이 탑재된 Node.js runtime이 정상적으로 구동되는지 확인한다.
Overview
Runtime
Files and Logs
Step 6. Bluemix는 앞에서 확인한 것과 같은 web dashboard 방식뿐만 아니라 command line interface(CLI) 방식의 admin 기능을 제공하며, CLI의 설치는 여기를 참조하여 수행한다. CLI로 Bluemix에 로그인하여 IoT application이 Node.js 상에서 구동되면서 출력하는 로그를 확인할 수 있는 방법에 대하여 알아 보자. 주요 명령어는 다음과 같다.

  • cf login
  • cf logs <app-name>
  • cf logout

No comments:

Post a Comment