Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2011 MindTree Limited CONFIDENTIAL: For limited circulation only e-Commerce web app Architecture and Scalability Srinivas Bhagavatula.

Similar presentations


Presentation on theme: "© 2011 MindTree Limited CONFIDENTIAL: For limited circulation only e-Commerce web app Architecture and Scalability Srinivas Bhagavatula."— Presentation transcript:

1 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only e-Commerce web app Architecture and Scalability Srinivas Bhagavatula

2 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only So, what’s in an E-Commerce Store? Slide 2 Catalogs State Discounts Inventory Fulfillment Social Integration Payment Note: This image is for illustrative purposes only. MindTree does not recommend or associate itself with either this site, or the products displayed here. Any copyrights belong to their respective owners Analytics Cross-sell Content Search Seasonality 00000 Ads Personalization Cust. Service

3 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only Conceptual View Slide 3

4 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only Application View Slide 4

5 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only The Key to Scalability… Slide 5 Ability of a system to handle or be enlarged to handle growing amounts of work gracefully … is to understand what it is Identify bottlenecks, and mitigate Identify load sources, and minimize … is to keep principles simple “How scalable do you want it?” (Do you have the NFRs?) … is to understand what’s expected If my look-to-book ratio is 90:10, can I scale differently? Do I always need to depend on the scalability of my partners? Do all of my subsystems need to scale equally? If my load is seasonal, should I be safe and overprovision? … is to exploit system characteristics

6 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only So what’s Different? Slide 6 Lots of integration – and dependencies Combo of content and Data Complicated rules spanning entities Rich and useful data to be analyzed and mined The breadwinner! Many different channels – and load Lots of these guys (hopefully!) Some typical usage patterns Lots of potential plus lots of load

7 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only Mapping to Scalability Considerations Multiple channels User behavior Social Content Slide 7 Content + Data Rules and analytics Integration – and dependencies

8 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only Scalability Strategies: Multiple Channels Scale out Minimize state for better load balancing, and to reduce memory footprint Use CDNs to farm out traffic to other sites, or consider A/A DC’s Exploit client capability, and minimize traffic Leverage device profile to serve appropriate content Frontends Use lightweight protocols Split between presentation services and interface services and choose granularity Services Slide 8

9 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only Scalability Strategies: Content, Social Traffic Content and data scale differently – so scale them independently Mash up content, UGC, and catalog data in a portal Leverage CMS’ caching as far as possible Consider publishing static HTML Organize CMS structures appropriately Use CDNs or servers appropriate to the purpose Content Separate onto other servers Leverage existing social network platforms UGC Slide 9

10 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only Scalability Strategies: User Behavior Slide 10 Separate reads and writes; scale out read nodes using replication / master-slave, … Split functionality between database instances Use sharding (carefully) to partition and scale out writes Choose optimistic reads (carefully) to minimize locks Data A fair bit of data changes slowly – cache aggressively: catalogs, content, … Try and cache inventory levels as well, based on thresholds Minimize I/O Create private clouds or leverage public / hybrid clouds Elasticity

11 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only Scalability Strategies: Rules and Analytics Slide 11 Classify into cross-sell rules, transaction processing rules Cross-sell rules more heavily used, use more data Pre-compute results - not everything needs to be real-time Reduce target datasets - not everything is against the universe Rules Separate analytics from transactional systems Run them off of their own instance Analytics

12 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only Scalability Strategies: Integration Slide 12 Use synchronous calls only when needed (for example, payments) Use queuing for durability and throttling Have a fallback mechanism: Last day’s inventory in case the inventory system isn’t coping Backend payment if payment gateway isn’t coping Consider batch mode integration vs. real-time always Dependencies

13 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only Strategies for Commerce Engines Use products (commercial | open source) for commerce, content, search, etc. Choose taxonomy and design carefully Catalogs, virtual catalogs, materialized catalogs, catalog sets, page snapshots, … Content taxonomy Cache appropriately Content caching at browser, CDN, CMS, commerce engine, … Commerce caching for catalogs, ad rules, pricing and inventory, … Scale appropriately Consider data volumes (catalog sizes, user base, …) for sharding or partitioning Follow vendor best practices for scaling Slide 13

14 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only General Scalability Strategies Use statelessness to scale better Choose shared-nothing models to scale best Choose shared-(something) or externalized state models with due considerations Reduce HTTP requests and payload Use techniques like file versioning, sprites, inline images, compression, … Be asynchronous where possible When calling backend systems, for example Choose faster (or lesser) I/O to minimize latency Cache aggressively Use faster I/O where possible Keep data small and archive aggressively to scale I/O and DBs Keep data close helps use network better and to reduce latency Write good code! Slide 14

15 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only In Summary Know what you are looking to achieve NFRs, business outlook Exploit usage characteristics Read/write ratios, acceptable lags, functional separation Design for scale Statelessness, service granularity, protocols Reduce load Pre-compute data, cache aggressively, offload Identify subsystem scalability needs Scale what’s needed, not everything Leverage others! Product capabilities, CDNs, cloud providers, social networking platforms Slide 15

16 © 2011 MindTree Limited CONFIDENTIAL: For limited circulation only Srinivas Bhagavatula Srinivas_Bhagavatula@mindtree.com www.mindtree.com


Download ppt "© 2011 MindTree Limited CONFIDENTIAL: For limited circulation only e-Commerce web app Architecture and Scalability Srinivas Bhagavatula."

Similar presentations


Ads by Google