Architecture overview - Maintaining Personalized Experiences with Machine Learning

Architecture overview

This section provides a reference implementation architecture diagram for the components deployed with this solution.

Architecture diagram

Deploying this solution with the default parameters deploys the following components in your AWS account:

Maintaining Personalized Experiences with Machine Learning architecture

maintaining personalized architecture diagram

Maintaining Personalized Experiences with Machine Learning architecture

The AWS CloudFormation template deploys the following infrastructure:

  1. An Amazon S3 bucket used to store personalization data and configuration files.

  2. An AWS Lambda function initiated when new or updated personalization configuration is uploaded to the personalization data bucket.

  3. An AWS Step Functions workflow to manage all of the resources of an Amazon Personalize dataset group (including datasets, schemas, event tracker, filters, recommenders, solutions, campaigns, batch inference jobs, and batch segment jobs).

  4. Amazon CloudWatch metrics for Amazon Personalize for each new trained solution version are added to help you evaluate the performance of a model over time.

  5. An Amazon Simple Notification Service (SNS) topic and subscription to notify an administrator when the maintenance workflow has completed via email.

  6. Amazon DynamoDB tracks the scheduled events configured for Amazon Personalize to fully or partially retrain Amazon Personalize solutions, import or reimport datasets, and perform batch inference jobs.

  7. An AWS Step Functions workflow tracks the current running scheduled events, and invoke step functions to perform Amazon Personalize solution maintenance (creating new solution versions, updating campaigns), import updated datasets, and perform batch inference.

  8. A set of maintenance AWS Step Functions workflows are provided to:

    • Create new dataset import jobs on schedule.

    • Perform Amazon Personalize solution FULL retraining on schedule (and update associated campaigns).

    • Perform Amazon Personalize solution UPDATE retraining on schedule (and update associated campaigns).

    • Create batch inference jobs.

  9. An Amazon EventBridge event bus, where resource status notification updates are posted throughout the AWS Step Functions workflow.

  10. A command line interface (CLI) allows you to import and establish schedules for resources that already exist in Amazon Personalize.

Note

AWS CloudFormation resources are created from AWS CDK constructs.