/community

README for Rekcurd projects

Primary LanguageShellApache License 2.0Apache-2.0

About Rekcurd projects

Rekcurd is a software package of managing machine learning (ML) modules. Rekcurd makes it "easy to serve ML module", "easy to manage and deploy ML models" and "easy to integrate into the existing service". Rekcurd can be run on Kubernetes.

Features

  • Kubernetes
  • Istio
  • Developer-Friendly web interface (Rekcurd-dashboard)
    • Deploying ML service
    • Controlling traffic (AB testing)
    • Upload and versioning ML model
    • Switch ML model of ML service
    • Upload and versioning quality assurance data (TBD)
    • Visualizing evaluation result of ML model using QA data (TBD)
  • Django-like gRPC micro-framework (Rekcurd)
  • SDK (Rekcurd-client)

Components

  • Rekcurd: Project for serving ML module. This is a gRPC micro-framework and it can be used like Django and Flask.
  • Rekcurd-dashboard: Project for managing ML model and deploying ML module. Any Rekcurd service is manageable. It can deploy the Rekcurd service to Kubernetes cluster and can control traffic weights which Istio manages.
  • Rekcurd-client: Project for integrating ML module. Any Rekcurd service is connectable. It can connect the Rekcurd service on Kubernetes.

Sub components

Architecture

Recommended requirement

  • Python 3.6
  • Kubernetes 1.11~
  • MySQL 5.7
  • Online storage (Ceph, AWS S3)
  • (If necessary) Private Docker registry
  • (If necessary) Private git repository (e.g. GitHub Enterprise, GitLab, ...)

Getting Started

See docs.

Support

Give us Star, Issues and Pull requests!

Contributors