Azure Functions, consumption plan에서의 warm up

눕눕·2022년 3월 22일
0

warm up 상태 유지가 왜 필요할까?

Azure Funtions를 consumption 플랜으로 사용하면, 꼭 고려해야하는 점이 있다.

cold start!!
한번 쯤은 들어보았을 만한, 바로 그 이름!!

consumption plan은 사용한 만큼 비용을 내는 아주 비용 효과적으로 사용할 수 있는 서비스이지만, idle 일 때 인스턴스의 개수가 0개라는 사실이다.

즉, 특정시간동안 해당 fucntions에 call이 없다면, 인스턴스의 개수가 0개가 되고, 추후 call이 들어왔을때, 인스턴스를 준비하는 시간이 필요하다는 뜻이다.

이러한 cold start 어떻게 돌파해 볼 수 있을까?

어떻게 할까?

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-warmup?tabs=in-process&pivots=programming-language-python

위 링크는 Azure functions의 warm up trigger를 제공한다.

위에 링크와 함께 이 짤로 마무리 된다면 글을 안썼겠죠?

위 링크는 돈이 많은자들을 위한 링크다. consumption plan에서는 사용할 수 없다고 한다.

그럼 다른 방법은 없을까?

이번글은 아래의 application insights 스크린샷 한장으로 정리할 수 있다.

application insight에서 availability를 확인할 수 있는데, 이부분을 활용하는 것이다.

예를 들어 5분 주기로 계속 url ping을 보내, Azure Functions이 잠들려고 할때마다 다시 깨워서 대기를 시키는 느낌으로 설정을 해준다.

물론 이방법은 workaround 느낌이니,
실제 프로젝트에서 cold start없는 function을 쓰려면, premium plan으로 가자.

profile
n년차 눕눕

0개의 댓글