This Guidance demonstrates how to use spatial computing to make 3D product images. A retailer or third-party can upload images to AWS, store the image, validate the image, and use AWS services to maintain metadata about that image. The services scale automatically, so retailers can quickly adapt to changes in demand.
Architecture Diagram
[Architecture diagram description]
Step 1a
Upload images through a mobile app hosted in AWS Amplify.
Step 1b
Alternatively, a third party uploads images directly through AWS Transfer Family.
Step 2
Amazon Simple Storage Service (Amazon 3) is used to store the uploaded images.
Step 3
AWS Step Functions filters images to the next step, and passes data between services.
Step 4
AWS Lambda ensures all images are uploaded for each product before processing.
Step 5
An AWS Fargate task stitches images together.
Step 6
A Lambda function validates images to meet quality standards.
Step 7
To notify of process failure, Amazon Simple Notification Service (Amazon SNS) sends a short message service (SMS) and email.
Step 8
An Amazon DynamoDB table maintains image metadata.
Step 9
Once the images are rendered, they are stored in Amazon S3.
Step 10
Images are presented through Amplify.
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
DynamoDB is a serverless, flexible database service designed to run high-performance applications at any scale. By deploying DynamoDB in this Guidance, you can capture image metadata and use it to select the most useful information for your business over time.
-
Security
When you upload images using Transfer Family, your data is encrypted in transit through SFTP, FTPS, FTP, and Applicability Statement 2 (AS2) protocols.
We recommend using AWS Identity and Access Management (IAM) to securely manage identities and access to the AWS services. This helps you apply least privilege access so that only the permissions required to perform the task are granted.
-
Reliability
When you have a workload with multiple redundant subsystems, you can achieve more availability than by using a single subsystem. Amazon S3, Lambda, and DynamoDB all have redundancy built in and are designed to handle concurrent device failures, providing a highly durable infrastructure.
-
Performance Efficiency
Lambda is an event-driven serverless service that scales to match your data volume automatically. This decreases latency and improves performance, enhancing your customer's experience.
-
Cost Optimization
Lambda Functions are initiated as events occur, thereby saving on cost by not paying for idle compute resources. Fargate is also a serverless service to reduce on cost and operational overhead.
-
Sustainability
Serverless technologies automatically scale from zero to peak demands, so you can adapt to customer needs faster than ever while ensuring that only the minimum resources are required.
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
[Title]
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.