mlstacks icon indicating copy to clipboard operation
mlstacks copied to clipboard

Implement Feast Feature Store Deployment Option

Open strickvl opened this issue 1 year ago • 4 comments

MLStacks framework notionally supports feature stores but lacks an explicit deployment option for Feast, a popular feature store for machine learning. This task involves integrating Feast as a ComponentFlavorEnum within MLStacks and implementing its deployment via Terraform.

Task Description

To enhance MLStacks' feature store capabilities, this task aims to add Feast as a deployable feature store option. This requires updating enums and constants to recognize Feast as a component flavor and creating a Terraform module for deploying Feast on Kubernetes clusters, guided by the Feast repository's Terraform configuration.

Expected Outcome

  • The ComponentFlavorEnum in src/mlstacks/enums.py includes Feast as an option for feature store components.
  • src/mlstacks/constants.py is updated to support feature_store as a stack component type, with feast as a permitted flavor.
  • A Terraform module for deploying Feast on cloud providers (AWS, Azure, and GCP) is developed and integrated into MLStacks.
  • The deployment process is tested on the implemented cloud providers to ensure Feast operates correctly within the MLStacks framework.

Steps to Implement

  1. Update src/mlstacks/enums.py to add feast to the ComponentFlavorEnum for feature stores.
  2. Modify src/mlstacks/constants.py to recognize feature_store as a stack component and include feast as an available flavor.
  3. Develop a Terraform module for deploying Feast on Kubernetes, referencing the Feast Terraform guide for best practices and configurations.
  4. Ensure the Terraform module supports deployment across AWS, Azure, and GCP, with configurations and resources appropriately tailored for each cloud provider.
  5. Conduct comprehensive testing on each cloud provider to verify that the Feast deployment functions as expected and integrates smoothly with MLStacks.
  6. Document the deployment process, configuration options, and any provider-specific considerations for users looking to deploy Feast as part of their MLStacks setup.

Additional Context

By incorporating Feast as a feature store deployment option, MLStacks will significantly enhance its data management capabilities, offering users a robust and scalable solution for managing features in machine learning workflows.

Code of Conduct

  • [ ] I agree to follow this project's Code of Conduct

strickvl avatar Feb 04 '24 10:02 strickvl

Hey @strickvl , I want to contribute to this issue. I would like to request you to assign this issue to me.

Pistonamey avatar Feb 14 '24 03:02 Pistonamey

Thank you! I will start working on it.

Pistonamey avatar Feb 14 '24 08:02 Pistonamey

Thanks @Pistonamey! Let us know if you have any questions!

strickvl avatar Feb 14 '24 08:02 strickvl

@strickvl Updates on the implementation: Made changes to the constants and enums file to recognize feature_store as a stack component and include feast as an available flavor.

Currently working on developing the Terraform module.

Pistonamey avatar Feb 16 '24 00:02 Pistonamey