Web server
& Database
Pull up the Page
Read the XML
Query the
Database
Build the page on the fly
Render the page
Serve Assets & Media
Web Server’s Workload
• Reduce stress on the Web server & DB
– Clones [Multiple App Servers & DB Master Slaves]
– Caching [Fullpage Caching / Memcache]
– Varnish
– Move the workload to the Client Side
Performance & Scaling Mantra
• Browsers are Powerful but underutilized.
• Offload mundane tasks to the Client Side.
• Go Back to the Server only when needed.
Empower the Browser
• Server spits out JSON
• Presentation Layer Sits on the Client Side.
• JavaScript parses the JSON data and populates the dynamic content blocks, images are pulled from S3 / Cloudfront.
De-Couple your App
• JSON output contains Product Catalog along with necessary attributes.
• Layered Navigation, Filters, Sorting, keyword Search done 100% Client side on JSON data.
• Product Inventory check is an AJAX request to the server.
• Add to Cart, Checkout are direct requests to the server.
• For Recently Viewed Products, use Local Storage or IndexedDB.
In Magento’s Context
Web App
Browser
Server
RDS S3
EC2
JSON JSON
Media / Images Folder
Web App
Insanely Scalable Architecture
India - Bangalore USA Sweden
The Estate, # 121,6th Floor,
Dickenson Road
Bangalore-560042
Phone :+91 80 25594416
Neev Information Technologies Pvt. Ltd.
1121 Boyce Rd Ste 1400,
Pittsburgh PA 15241
Phone : +1 888-979-7860
Neev AB, Birger Jarlsgatan
53, 6tr,
11145, Stockholm
Phone: +46723250723
India - Pune #13 L’Square, 3rd Floor
Parihar Chowk, Aundh,
Pune – 411007.
Phone : +91-64103338
Singapore #08-03 SGX Centre 2, 4
Shenton Way,
Singapore 068807
Phone: +65 6435 1961