Coder Social home page Coder Social logo

awslabs / aiops-modules Goto Github PK

View Code? Open in Web Editor NEW
17.0 7.0 11.0 1.82 MB

AIOps modules is a collection of reusable Infrastructure as Code (IaC) modules for Machine Learning (ML), Foundation Models (FM), Large Language Models (LLM) and GenAI development and operations on AWS

License: Apache License 2.0

Shell 1.90% Python 89.88% Dockerfile 0.44% TypeScript 2.84% JavaScript 0.07% Makefile 1.35% Jupyter Notebook 3.42% Batchfile 0.10%
aws fmops llmops mlflow mlops sagemaker aiops genai

aiops-modules's People

Contributors

amazon-auto avatar dependabot[bot] avatar fotinosk avatar kukushking avatar lccasagrande avatar leonluttenberger avatar mahesh-balumuri avatar rtdurga avatar srinivasreddych avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

aiops-modules's Issues

[FEATURE] add RDS persistence option to `mlflow-fargate` module

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like
I would like to be able to use RDS for mlflow metadata storage. mlflow-fargate module should provide configuration options to support RDS instead of default EFS-based persistence. The mlflow-image module should be adapted to allow specify database URI to connect to and store experiments and model metadata.

Describe alternatives you've considered
Alternative is already built-in via EFS volume mounted to mlflow-fargate. This adds another option for RDS-backed persistence.

Additional context
Add any other context or screenshots about the feature request here.

[FEATURE] Multi-account basic template - move CICD infra to separate repo & add pipeline self-mutation

Is your feature request related to a problem? Please describe.
Current multi-account basic template has a static CodePipeline that delivers endpoints to dev/test/prod. The pipeline is currently built into the Service Catalog template and does not allow customisation after it's been created.

Describe the solution you'd like

  • Move CodePipeline into a separate {project_name}-infra repository (in addition to -build and -deploy repos created by the template).
  • Enable self-mutation on the pipeline.

[FEATURE] configure EFS removal policy for `mlflow-fargate` module

Is your feature request related to a problem? Please describe.
Integration test deployments leave EFS volumes after module destroy... which is a reasonable default. We might want to add cofigurable removal policy.

Describe the solution you'd like
Add efs_removal_policy input parameter. Default to RETAIN.

[FEATURE] Separate model deployment pipeline from multi-acc Abalone/XGBoost template

Describe the solution you'd like
Basic multi-account template in sagemaker-templates-service-catalog module along with training Abalone with XGBoost has an example CICD pipeline (CodePipeline) to deploy an endpoint to dev, pre-prod, and prod. Separate the concerns and move the CICD into a) separate template OR b) separate module.

TBC

Additional context
Add any other context or screenshots about the feature request here.

[FEATURE] Configurable VPC/accounts for templates module

Describe the solution you'd like
SageMaker Service Catalog Templates module currently does not accept pre-prod and prod account ids/regions as inputs, as well as VPC config. We want to be able to configure it using the manifest i.e. create VPCs in other accounts via seed-farmer:

name: networking
path: git::https://github.com/awslabs/idf-modules.git//modules/network/basic-cdk?ref=release/1.3.0&depth=1
targetAccount: primary
parameters:
  - name: internet-accessible
    value: True
---
name: networking-preprod
path: git::https://github.com/awslabs/idf-modules.git//modules/network/basic-cdk?ref=release/1.3.0&depth=1
targetAccount: pre-prod
parameters:
  - name: internet-accessible
    value: False

And reference them in the templates module via:

name: templates
path: modules/sagemaker/sagemaker-templates-service-catalog
targetAccount: primary
parameters:
...
  - name: preprod_vpc_id
    valueFrom:
      moduleMetadata:
        group: networking
        name: networking-preprod
        key: VpcId
  - name: preprod_subnet_ids
    valueFrom:
      moduleMetadata:
        group: networking
        name: networking-preprod
        key: PrivateSubnetIds

Task

  • Add optional vpc id/subnets parameters for templates module for each of the stages in multi-account mlops template.
  • Add parameters as pre-populated template inputs.

[FEATURE] Multi-account basic template - add ability to invoke SM build pipeline in target/dev environment from tooling

Is your feature request related to a problem? Please describe.
Existing basic multi-account template during build phase, calls SageMaker pipeline in the same account where the CodeBuild runs. However, this does not cater to multi-account scenario where a separate tooling account hosts the infra, and development/experimentation account is used to run training and provides access to the data.

Describe the solution you'd like

  • Add assume role to the build CodeBuild to run training pipeline in the target/dev/experimentation account.
  • Add required IAM config/ S3 buckets/ KMS in dev to run the pipeline.
  • Keep the template flexible to allow simple (current) scenario that runs the pipeline in the same account.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.