This Guidance shows how to create a visual search capability for ecommerce websites, allowing users to upload product images to find visually similar items and improve product discovery. While typically complex, recent technological advancements have made it easier to develop accurate and scalable visual search algorithms. This Guidance explores these new technologies, such as multimodal embedding models, and shows how these technologies can be used to create intuitive visual search features. By generating embeddings from product images and text descriptions, you can add effective visual search functionality to your ecommerce platform.

Please note: [Disclaimer]

Architecture Diagram

[Architecture diagram description]

Download the architecture diagram PDF 

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.

  • AWS X-Ray traces requests as they flow through API Gateway to underlying services such as Lambda and Amazon S3, providing valuable insights into the application's behavior. Simultaneously, Amazon CloudWatch captures metrics and logs from all services involved in the architecture. By visualizing and analyzing these components using X-Ray, along with the metrics and logs collected by CloudWatch, you can efficiently identify performance bottlenecks and troubleshoot requests.

    Read the Operational Excellence whitepaper 
  • This Guidance is configured with a multi-layered approach, combining tightly scoped AWS Identity and Access Management (IAM) policies with the access control of API Gateway and the threat mitigation of AWS WAF. This creates a robust security framework that safeguards the application and its underlying resources from potential security threats. Specifically, IAM policies are scoped down to the minimum permissions necessary for each service to function properly, effectively limiting unauthorized access to resources. Furthermore, API Gateway implements API key-based authorization to control API access and is integrated with AWS WAF for protection against web exploits.

    Read the Security whitepaper 
  • The fully managed, serverless services offer high availability and automatic scaling to meet fluctuating traffic demands. For example, Lambda, Amazon OpenSearch Serverless, API Gateway, and Amazon S3 adjust their capacity dynamically, while Amazon Bedrock supports provisioned throughput, allowing you to select the appropriate model capacity units for your specific traffic volumes. This combination ensures that the application can handle varying loads without failure, minimizing downtime. The high availability and scalability of these services, coupled with the ability to fine-tune the capacity of Amazon Bedrock, create a robust, reliable architecture capable of consistently serving requests even under demanding conditions.

    Read the Reliability whitepaper 
  • Amazon Bedrock and Lambda offer several features to optimize your workloads and enhance performance efficiency. With Amazon Bedrock, you can use provisioned throughput mode to meet high request volumes for real-time inference when on-demand capacity isn't sufficient. Additionally, Amazon Bedrock offers a batch inference capability that is ideal for initial and scheduled bulk embedding creation. Lambda provides provisioned concurrency, which pre-provisions Lambda execution environments for a configured number of instances. This can potentially reduce cold-start occurrences and improve Lambda execution timing, further boosting your application's performance.

    Read the Performance Efficiency whitepaper 
  • Amazon Bedrock, Amazon S3, and Lambda offer various features to optimize your costs. Amazon Bedrock, as a fully managed service, eliminates operational and management costs associated with deploying, scaling, and managing foundation models. It provides flexible pricing options with on-demand and provisioned throughput modes, allowing you to choose the most cost-effective plan. Amazon S3 offers different storage tiers and lifecycle policies, so you can automate data movement between tiers and optimize storage costs. For compute resources, Lambda is covered by Compute Savings Plans, offering discounted pricing for Lambda executions. You can further optimize Lambda costs by selecting suitable memory and processor configurations.

    Read the Cost Optimization whitepaper 
  • Lambda, API Gateway, and Amazon S3 scale dynamically with your application's incoming traffic, maximizing resource utilization and limiting the environmental impact. These services are not pre-provisioned, allowing for efficient resource allocation. Lambda allows you to choose optimal memory, storage, and processor configurations, further maximizing resource efficiency. With Amazon S3, you can set lifecycle policies to automatically delete stale objects, reducing unnecessary data storage. The scalability and flexibility of these services help you minimize wasted resources and reduce your overall environmental footprint.

    Read the Sustainability whitepaper 
[Content Type]


This [blog post/e-book/Guidance/sample code] demonstrates how [insert short description].


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.

Was this page helpful?