• All tasks will run in the default agent unless specified (eg canary deployment
doc, so the propeller knows how to map the task to k8 svc). Do Flyte only deploy the default agent, and additional agent would have to be deployed separately?
• Specific to the BQ
agent. Suppose you have a query that requires lots of resource, if its on-demand, you can specify the k8 resource fitting to the query, have the python bq client, and run use the bqclient directly in task. However having a generic BQ agent, it would have to be configured to high resource while being idle when not in used. Its harder to manage the resource to set on the agent since all bq task will run here and its not scalable. Am I missing anything here?
• Comparing agent to flytekit extension. Since the agent is long-running and it shouldn't be running any computational heavy task, but rather calling external service - I don't grasp the benefit compared to flytekit extension besides not having to wait for a pod to spin up. But granted that there are more interface to implement (AgentBase, AgentExecutorMixin) and more deployment steps (new agent image, redeployment of agent and flytepropeller along with the new configmap mappings), it seems like a lot more complicated.