CS5300 S15

TR 11:40-12:55

Gates G01

 Architecture of Large-Scale Information Systems

 
 

Course Description

This course deals with large-scale Internet-based information systems. It covers basic architecture and techniques for achieving scalability and high availability. We study techniques that achieve scalability through parallelism (“scale-out’ rather than “scale-up”) and achieve reliability through redundancy (“stand-by and fail-over” for reliable computation, and replication for reliable data storage). We study these techniques in the context of Public Cloud Computing, which treats computing like a public utility, allowing clients to lease virtual machines, together with services like storage, databases, load balancing, etc., for only the time when they are actually being used.

We also discuss techniques to exploit the "elasticity" of Cloud Computing APIs to design systems that can reconfigure dynamically in response to failures or to changes in load.

The course includes significant programming assignments involving Web servers, application servers, database systems, as well as “big data” analysis using MapReduce and in-memory graph processing, probably using Giraph. These will involve using a commercial Cloud Computing service, the Amazon AWS system.

Note that this page, like most of the static content for the CS5300 website, is served directly from Amazon AWS.