Scalable Internet Services

Scalable Internet Services

CS 188, Fall 2019

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 12:00pm to 1:50pm in Boelter Hall 3400. 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 Friday from either 12:00pm to 1:50pm in Dodd Hall 78 or 2:00pm to 3:50pm in Rolfe Hall 3126.

Course Project Details

Course Information

  • Instructors: Andrew Mutz (, John Rothfels (
  • TA: Karl Marrett ( OH: 2:00pm-3:00pm W R
  • TA: Rishab Ketan Doshi ( OH: 2:00pm-4:00pm T
  • Time: T R 12:00pm-1:50pm, labs F 12:00pm-1:50pm or F 2:00pm-3:50pm
  • Location: Lecture in Boelter 3400, Lab in Dodd Hall 78, Rolfe Hall 3126