0% found this document useful (0 votes)
37 views3 pages

Design Application Architecture - CS

Organisation ABC wants to allow customers to upload product images to their website. Uploaded images must be scanned for issues before display. Scanning capacity may not always match uneven upload rates. Approved images should trigger a thank you email to the customer. A serverless architecture is proposed using Azure services like Storage Accounts, Event Grid, Service Bus Queues, Functions and Logic Apps to store images, queue scanning workloads, and send notification emails in a scalable and cost effective way.

Uploaded by

madarchowd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views3 pages

Design Application Architecture - CS

Organisation ABC wants to allow customers to upload product images to their website. Uploaded images must be scanned for issues before display. Scanning capacity may not always match uneven upload rates. Approved images should trigger a thank you email to the customer. A serverless architecture is proposed using Azure services like Storage Accounts, Event Grid, Service Bus Queues, Functions and Logic Apps to store images, queue scanning workloads, and send notification emails in a scalable and cost effective way.

Uploaded by

madarchowd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Design Application Architecture Case Study

Requirements

Organisation ABC is looking to update their website to include customer supplied product images in
addition to the already existing photos provided by marketing. They believe that having more photos of
products in use will give potential customers a better feel for how past customers loved their products
after buying them. They do have some requirements as outlined below:

 Uploaded images will need to be scanned before getting posted on the website. Legal and
Marketing are both requesting that after initial upload, the images be checked for any issues
that reflect poorly upon the company or could cause legal issues. An in- house API has already
been developed and deployed that can perform the necessary scanning.
 Based on existing patterns, Organisation ABC expects the image uploads to happen very
unevenly throughout the day. Certain periods may experience more uploads than the scanning
software can handle, while other periods may experience very few or no uploads.
 Once an uploaded image has been scanned and approved by the system, Organisation ABC
would like the customer to be sent an email thanking them for sharing their image.
 Cost and management of the solution is a concern, especially since Organisation ABC isn’t
sure how popular this feature will be initially. Minimize costs and leverage serverless
solutions where possible.
Task

Design an architecture for the customer images to be added to the company website.

 Where should the images be stored?


 How will you ensure that images being stored get scanned even when the uploads are
outpacing scanning?
 Once images are approved and the catalog database is updated, how will the customer be
notified?

Solution

Logic App

Internet
Image Storage Account Event Grid Function
App Services Service
Bus Product
Database
Website Image Processing

Azure Active
Directory

Scanning API

On-premises

 Consider Storage Account Blobs for image storage. Files could be used if SMB or NFS is
required by the web application, but blob storage offers a lower cost and generally more
features.
 Consider Event Grid to create a notification when new storage blobs are created.
 Consider Service Bus Queues to hold Event Grid notifications. The use of a queue will help
balance the loads and ensure that events aren’t missed through delivery guarantees.
 Functions supply a serverless option to get messages from the queue and send
them to the Scanning API for processing.
 Logic Apps supply an easy, code-free option to send emails based on
triggered events, such as SQL database item creation or modification.

You might also like