[SEO Subhead]
This Guidance helps you centralize and automate the process of storing, converting, optimizing, and distributing 3D and 2D assets using serverless technologies. Visual Asset Management System (VAMS) with Amazon stores and manages visual assets in the cloud, which empowers any user with a web browser to upload, manage, visualize, transform, and retrieve visual assets. Organizations that previously had to visualize, transform, interface with, and deliver these assets on local systems can now do so from a web-based cloud dashboard. The VAMS API helps you build custom applications and automation.
Please note: [Disclaimer]
Architecture Diagram
[Architecture diagram description]
Step 1
Amazon Cognito user pools handle user authentication, and AWS Amplify interfaces with the VAMS API.
Step 2
Using the React.js-based content management system, upload assets to Amazon Simple Storage Service (Amazon S3), apply metadata to the assets, process the assets using custom workflows and pipelines that the user creates, and generate download links for the assets.
Step 3
The VAMS API uses the Amplify JavaScript library to handle client-side requests and results and route asset uploads and downloads from Amazon S3.
Step 4
Amazon API Gateway routes server-side payloads and results, interfacing with AWS Lambda functions for handling assets, metadata, pipelines, and workflows.
Step 5
The Lambda asset function delivers assets to Amazon S3, which stores and versions the data and stores asset data in Amazon DynamoDB.
Step 6
Lambda data functions store asset metadata in a metadata DynamoDB table, allowing for extensible and customizable schema management.
Step 7
Lambda functions deliver data to Amazon SageMaker, which creates containerized asset processing pipelines. Amazon Elastic Container Registry (Amazon ECR) stores the containerized pipelines while DynamoDB stores the pipeline data. Schedule pipelines into workflows using the React.js content management interface.
Step 8
Lambda workflow functions direct workflow data to AWS Step Functions to orchestrate workflows and store them in DynamoDB. Step Functions automate the complex chaining of pipeline workloads by allowing the user to compose custom-ordered steps within the web app from their previously-defined pipelines.
For example, a user could have a pipeline for file-type conversion, another for level of detail (LOD) generation, and a third for asset decimation, which they could order together into a single workflow.
Well-Architected Pillars
The AWS Well-Architected Framework helps you understand the pros and cons of the decisions you make when building systems in the cloud. The six pillars of the Framework allow you to learn architectural best practices for designing and operating reliable, secure, efficient, cost-effective, and sustainable systems. Using the AWS Well-Architected Tool, available at no charge in the AWS Management Console, you can review your workloads against these best practices by answering a set of questions for each pillar.
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
-
Operational Excellence
Amazon CloudWatch logs enable you to monitor Step Functions and Lambda as they travel through the API Gateway APIs to the underlying services. Visualizing and analyzing these components using CloudWatch helps you identify performance bottlenecks and troubleshoot requests.
-
Security
Amazon Cognito user pools authenticate and authorize users in VAMS. By using Amazon Cognito user pools, admins have greater control and security over who can access which parts of VAMS.
-
Reliability
Amazon S3 and API Gateway are both fully managed services that allow VAMS to scale up or down as needed. Using loosely-coupled and microservices allow VAMS to remain working even when one component may be unavailable.
-
Performance Efficiency
AWS Cloud Development Kit (AWS CDK) allows users to provision the cloud infrastructure needed to create a custom content management system (CMS). VAMS is open source and easily deployable through AWS CDK, allowing for rapid deployment, iteration, and experimentation within any new or existing AWS account.
-
Cost Optimization
Amazon S3 allows you to select a retention policy for your data. Lambda is used to run code only when that code is needed, and DynamoDB is used to store asset metadata and other necessary information. Using these managed and serverless services will help ensure that users are only charged for the resources that they actually use.
-
Sustainability
SageMaker is used to create pipelines through Jupyter notebooks. When the pipeline is not in use, you are not charged for SageMaker, meaning these resources are not unnecessarily running. VAMS shuts down any notebook after 1 hour of idle time, which reduces the number of resources being used. This reduction in the number of resources minimizes the workload’s environmental impact.
Implementation Resources
A detailed guide is provided to experiment and use within your AWS account. Each stage of building the Guidance, including deployment, usage, and cleanup, is examined to prepare it for deployment.
The sample code is a starting point. It is industry validated, prescriptive but not definitive, and a peek under the hood to help you begin.
Related Content
Visual Asset Management System (VAMS) Workshop
Visual Asset Management System (VAMS) Sample Code
Disclaimer
The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.
References to third-party services or organizations in this Guidance do not imply an endorsement, sponsorship, or affiliation between Amazon or AWS and the third party. Guidance from AWS is a technical starting point, and you can customize your integration with third-party services when you deploy the architecture.