E-Commerce Architectures and Technologies Rob Oshana Southern Methodist University
Quality of Service • Issues to consider during design and implementation • reliability • security • capacity • scalability • cost • Many E-Commerce and Web services are real-time processes!
Quality of Service • Example; On-line Auction • multimedia capabilities for product • should be considered during design • bandwidth capacity • processor speed • disk capacity • load varies by a factor of 10 depending on the time of day
Quality of Service • Number of page views/day = 4.8 mil • 3/10 page requests are “Display item description” (navigational patterns) • Increase in 90K bytes/page for multimedia capability • What is the increase in bandwidth?
Quality of Service • AvgPageRequests/hour = PagesPerDay/24 = 4,800,000/24 = 200,000 pages/hour • PeakPageRequest = AvgPageRequests X PeakLoadFactor = 200,000 X 10 = 2,000,000 pages/hour
Quality of Service • NumberOfDisplayPagesOnPeak = PeakPageRequest X 0.3 = 2,000,000 X 0.3 = 600,000 • PeakBandwidthIncrease = NumberOfDisplayPagesOnPeak X PageSizeIncrease = 600,000 X 90,000 bytes = 54,000 Mbytes/hour = 120 Mbs
Quality of Service • Availability goal = 99% • How much downtime allowed ? • Reasons for a system to be unavailable • Regular maintenance • backups • configuration changes • can usually be scheduled
Quality of Service • Upgrades • new S/W releases • new H/W platforms • facility moves • Infrastructure failures • systems outside control • electric power • internet access service • telecommunications disruptions • can be managed at a cost!
Quality of Service • Environment • floods, fires, and other man-made disasters • hot or warm backup systems geographically distant • Software failures • software can stop working • encryption method becoming vulnerable due to technical advances can lead to software becoming untrustworthy
Quality of Service • Human error • operator error • configuration mistakes • controlled by additional training and testing • routing errors in the network • Hardware failures • disks • computers • network routers • probability rises as the size of the system increases the number of components
Quality of Service • Maximum downtime allowed • %ofAvailabilityPerYear = (HoursPerYear - HoursOfUnavailability) / HoursPerYear • 99% = (8760 - HoursOfUnavailability) / 8760 • HoursOfUnavailability = 8760 - (0.99 X 8760) = 87.6 hours
Overview of Quantitative Approach • Quality of service factors • speed • 24/7 availability • security Customer expectations Cost
Quantitative Analysis Business model & measurable goals E-Business site architecture 1 2 Predict E-Business Site performance Measure E-Business Site 8 3 Forecast Workload Evolution 7 Characterize Customer Behavior 4 Obtain Performance Parameters Characterize Site Workload 6 5 Develop Performance Models
Quantitative Analysis • 1. Obtain in-depth understanding of e-business site architecture • system requirements • configuration of the site • number of internal layers • what type of servers being run • what software is running on servers • reliability and scalability requirements
Quantitative Analysis • 2. Measure the performance of the systems that make up the e-business site • guarantee quality of service • prevent problems later • measure performance from different reference points • logs of transactions and accesses to servers
Quantitative Analysis • Downloading times from different parts of the network • Data answers important questions • # customer visits per day • site revenue for a specific period of time • average and peak traffic • characteristics of shoppers
Quantitative Analysis • 3. Understand customer behavior • heavy buyers • occasional buyers (lots of browsing) • Different navigational patterns • invoke different services • invoke in different ways • invoke in different frequencies • Different services use different amounts of resources
Quantitative Analysis • 4. Characterize the workload • sessions; sequences of requests of different types made by a single customer to a single site • browse • search • select • add to shopping cart • user registration • pay
Quantitative Analysis • 5. Quantitative techniques and analytical models • used to evaluate performance of a site • performance models used to predict performance when a site changes
Quantitative Analysis • 6. Obtain input parameters for performance models • describe the architecture of the site • Web servers • application servers • database servers • layered groups • workload under study
Quantitative Analysis • 7. Forecast the expected workload • What is the expected workload of a particular e-business website at a certain time of year? • How will the number of users vary in the next six months?
Quantitative Analysis • 8. Analyze alternative architecutures • Use performance models and workload forecasts • Take into consideration expected workload, site cost, quality of service perceived by customers
Why Model Customer Behavior? • Session: series of consecutive and related requests made during a single visit • login • browse • search • add to shopping cart • pay
Why Model Customer Behavior? • Customer’s behavior while interacting with the site impacts the IT resources of the site as well as the revenue of the store • Important to characterize the behavior of customers at the site
Metrics: - revenue/sec - response time - throughput Customer Model Workload Model Resource Model What-if questions regarding impacts of customer behavior What-if questions regarding impacts of workload, architecture, and configuration changes Customer, Workload, and Resource Models
Customer Model • Captures the elements of user behavior; • navigational patterns • e-commerce functions used • frequency of access to e-commerce functions • times between access to the various e-commerce functions • times between access to the various services offered by the website
Customer Model • Model User Navigational Patterns for Predictive Purposes • Customer Behavior Model Graph (CBMG) • Capture Workload Parameters • Customer Visit Model (CVM) • Workload model; describes the workload of a site in terms of workload intensity
State and Transitions of a CBMG Search Browse Pay Entry Home Login Add to cart Select Register Search
Virtual Bookstore Example • Customers can enter the bookstore at three states; Home, Browse, Search • Figure represents all possible transitions between states • but a particular customer may not visit all states during a visit • Must capture the frequency with which transitions occur
Virtual Bookstore Example Browse 8 Add to Cart Select 1 4 7 Search
Virtual Bookstore Example Browse 8 (0.4) Add to Cart Select 1 (0.05) 4 (0.2) 7 (0.35) Search
Virtual Bookstore Example • Use different CBMGs for different users or user classes • occasional buyers • information retrieval but buy elsewhere • heavy buyers • will buy if they see a product they like • Different models to represent different visits to a site, because customer patterns may change
State and Transitions of a CBMG 0.25 Search 0.25 0.35 Browse 0.2 Pay 1.0 0.3 0.2 0.15 0.2 0.3 0.3 0.1 0.1 0.1 0.05 0.7 Entry Home Login Add to cart Select 0.6 0.2 0.1 0.4 0.05 0.2 0.05 0.1 0.2 Register 0.5 0.3 0.2 0.1 0.15 0.35 Search 0.25 0.2 0.1
Customer Behavior Graph Model • N states • state 1 is always the entry • state n always the exit • number of states can vary • depends on the site and the amount of functionality • Characterization of the navigational pattern of a group of customers • viewed from the server side
CBGM • Relies totally on server side information • Not 100% complete but still very useful
Building a CBMG • 1. Determine the set of functions provided to the customers of the e-commerce site • common functions (search, login) • site specific functions (buy stock, etc)
Building a CBMG E-Business Functions Login Register Browse Search Select Add to Cart Pay E-Business Server Infrastructure (processors, disks, networks, and routers)
Building a CBMG • 2. Refine the set of functions according to resource consumption • each function requires some amount of processing by an IT infrastructure • be sensitive to bandwidth requirements • break up functions if it makes sense
Building a CBMG • Determine the transitions between states • examine all possible transitions • analyze the layout of pages • analyze the functions available on each page
Aggregate Metrics for E-Business Sites • Hits/second • Page views/day • Click-throughs • Unique visitors • Revenue Throughput • Potential Loss Throughput
Metrics Derived from the CBMG • How many times on average is each E-Business function invoked per visit? • On average, how often do customers buy something each time they visit the site? • What is the average number of E-Commerce function executions requested by a customer?
Customer Visit Model • Alternative to CBMG (less detailed) • Represent a session as a vector of visits to a state during a session • CVM is a set of vectors that indicate the number of times each of the functions supplied are executed • Does not provide information as to the number of times a customer moves between states
Session Identification • How does one identify requests coming from the same customer? • How does one determine if requests coming from the same customer belong to the same or to a different session?
Session Identification • HTTP is a stateless protocol • HTTP server does not store information about a request after that request has been serviced • generates an entry in the HTTP log for each completed request • information is not used to process the next request
Session Identification • Cookies used for identification • pieces of data stored on hard drive • information sent back to server on each subsequent request to the server • used to store customer and/or session identifiers
Session Identification with Cookies server browser Request 1: http://www.xyz.com/home.html Reply 1: home.html + cookie (ID=2136789105) Request 2: http://www.xyz.com/products.html + cookie (ID=2136789105) Reply 2: products.html session Request n: http://www.xyz.com/services.html + cookie (ID=2136789105) Reply n: services.html