All Projects → bodywork-ml → Bodywork Core

bodywork-ml / Bodywork Core

Licence: agpl-3.0
Deploy machine learning projects developed in Python, to Kubernetes. Accelerated MLOps 🚀

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Bodywork Core

bodywork-ml-pipeline-project
Deployment template for a continuous training pipeline.
Stars: ✭ 22 (-84.83%)
Mutual labels:  pipeline, continuous-delivery, continuous-deployment, batch, serving
Argo Cd
Declarative continuous deployment for Kubernetes.
Stars: ✭ 7,887 (+5339.31%)
Mutual labels:  pipeline, devops, continuous-delivery, continuous-deployment
Jx
Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Cloud Native pipelines from Tekton
Stars: ✭ 4,041 (+2686.9%)
Mutual labels:  pipeline, devops, continuous-delivery
Devops Readme.md
What to Read to Learn More About DevOps
Stars: ✭ 398 (+174.48%)
Mutual labels:  devops, continuous-delivery, continuous-deployment
Lastbackend
System for containerized apps management. From build to scaling.
Stars: ✭ 1,536 (+959.31%)
Mutual labels:  pipeline, devops, continuous-delivery
Flyway Sbt
Flyway SBT plugin
Stars: ✭ 101 (-30.34%)
Mutual labels:  devops, continuous-delivery, continuous-deployment
Jenkins
Jenkins automation server
Stars: ✭ 18,225 (+12468.97%)
Mutual labels:  devops, continuous-delivery, continuous-deployment
Gaia
Build powerful pipelines in any programming language.
Stars: ✭ 4,534 (+3026.9%)
Mutual labels:  pipeline, devops, continuous-delivery
swarmci
Swarm CI - Docker Swarm-based CI system or enhancement to existing systems.
Stars: ✭ 48 (-66.9%)
Mutual labels:  pipeline, continuous-delivery, continuous-deployment
Piplin
📤 An open source self-hosted continuous integration and deployment system - QQ群: 656868
Stars: ✭ 1,044 (+620%)
Mutual labels:  devops, continuous-delivery, continuous-deployment
Git Push Deploy
Simple Automated CI/CD Pipeline for GitHub and GitLab Projects
Stars: ✭ 21 (-85.52%)
Mutual labels:  pipeline, continuous-delivery, continuous-deployment
Origin
Conformance test suite for OpenShift
Stars: ✭ 8,046 (+5448.97%)
Mutual labels:  devops, continuous-delivery, continuous-deployment
Orkestra
Functional DevOps with Scala and Kubernetes
Stars: ✭ 102 (-29.66%)
Mutual labels:  devops, continuous-delivery, continuous-deployment
Cds
Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform
Stars: ✭ 3,677 (+2435.86%)
Mutual labels:  devops, continuous-delivery, continuous-deployment
Hygieia
CapitalOne DevOps Dashboard
Stars: ✭ 3,682 (+2439.31%)
Mutual labels:  devops, continuous-delivery, continuous-deployment
Unleash
Unleash is the open source feature toggle service.
Stars: ✭ 4,679 (+3126.9%)
Mutual labels:  devops, continuous-delivery, continuous-deployment
Dyn365 Ce Devops
DevOps for Dynamics 365 Customer Engagement (CE) is becoming a popular topic. The goal of this project is to help Dynamics 365 CE solution builders understand and accelerate their implementation of DevOps practices with Dynamics CE and VSTS.
Stars: ✭ 82 (-43.45%)
Mutual labels:  devops, continuous-delivery, continuous-deployment
bump-everywhere
🚀 Automate versioning, changelog creation, README updates and GitHub releases using GitHub Actions,npm, docker or bash.
Stars: ✭ 24 (-83.45%)
Mutual labels:  pipeline, continuous-delivery, continuous-deployment
Agola
Agola: CI/CD Redefined
Stars: ✭ 783 (+440%)
Mutual labels:  devops, continuous-delivery, continuous-deployment
Setl
A simple Spark-powered ETL framework that just works 🍺
Stars: ✭ 79 (-45.52%)
Mutual labels:  data-science, pipeline, framework

Bodywork deploys machine learning projects developed in Python, to Kubernetes. It helps you:

  • serve models as microservices
  • execute batch jobs
  • run reproducible pipelines

On demand, or on a schedule. It automates repetitive DevOps tasks and frees machine learning engineers to focus on what they do best - solving data problems with machine learning.

Documentation

The documentation for bodywork-core can be found here. This is the best place to start.

Deployment Templates

To accelerate your project's journey to production, we provide deployment templates for common use-cases:

Where does Bodywork Fit?

Bodywork is aimed at teams who want to deploy machine learning projects in containers. It will deliver your project's Python modules directly from your Git repository into Docker containers and manage their deployment to a Kubernetes cluster.

Where do I Install Bodywork?

Bodywork is distributed as a Python package that exposes a command line interface for configuring Kubernetes to run Bodywork deployments. It takes just one command to schedule a pipeline hosted on GitHub to run every evening,

What does Bodywork Do?

When Kubernetes triggers a Bodywork deployment, it runs pre-built Bodywork containers that clone your project's Git repository and run the Python modules within it. At no point is there any need to build Docker images, push them to a container registry or trigger a deployment.

This process is shown below for a train-and-serve pipeline with two stages: train model (as a batch job), then serve the trained model (as a microservice with a REST API).

What will I need to Do?

Divide your project into discrete stages, creating a new directory for each one. Every stage will need an executable Python module for Bodywork to run, a requirements file for installing external Python dependencies, and a simple config file. Bundle these files together with a workflow execution plan, into a Git repository and you're ready to go.

You do not need to tie yourself to new APIs - package your existing codebase into this framework and watch as Bodywork pulls each stage into its own container and deploys to Kubernetes.

CI/CD for Machine Learning

Because Bodywork can run deployments on a schedule, every time cloning the latest version of your codebase in the target branch, this system naturally forms an end-to-end CI/CD platform for your machine learning project, as illustrated below.

This is the GitOps pattern for cloud native continuous delivery.

Key Features

  • continuous deployment - batch jobs, model-scoring services as well as complex ML pipelines, using pre-built Bodywork containers to orchestrate end-to-end machine learning workflows.
  • resilience - Bodywork handles automatic retires for batch jobs and automatic roll-backs for service deployments, without any downtime.
  • horizontal scaling - Bodywork can back your service endpoints with as many container replicas as you need to handle your API traffic volumes.
  • no APIs to learn - Bodywork does not require you to re-write your machine learning projects to conform to our view of how your codebase should be engineered. All you need to do is provide executable Python modules for starting service applications and running batch jobs.
  • multi-cloud - Bodywork deploys to Kubernetes clusters, which are available as managed services from all major cloud providers. Kubernetes is indifferent to where it is running, so changing cloud provider is as easy as pointing to a different cluster.
  • written in Python - the native language of machine learning and data science, so your team can have full visibility of what Bodywork is doing and how.
  • open-source - Bodywork is built and maintained by machine learning engineers, for machine learning engineers, who are committed to keeping it 100% open-source.

Bodywork brings DevOps to your machine learning projects and will form the basis of your Machine Learning Operations (MLOps) platform. It will ensure that your projects are always trained with the latest data, the most recent models are always deployed and your machine learning systems remain highly-available.

We want your Feedback

If Bodywork sounds like a useful tool, then please submit your feedback with a GitHub Star ★.

Before you get Started

Before you start exploring what Bodywork can do for you, you will need:

Familiarity with basic Kubernetes concepts and some exposure to the kubectl command-line tool will make life easier, but are not essential. If you would like to learn a bit more about Kubernetes, then we recommend the first two introductory sections of Marko Lukša's excellent book Kubernetes in Action, or the introductory article we wrote on Deploying Python ML Models with Flask, Docker and Kubernetes.

If you need help with any of this, then please don't hesitate to contact us and we'll do our best to get you up-and-running.

Contacting Us

If you:

  • Have a question that these pages haven't answered, or need help getting started with Kubernetes, then please use our discussion board.
  • Have found a bug, then please open an issue.
  • Would like to contribute, then please talk to us first at [email protected].
  • Would like to commission new functionality, then please contact us at [email protected].

Bodywork is brought to you by Bodywork Machine Learning.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].