Prefect 디플로이먼트(Deployment)

Prefect 디플로이먼트(Deployment)

디플로이먼트(deployment)는 플로를 예약 실행·원격 실행이 가능하게 만드는 구성이에요. 플로 코드만 정의해 두면 로컬에서 직접 호출할 수 있지만, 스케줄을 걸거나 Prefect의 실행 서비스에서 돌리려면 디플로이먼트로 등록해야 해요. 디플로이먼트는 플로가 어느 환경에서, 어떤 설정으로 실행될지를 담고 있어요.

출처: Prefect Deployments

디플로이먼트가 하는 일

디플로이먼트는 기본적으로 다음을 묶어요.

  • 실행할 플로와 그 버전
  • 플로가 실행될 환경(작업 공간·의존성)
  • 실행 시 적용할 파라미터·설정
  • 스케줄·트리거 규칙

이걸 등록해 두면, Prefect가 정해진 시각이나 트리거 조건에 따라 플로 런을 자동으로 만들어 실행하도록 지시할 수 있어요.

디플로이먼트와 실행 흐름

플로를 디플로이먼트로 등록하면, 실행 시 플로 런(flow run) 이 생성돼요. 디플로이먼트는 「어떤 플로를 어떻게 돌릴지」의 청사진이고, 실제 실행은 플로 런으로 이뤄진다고 이해하면 쉬워요. 실행 환경은 워크풀(work pool)과 결합해 결정되는 경우가 많아요.

CLI로 만드는 디플로이먼트

Prefect CLI(보통 prefect deploy)로 플로 코드에서 디플로이먼트를 만들 수 있어요. 이때 실행할 플로, 사용할 워크풀, 파라미터, 스케줄 등을 지정해요. 만들어둔 디플로이먼트는 Prefect UI나 API에서 확인·관리할 수 있어요.

디플로이먼트를 만들 때 워크풀을 함께 지정하면, 그 워크풀이 실행될 인프라(예: 쿠버네티스, 로컬 프로세스)에서 플로 런이 실행돼요.

더 알아보기