Migrating from AI-Research to Managed Kubeflow
This guide explains how to migrate your machine learning projects from the legacy AI-Research environment to Managed Kubeflow, the recommended standard on CAIP. AI-Research was originally designed for rapid prototyping, but is being discontinued due to its limitations in performance, support, and production readiness. Managed Kubeflow offers a fully supported, secure, and scalable platform for both experimentation and production use cases.
During the migration, you will move your notebooks and code repositories, ML pipelines and workflow definitions, model artifacts and serving setups (such as KServe), data connections to CDH use cases or providers, CI/CD automation like GitHub Actions, and any additional infrastructure (e.g., secrets, configmaps, custom resources) to your Managed Kubeflow namespace. Migrating is essential because AI-Research is reaching end-of-life and will soon be decommissioned. By transitioning to Managed Kubeflow, you will benefit from production-grade infrastructure, built-in observability, service-level agreements, and a seamless onboarding experience.
Migration Steps
1 - Complete Onboarding Prerequisites
Before you begin the migration, make sure you have completed all onboarding prerequisites. This includes reviewing the onboarding requirements, creating and linking your own APP-ID, setting up your own GitHub organization on ATC GitHub to manage your code repositories, and creating a CDH environment to connect your use case or data provider. These steps ensure you have the necessary access and resources to work in Managed Kubeflow.
2 - Understand the New Staging Concept
Managed Kubeflow introduces a new staging concept for organizing pipelines and models within a single, production-grade infrastructure. This new approach replaces the old environment-based model and makes it easier to move from experimentation to production. To get familiar with this, you should read about the staging concept, which explains how to stage Kubeflow pipelines and models using MLflow.
3 - Set Up Your Managed Kubeflow Workspace
Next, you need to request a new CAIP space and a Managed Kubeflow workspace, which will be the new home for your migrated workloads. Follow the onboarding to Managed Kubeflow guide to request your workspace. Once your workspace is ready, you should link your GitHub repositories using CI Trust, as described in the guide to link your GitHub repo. You will also need to link your CDH use case or provider using the CDH Connection. If you have not yet migrated your data connections, follow the setup CDH connection guide and the guide to link your CDH environment.
4 - Migrate Your Use Case Code (Notebooks, Pipelines, Endpoints, Infrastructure)
With your workspace set up, you can now systematically migrate your project assets and workflows to Managed Kubeflow. This comprehensive migration involves moving code, data connections, models, and infrastructure components. Use the following checklist to ensure a complete and successful migration:
Code and Development Environment
Jupyter Notebooks:
- Export your Jupyter notebooks from AI-Research and import them into your new Managed Kubeflow workspace
- After logging into the Web-UI, navigate to the
Notebookspage and connect to the notebooks to be exported. In the JupyterLab interface, right-click on the notebook file, then select Download to save it locally - In Managed Kubeflow, open your new JupyterLab workspace and use the Upload Files button (upload icon in the file browser) to upload your downloaded notebooks
- After logging into the Web-UI, navigate to the
- Update any hardcoded paths or configurations to match the new environment
- Test notebook execution to ensure compatibility with the new infrastructure
VS Code Server:
- Commit any untracked code in your current VS Code environment to avoid losing work
- Create a new VS Code server instance in the Managed Kubeflow cluster
- Clone your repositories to the new server instance and leverage the same development experience as before
- Check if your use cases have data or files stored in volumes attached to the old pods that need migration - these may require manual export and import
Kubeflow Pipelines and Workflows
Pipeline Migration:
- Update your
caip-sdkconfiguration with the new AWS account and role assignments for your Managed Kubeflow environment. The central configuration is available underconfig/config.yamlas described here. - Deploy your pipelines and test their executions to verify they work correctly in the new setup
- For an automatic deployment of the pipelines, update role assumption configurations in your GitHub CI/CD pipelines and ensure CI Trust is properly configured
- Migrate any recurring pipeline runs and schedules to the new environment
Data Connections:
- Update your data connections to use the new CDH setup as configured in step 3
- Update S3 bucket connections and update access permissions as needed
Data and Applications
Streamlit Applications:
- Redeploy your Streamlit applications using the CI/CD pipeline in the new environment
- Update application configurations and data connections as needed
- Test application functionality and user access
Data:
- If you have data in S3 or you are a GenAI use case using pgvector, contact us to support you with migrating the existing data.
- Test data access and connectivity from your new workspace
Models and Serving
MLflow Models:
- Migrate your MLflow models and experiments to the new environment
KServe Model Serving:
- Redeploy your model serving endpoints on the new cluster
- Update endpoint configurations and ensure proper scaling settings
- Test model inference endpoints to verify they respond correctly
- Update any client applications or services that consume these endpoints
Katib (Hyperparameter Tuning):
- If you are using Katib for hyperparameter optimization, note that this is currently a proof-of-concept feature
- Katib is only deployed on a request basis - contact us to activate it if you need this functionality
- Migrate your Katib experiments and configurations once the service is activated
Infrastructure and Configuration
Container Images:
- ECR Repositories:
- Request new ECR repositories through Orbit self-service for your container images
- Migrate your custom images created for specific use cases to the new ECR repositories
- Update your CI/CD pipelines to push to the new ECR repositories
- Ensure all image references in your deployments point to the new registry
Security and Access:
- Migrate secrets, configmaps, and other Kubernetes resources to your new Managed Kubeflow namespace
- Review your existing custom policies across different roles and copy them over to the new cluster using the correct aws account ids and roles through PRs in the products repo.
- If you are currently using Amazon Bedrock, migrate to using our LLM API service.
Use this section as a comprehensive checklist during your migration. Check off each item as you complete it to ensure nothing is missed during the transition from AI-Research to Managed Kubeflow.
Need Support?
If you need help with any migration tasks or encounter issues, you can always reach out to our support team via ITSM Next. Simply open an incident ticket for the "Connected AI Platform" service offering. For detailed, step-by-step instructions on how to raise a support request, please see our Support page. Our team is available to assist you at any stage of your migration to Managed Kubeflow.