Scalable Internet Services
CS 290B, Fall 2014
CS 290B, Fall 2014
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 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.
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.