GitHub Training

Scalable Internet Services

CS 290B, Fall 2014

Course Description

This course explores advanced topics in highly scalable Internet services and their underlying systems architecture. Software today is increasingly being delivered as a service: accessible globally via web browsers and mobile applications and backed by millions of servers. Modern frameworks and platforms are making it easier to build and deploy these systems, such as Ruby on Rails and Amazon's EC2.

Yet despite these advances, some concerns just don't go away. Building scalable Internet services today still requires an understanding of topics like caching, load balancing, security, and monitoring. In this course we will examine these topics and more: the state of the art in building scalable Internet services.

Course Lectures

Course lectures will be Tuesdays and Thursdays, from 1:00pm to 2:50pm in Phelps 2510. Lecture material will cover the essentials of building large scale Internet services. The lecture schedule and slides are available online.

Course Lecture Schedule

Course Project

The goal of the course project is to gain hands-on experience in building and deploying a scalable web service on the Internet. Students will do this using the latest web technologies in order to learn how to tackle scalability and fault-tolerance concerns. Projects will be conducted in agile teams, and students will build their own scalable, redundant web site using fundamental web technologies and the Ruby on Rails framework.

Project-centric lab will meet every Wednesday from 6:00 to 8:00pm in Phelps 3525.

Course Project Details

Course Information

  • Instructors: Andrew Mutz (amutz at cs.ucsb.edu), Jon Walker (jwalker at cs.ucsb.edu)
  • Consultant: Bryce Boe (bboe at cs.ucsb.edu)
  • Time: T R 100-250, lab W 600-800
  • Location: Lecture in Phelps 2510, Lab in Phelps 3525
  • Enroll Code: 09936