본문 바로가기
[Cloud]/심심풀이

[심심풀이] Apache OpenWhisk (오픈소스 클라우드 서버리스 플랫폼)에 관혀여..

by journes 2019. 2. 25.
회사에서..  OpenWhisk 에 대해서 듣게 되었고.. 찾아봤던 자료를 기억해 둡니다.   
 

apache OpenWhisk 
이벤트에 대해 함수를 실행시키는 오픈소스 클라우드 서버리스 플랫폼으로, 개발자를 코드를 실행하는 컨테이너의 관리나 운영으로부터 자유롭게 해 준다. 
 Github 에 공개된지 1년 반 만에 400여번 포크되고, 1100여개의 이슈와 1500여개의 PR (Pull requests) 이 올라오는 활기찬 오픈소스 프로젝트이다. 
IBM 의 서버리스 서비스를 위한 내부 프로젝트로 초기 개발 후 2016년 2월 오픈소스로 공개되었고, 11월부터 아파치 인큐베이션을 시작하였습니다.


* 서버리스 
  -  서버 없이 모든 규모의 이벤트에 대해 코드를 실행하여 응답하는 클라우드 컴퓨팅 방식.


현재 서버리스 플랫폼을 지원현황은 아래와 같습니다. 
 -그중  IBM OpenWhisk 가 오픈소스화 되어 있어 설치해 볼수 있습니다.  







설치
 - https://github.com/apache/incubator-openwhisk 부분을 참고 하시면 됩니다.




 그 중에,  Quick-start 방식으로 설치하면, 아래와 같이  간단하게 설치됩니다.






-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


OpenWhisk 의 대략적인 구성 및 service flow 아래와 같습니다.  

구성





workflow 





실행방법
- wsk 라는 CLI 툴을 설치 후 command 실행.





------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

고민해야 할 사항들..

1. Docker 데몬의 성능이슈.  
   -  Docker API의 처리 속도 느림
  -  잦은 API 호출 및 동시 호출 (X)
   
 OpenWhisk의 Invoker를통해 컨테이너의 생성/삭제 시  시간 차이로 인한 Bottleneck 발생 가능성 있음.  





2. 빠른 응답처리를  위한 개선 .
  - 데이터베이스와 컨테이너를 캐시하여 액션의 응답시간을 꽤 빠르게 (그다지 느리지 않게) 하는 방법
  -  웜업을 통한 응답 속도 개선. 또는 컨테이너 재사용 방안 등등 .. 









------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

서버리스 사용 예시..
  - 이벤트 발생시에만 비용처리. 








서버리스 적용 후...





서버리스의 도입시 검토해야될 사항은 . 아래와 같이  복잡도가 올라가기때문에,   함수 단위 서비스 관리를 위한 운영툴에 대한 고민이 필요 해 보입니다.