Overview
Machine Learning Operations (MLOps) Workload Orchestrator streamlines ML model deployment and enforces best practices for scalability, reliability, and efficiency. This AWS Solution is an extendable framework with a standard interface for managing ML pipelines across AWS ML and third-party services.
This solution includes an AWS CloudFormation template. This template enables model training, uploading of pre-trained models (also known as bring your own model or BYOM), pipeline orchestration configuration, and pipeline operation monitoring. By implementing this solution, your team can increase their agility and efficiency, repeating successful processes at scale.
Benefits
Initiate a pre-configured pipeline through an API call or an Amazon S3 bucket.
Automate model monitoring with Amazon SageMaker BYOM and deliver a serverless inference endpoint with drift detection.
Use the Amazon SageMaker Model Dashboard to view, search, and explore all of your Amazon SageMaker resources, including models, endpoints, model cards, and batch transform jobs.
Technical details
You can automatically deploy this architecture using the implementation guide and the accompanying AWS CloudFormation template. To support multiple use cases and business needs, the solution provides two AWS CloudFormation templates:
- Use the single-account template to deploy all of the solution’s pipelines in the same AWS account. This option is suitable for experimentation, development, and/or small-scale production workloads.
- Use the multi-account template to provision multiple environments (for example, development, staging, and production) across different AWS accounts, which improves governance and increases security and control of the ML pipeline’s deployment, provides safe experimentation and faster innovation, and keeps production data and workloads secure and available to help ensure business continuity.
-
Option 1 - Single-account deployment
-
Option 2 - Multi-account deployment
-
Option 1 - Single-account deployment
-
Step 1
The Orchestrator, which could be a DevOps engineer or another type of user, launches this solution in their AWS account and selects their preferred options. For example, they can use the Amazon SageMaker model registry or an existing Amazon Simple Storage Service (Amazon S3) bucket.
Step 2
The Orchestrator uploads the required assets, such as the model artifact, training data, or custom algorithm zip file, into the Amazon S3 assets bucket. If using the SageMaker Model Registry, the Orchestrator (or an automated pipeline) must register the model with the model registry.
Step 3a
A single account AWS CodePipeline instance is provisioned by either sending an API call to Amazon API Gateway, or by uploading the mlops-config.json file to the configuration Amazon S3 bucket.
Step 3b
Depending on the pipeline type, the AWS Lambda Orchestrator function packages the target CloudFormation template and its parameters and configurations using the body of the API call or the mlops-config.json file. The Orchestrator then uses this packaged template and configurations as the source stage for the CodePipeline instance.
Step 4
The DeployPipeline stage takes the packaged CloudFormation template and its parameters or configurations and deploys the target pipeline into the same account.
Step 5
After the target pipeline is provisioned, users can access its functionalities. An Amazon Simple Notification Service (Amazon SNS) notification is sent to the email provided in the solution’s launch parameters. -
Option 2 - Multi-account deployment
-
Step 1
The Orchestrator, which could be a DevOps engineer or another user with admin access to the orchestrator account, provides the AWS Organizations information, such as the development, staging, and production organizational unit IDs and account numbers.
They also specify the desired options, which may include using the SageMaker Model Registry or providing an existing Amazon S3 bucket, and then launch the solution in their AWS account.
Step 2
The Orchestrator uploads the required assets for the target pipeline, such as the model artifact, training data, and/or custom algorithm zip file, into the Amazon S3 assets bucket in the Orchestrator’s AWS account. If the SageMaker Model Registry is used, the Orchestrator (or an automated pipeline) must register the model with the model registry.
Step 3a
A multi-account CodePipeline instance is provisioned by either sending an API call to API Gateway, or by uploading the mlops-config.json file to the configuration Amazon S3 bucket.Step 3b
Depending on the pipeline type, the Lambda Orchestrator function packages the target
CloudFormation template and its parameter and configurations using the body of the API call or the mlops-config.json file. The Orchestrator then uses this packaged template and configurations as the source stage for the CodePipeline instance.
Step 4
The DeployDev stage takes the packaged CloudFormation template and its parameters or configurations and deploys the target pipeline into the development account.
Step 5
After the target pipeline is provisioned into the development account, the developer can then iterate on the pipeline.Step 6
After the development is finished, the Orchestrator (or another authorized account) manually approves the DeployStaging action to move to next stage, DeployStaging.
Step 7
The DeployStaging stage deploys the target pipeline into the staging account, using the staging configuration.Step 8
Testers perform different tests on the deployed pipeline.Step 9
After the pipeline passes quality tests, the Orchestrator can approve the DeployProd action.Step 10
The DeployProd stage deploys the target pipeline (with production configurations) into the production account.Step 11
The target pipeline is live in production. An Amazon SNS notification is sent to the email provided in the solution’s launch parameters.
Related content
In collaboration with the AWS Partner Solutions Architect and AWS Solutions Library teams, Cognizant built its MLOps Model Lifecycle Orchestrator solution on top of the MLOps Workload Orchestrator solution.
- Publish Date