Function Framework
- Function Framework의 필요성을 알기 위해서는 Cloud Function의 개념이해가 선행되어야합니다.
- Cloud Function은 배포시 클라우드에 올라가는 과정에 아래 사진에 별도 과정이 일어납니다. (이미지만들고 컨테이너 만들고)
- 그렇기 때문에 Cloud Function 배포시에 소요되는 시간이 길어지게 되고, 잦은 배포가 필요한 상황에서는 매번 배포후 테스트를 진행해야했습니다.(또는 로컬로 임시 돌려보기등..) Function Framework란 이러한 단점들을 커버하는 용도로 사용하기 좋은 도구입니다.
- 추가로 로컬에서 테스팅하기 때문에 디버깅도 가능한 것이 큰 장점인 것 같음. (+배포 대기시간이 없음)
- https://cloud.google.com/functions/docs/running/function-frameworks?hl=ko
- 위 과정까지는 이미지 빌드+컨테이너실행 프로세스가 없지만, 선택적으로 Pack CLI를 사용하면 Image빌드후 Container화해서 실행하는 테스트가 가능합니다.
실습
- 설치
- 제가 실습한 테스트 펑션은 Python이기 때문에 Python기반 framework로 설치하였습니다.
- Nodejs일 경우, 별도의 node library가 npm에 존재합니다.
pip install functions-framework
- Nodejs일 경우, 별도의 node library가 npm에 존재합니다.
- 커맨드 입력
functions_framework --target='function name'
- example test code
- 위 명령을 실행함과 동시에 테스트 서버가 시작됩니다. http://localhost:8080
- 제가 실습한 테스트 펑션은 Python이기 때문에 Python기반 framework로 설치하였습니다.
'클라우드 & 컴퓨팅' 카테고리의 다른 글
Database(MYSQL)의 Connection Pool 및 튜닝 (1) | 2021.07.18 |
---|---|
Sharded Cluster(Mongodb)에 대해서… (0) | 2021.07.15 |