brief.ing.gg

BRIEFING

Windmill은 FaaS처럼 사용할 수 있는가

Windmill은 FaaS처럼 사용할 수 있는가

Scope

핵심 질문

Windmill의 script endpoint를 FaaS처럼 사용했을 때 어디까지 유사하고 어떤 차이가 있는가?

Research

핵심 근거

  • Windmill script는 standalone으로 실행·스케줄·HTTP 호출할 수 있고 여러 언어를 지원한다.
  • worker가 script를 job으로 실행하므로 일반적인 FaaS와 유사한 invocation 모델을 만들 수 있다.
  • Windmill은 workflow, resource, approval, UI까지 포함하는 automation platform이므로 pure serverless runtime과 운영목표가 다르다.

참고 자료

  • https://www.windmill.dev/docs/getting_started/scripts_quickstart
  • https://www.windmill.dev/docs/getting_started/flows_quickstart

Draft

Windmill script를 HTTP endpoint로 노출하면 사용자 관점에서는 FaaS와 매우 비슷하게 사용할 수 있다.

유사점

함수 signature가 입력 schema가 되고 요청마다 worker가 script를 실행한다. 배포된 script를 schedule이나 webhook으로 호출할 수도 있다.

작은 내부 API나 automation function을 독립 배포하는 데 적합하다.

차이점

전형적인 cloud FaaS는 scale-to-zero, millisecond billing, provider-managed infrastructure가 핵심이다.

Self-hosted Windmill에서는 worker capacity와 database를 사용자가 운영한다. 대신 flow, approval, credential resource, logs와 app builder 같은 workflow 기능을 함께 얻는다.

언제 좋은가

단순 HTTP function뿐 아니라 사람이 실행내역을 보고 재시도하거나 다른 workflow와 연결해야 한다면 Windmill 쪽이 유리하다.

결론

Windmill은 FaaS처럼 사용할 수 있지만 FaaS 전용 runtime이라기보다 function execution을 포함한 workflow platform이다. 서버리스 비용모델보다 코드와 운영 workflow 통합이 목적일 때 적합하다.