CS 40 @ Stanford

Cloud Infrastructure and Scalable Application Deployment

Winter 2024

Mondays & Wednesdays, 4:30 PM – 5:50 PM
530-127 (enter from Duena St or Building 530 courtyard)

Trying to launch your next viral programming project and anticipating substantial user growth? This course will help you learn to implement your ideas in the cloud in a scalable, cost-effective manner. Topics will include cloud AI/ML pipelines, virtual machines, containers, basic networking, expressing infrastructure as code (IaC), data management, security and observability, and continuous integration and deployment (CI/CD). Through hands-on learning and practical examples, you’ll learn to effectively deploy and manage cloud infrastructure. There is no out-of-pocket cost associated with this class and cloud credits will be provided for all students.

Course Staff

Schedule

Foundations of Cloud Computing

  • Monday, January 8: Course Intro & Overview; Building Blocks of Cloud Infrastructure (AS and CH)
  • Wednesday, January 10: Networking Crash Course (CH)
  • Wednesday, January 10, 8pm: Basics of Web Apps (CH, Remote)

Cloud Networking and Data Flows

  • Monday, January 15: No lecture (Martin Luther King Jr. Day)
  • Wednesday, January 17: Networking in Practice (CH)

Databases and Data Management

  • Monday, January 22: Types of Cloud Storage; Object Storage (AS)
  • Wednesday, January 24: Database Design and Tradeoffs (Benjamin Bercovitz, Co-Founder of Verkada)
ℹ️
Assignment 1 due Tuesday, January 23 at 11:59 PM PT.

Programmatically Managing Infrastructure at Scale

  • Monday, January 29: Intro to Infrastructure-as-Code & Cloud Automation Tools (CH)
  • Wednesday, January 31: Containerization & Container Orchestration (AS)

Security and Observability

  • Monday, February 5: Securing your Cloud Deployment (AS)
  • Wednesday, February 7: Auditing, Logging, and Observability (AS)

Managed Computing and Cloud Machine Learning

  • Monday, February 12: Serverless Compute; High-Performance Workloads (AS)
  • Wednesday, February 14: Training Machine Learning Models at Scale (CH)
ℹ️
Assignment 2 due Tuesday, February 13 at 11:59 PM PT.

Machine Learning Deployment

  • Monday, February 19: No lecture (Presidents Day)
  • Wednesday, February 21: Architecting Machine Learning Deployments (Guest Speaker)

Managing Large-Scale Cloud Deployments

  • Monday, February 26: Continuous Integration & Continuous Deployment (AS)
  • Wednesday, February 28: System Architecture Patterns (Guest Speaker)
ℹ️
Assignment 3 due Tuesday, February 27 at 11:59 PM PT.

Emerging Trends in Cloud Computing

  • Monday, March 4: Practical Considerations (CH)
  • Wednesday, March 6: Ethical Considerations (CH)
ℹ️
Assignment 4 due Thursday, March 7 at 11:59 PM PT.

Special Topics and Student-Requested Content

  • Monday, March 11: TBD based on student interest
  • Wednesday, March 13: TBD based on student interest
ℹ️
Final project due Sunday, March 17 at 11:59 PM PT.