본문 바로가기

클라우드 & 컴퓨팅

Function Framework - Google Cloud

 

Function Framework

  • Function Framework의 필요성을 알기 위해서는 Cloud Function의 개념이해가 선행되어야합니다.
    • Cloud Function은 배포시 클라우드에 올라가는 과정에 아래 사진에 별도 과정이 일어납니다. (이미지만들고 컨테이너 만들고)
      Storage>Build>Registry
  • 그렇기 때문에 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​
    • 커맨드 입력
      functions_framework --target='function name'​
    • example test code
    • 위 명령을 실행함과 동시에 테스트 서버가 시작됩니다. http://localhost:8080