Azure - Scalable e-commerce web app - Architecture

A scalable web app is one that is able to smoothly handle an ever-incrementing utilizer base (or a sudden increase in traffic, e.g., “slashdot effect”) without hiccups or performance issues. This growth does not require huge changes to the code or server architecture.



Data Flow

  1. Utilizer accesses the web app in browser and signs in.
  2. Browser pulls static resources from Azure Content Distribution Network.
  3. Utilizer searches for products and queries SQL database.
  4. Web site pulls product catalogs from the database.
  5. Web app pulls product images from Blob Storage.
  6. Page output is cached in Azure Cache for Redis for better performance.
  7. Utilizer submits order and order is placed in the queue.
  8. Azure Functions processes order payment.
  9. Azure Functions makes payments to third parties and records payments in the SQL database.

Components

Web Apps:
Azure Web Apps offering web applications hosting. It allows developers to focus on delivering business values rather than consuming time on Sever updates or OS patches. Applications built on Java, PHP, Python, or Node.js can additionally be deployed on web apps.

Azure SQL Database:
Azure SQL Database is a plenarily-managed database service, which designates that Microsoft operates SQL Server for us and ascertains its availability and performance. SQL Database additionally includes innovative features to enhance our business continuity, such as built-in high availability.

Azure Functions:
Azure Functions are the individual functions engendered in a Function App. Every Function can be invoked utilizing the configured trigger. The Azure portal provides the capabilities to engender, manage, monitor, and integrate inputs & outputs of the Azure Functions.

Application Insights:
Application Insights is an application performance management service for web applications that enables us to do all the monitoring of our website performance in Azure. It’s designed to ascertain we are getting optimal performance and the best in class utilizer experience from our website. It additionally has a potent analytic implement that avails us to diagnose issues and gain a construal of how people are utilizing our web application.

Queue Storage:
Azure Queue Storage is a service for storing sizably voluminous numbers of messages. We access messages from anywhere in the world via authenticated calls utilizing HTTP or HTTPS. A queue message can be up to 64 KB in size. A queue may contain millions of messages, up to the total capacity limit of a storage account. Queues are commonly used to engender a backlog of work to process asynchronously.


More...

Popular posts from this blog

Learn Java 8 streams with an example - print odd/even numbers from Array and List

Java Stream API - How to convert List of objects to another List of objects using Java streams?

Registration and Login with Spring Boot + Spring Security + Thymeleaf

Java, Spring Boot Mini Project - Library Management System - Download

ReactJS, Spring Boot JWT Authentication Example

Top 5 Java ORM tools - 2024

Java - Blowfish Encryption and decryption Example

Spring boot video streaming example-HTML5

Google Cloud Storage + Spring Boot - File Upload, Download, and Delete