Bluemix의 OpenWhisk를 써보자 1편

728x90


1. Serverless Computing에 대하여
OpenWhisk에 대해 얘기하기 이전에 Serverless Computing에 대해서 정의를 하고 넘어가야 할 것 같습니다. 우리가 흔히 얘기하는 Server라는 것은 24시간 켜져 있어야 하고 서비스에 지장이 발생하지 않도록 일정 수준 이상의 시스템 구축 및 신뢰성이 보장되어야만 합니다. 그것이 제대로 지켜지지 않았을때 어떤 일이 일어나는지는 우리는 너무나 잘 알고 있습니다.


문제는 앞서말한 Server에 대한 상식을 뒤집어보면 0명이 접속하든, 100명이 접속하든 Server는 항시 작동하고 있어야만 한다는 뜻이되며, 그건 곧 비용으로 직결됩니다. 그래서 "이럴 바엔 Server를 상시 가동하는 게 아니라 특정 액션이 발생할 때만 사용할 수는 없을까?" 라는 의문에서 출발한 것이 "Serverless Computing"의 개념이고 IBM Bluemix의 경우 OpenWhisk를 주력으로 내세우고 있습니다. 아래 그림과 같이 조건이 부합할 때만 트리거가 동작이 되고, 사전에 지정해둔 Actions(JS/Swift/Docker 등)가 발동이 되어 실제 Action으로 이어지게 됩니다.




그래서 Serverless Computing을 이용할 경우 스타트업이나 저렴한 비용으로 특정 액션을 지속적으로 발생하도록 만들고 싶어하는 유저들에겐 좋은 선택이 될 수 있습니다. 1시간, 1달, 1년 단위로 끊는 다른 서비스들과는 달리 실제 Action이 발생한 시간만 과금을 하기 때문에, 실제 1초만 Action이 발생되엇다면 1초에 대한 요금만 지불하면 되기 때문에 기존의 서비스 모델에 비해서 좀 더 매력적인 선택지가 될 수 있습니다. 사실 저렴한 점을 장점으로 적어놓았지만 Real Action Time 기준으로 과금을 한다는 얘기는 바꿔말하면 불규칙적으로 데이터가 드나들거나 혹은 특정 시간대에 집중적으로 데이터가 드나드는 경우에도 유용하게 사용할 수 있다는 얘기가 됩니다.

그러면 이걸 좀 더 쉽게 동영상과 슬라이드로 확인해 볼까요.



다은편에는 Hello World를 띄우는 것까지 진행해보겠습니다.


728x90