A computer-implemented method operates on serializable or de-serializable programmatic objects representing deployments. Each deployment object can be programmatically applied to or associated with a collection of remote (cloud, or in-datacenter) compute resources ("target resources") from another
machine ("
client machine"). The
client machine does need direct network access to the target resources and instead makes network requests to an API
server that can connect to the target resources, directly or indirectly. Users leverage deployment APIs to construct a deployment object that is then transmitted securely through an API
server, which conducts access checks. The deployment APIs allow users to reference "deployment
metadata" (for example, the versioned build image) by name to facilitate
reusability, reduce errors, and allow for administrator-curated deployment configurations. Additionally, the deployment APIs of an embodiment allow users to reference data integrations, datasets, user-defined functions, and
machine learning models to ensure consistent
workflow execution.