Bluemix의 OpenWhisk를 써보자 2편

728x90



지난 시간에 OpenWhisk의 개념에 대해서 간단하게 알아보았습니다. 이번 시간엔 Openwhisk로 간단하게 Hello World를 띄우는 것 까지 해보겠습니다. 실제 입력되는 게 있어서 트리거가 작동되고 어떤 식으로 메시지가 발생하는지 알 수 있으면 좋겠지만 그런게 주변에 눈에 띄질 않아서 그냥 샘플 실행 단계까지 진행하도록 하겠습니다. 우선 Bluemix 카탈로그로 들어가서 openwhisk를 검색하면 바로 이렇게 Openwhisk가 등장합니다.



 그러면 Openwhisk의 소개와 함께 'Develop in your browser'(브라우저에서 개발하기)와 'Download OpenWhisk CLI'(OpenWhisk CLI 다운로드)가 있습니다. 브라우저에서 개발은 말 그대로 웹 페이지 상에서 코드를 입력하는 것이고, CLI는 터미널에서 코드를 입력하는 방식이지요. 저희는 Develop in your browser를 클릭하도록 하겠습니다.



LI는 터미널에서 코드를 입력하는 방식이지요. 저희는 Develop in your browser를 클릭하도록 하겠습니다.



 사실 이미 Hello World 예제가 준비되어 있습니다. 그래서 Hello World 실행 자체는 되게 간단하고 메뉴만 설명하면, 우측 하단에는 '이 조치 자동화'가 있습니다. 입력한 코드를 특정 조건 하에서 반복해서 실행되게 하는 건데 아래와 같은 조건에서 구성할 수가 있구요.



또 '시퀀스로 링크'를 클리가면 아래의 기능들을 추가할 수 있도록 되어 있습니다.



아무튼 Hello World의 예제를 그대로 써도 되고 +조치 작성 메뉴를 클릭하면 다음과 같이 실행할 조치를 설정할 수 있습니다. 화면상에는 잘렸지만 실행 런타임, 샘플 선택 외에도 메모리 할당량 등의 옵션을 추가 지정할 수 있습니다.



니다. 화면상에는 잘렸지만 실행 런타임, 샘플 선택 외에도 메모리 할당량 등의 옵션을 추가 지정할 수 있습니다. 그리고 이 조치 실행 버튼을 누르면 아래와 같이 조치를 호출 할 것인지 물어봅니다. 이 값으로 실행을 눌러줍니다.



그러면 아래와 같이 Hello World를 띄우는 것을 볼 수 있습니다. 



여기까지가 이미 구성된 Hello World를 띄우는 방법이었고, CLI를 통해서 Hello World를 띄우는 방법은 아래와 같습니다. 원문은 바로가기 를 참고하여 주세요.


STEP1. 해당 코드를 작성

다음과 같은 코드를 작성해서 Hello.js로 저장하여 줍니다.

/**
 * Hello world as an OpenWhisk action.
 */
function main(params) {
    var name = params.name || 'World';
    return {payload:  'Hello, ' + name + '!'};
}


STEP2. 조치 작성

OpenWhisk CLI 명령행에 다음 명령을 입력하여 조치를 작성합니다.

wsk action create hello hello.js


STEP3. 명령 입력 및 확인

아래와 같이 명령어를 입력하면 아래와 같은 출력물이 뜨는 것을 확인할 수 있습니다. 또한 트리거나 조건을 걸어두면 특정 시간에 Hello, World가 반복되거나 특정 조건에만 발동된다던가 할 수 있는 것을 볼 수 있을 것입니다.

wsk action invoke hello --blocking --result 

 {

     "payload": "Hello, World!"

 }


그리고 상단 화면과 같이 정확히 사용된 시간인 650ms에 대하여만 청구 내역이 발생한 것을 확인할 수가 있습니다. 이렇듯 OpenWhisk는 실제 활용된 시간에만 청구가 이뤄지는 클라우드 서비스입니다. 만일 추후 IoT관련 서비스나 테스트가 있다면 서버 구입 되신 OpenWhisk를 사용해보는 것은 어떨까요??


[ 시리즈 보기 ]

1편 보러가기

2편 보러가기

728x90