Deployments are what pull together your Project, with all configured Jobs, executing the necessary code to run your pipeline. Each deployment is automatically versioned with a unique identifier because historical traceability is fundamental to reproducible data science.
Deploying a project is as simple as committing to a git repository. This may be done through the Skafos CLI, github, Jupyter notebook (coming soon!), or IDE.
Every time you commit and push a change, such as a new configuration, updated dependencies, or new jobs or code, Skafos receives the changes, and creates a new versioned deployment.
Each deployment has a status that lets you know what state it’s in. This is crucial for monitoring and debugging your pipeline. There are two categories of status: Active and Inactive.
Description of active deployment status
Skafos has received notification of the deployment, but it is not yet running.
Skafos has received updated code from a GitHub, Skafos git server, or Skafos API commit and is in the process of building the deployment.
Skafos is running the current deployment.
Skafos is not currently running any jobs on this deployment, but there is at least one job scheduled to run in the future.
Description of inactive deployment status
Skafos has completed the deployment, though this does not guarantee that all jobs are successful.
Deployment has been terminated by user or Metis Machine admins.
Deployment has failed.
Every now and then, you might deploy a Project that contains some bugs, or you wish to update something mid-deployment. Skafos gives you the ability to kill an active deployment from both the Skafos CLI and the Skafos Dashboard.
Skafos is built with the practitioner data scientist in mind: once you get your pipelines deployed, we believe that monitoring is crucial for keeping the trains running. We give you the tools to investigate and explore live Deployments, keeping you ahead of problems as they come up.