Week 2, Day 2
		        
			A structure for Software as a Service (SaaS)
Source: Condos and clouds.
  - Lowest level: Platform software providing basic services (local storage, processes, synchronization, networking)
 
  - 
    
Separate out common features that are above the operating system but more general than one application
    
      - Cavage calls this infrastructure “plumbing” and “concierge” (two names for the same thing)
 
      - The term we prefer (from the Google Datacenter people) is cluster-level infrastructure
 
      - Neither term is precise—people may have different opinions about what lies at this level
 
    
   
  - 
    
The cluster-level infrastructure can deal with new features of cloud technology:
    
      - Rapid scalability: provisioning new servers on demand.
 
      - Failure tolerance: Datacenters use hardware that is relatively unreliable; software also fails.
 
      - Rapid changes in datacenter networking: Processes can move to different machines, new servers can be added to an application, …
 
      - Transmission delays due to geography and network outages (the Consistency, Availability, and Partioning problem—CAP)
 
    
   
  - 
    
Application-level software can provide commonly-required tools
    
      - Storage
 
      - Credit card payment processing
 
      - Sending emails
 
      - User ID management and login
 
    
   
Breaking one service into multiple services
  - 
    
A top-level user service, such as “Display the page for The 2009-2014 World Outlook for 60-Milligram Containers of Fromage Frais”, will be composed of many service calls within the application:
    
      - Add this book to the “recently-visited” session data for this user
 
      - Get sample pages, if any
 
      - Check session identifier remains valid
 
      - Get number of items in the shopping cart
 
    
   
  - 
    
Each service, in turn, calls other services:
   

Source: Condos and clouds, Fig. 4. Copyright 2013, ACM.
  - Each lower level has tighter SLA (response time) 
 
Ensuring scalability
These methods are also listed in the table from Section 2.2 of
The Datacenter as a Computer, 2d. Ed.
that you read for last Wednesday.

Source: Condos and clouds, Fig. 4. Copyright 2013, ACM.
No reading for Friday