Cartoon depicting a Rube Goldberg contraption being used for CI/CD and two people talking about it.

Advanced Topics in Cloud Computing (MPCS 52083)

Cloud infrastructure greatly simplifies the development of highly scalable applications, but operating these applications reliably and securely at scale introduces additional challenges. In this class we will explore approaches for meeting these challenges and develop an understanding of enabling technologies.

Full disclosure: This is a brand new class!

I am teaching this class for the first time during the Spring 2025 quarter. Given that this is a new product, I expect to make lots of changes as we progress. The topics, level of depth, and assignment structure will be informed by your progress in the class and regular feedback which I will solicit via a series of (very) short surveys. This means you should expect variability and a somewhat different experience to the well-oiled machine that was Cloud Computing last quarter :-).


The class is made up of roughly three parts. The first part focuses on preparing an application for production operations and automating deployment of the application and its runtime infrastructure. The second part introduces security considerations and adds monitoring to the runtime environment. The third part explores ways to address some of the challenges faced by applications that deal with streaming data.

Unlike the introductory Cloud Computing course, participation/engagement during class discussion is required. You are expected to attend all classes and be prepared to contribute to the discussion of that week's topic(s).

Coursework

This course is structured around larger assignments that incorporate both design and programming components, and typically require substantial supplementary reading/research in addition to programming.

Prerequisites

This course requires that you have successfully completed the introductory Cloud Computing course (MPCS 51083) , and have familiarity with shell scripting and data serialization/declarative languages such as YAML and JSON. No application-specific knowledge is assumed; we will provide introductory readings for each topic, but those with experience in the application areas covered may find the material easier to understand.


Resources

 The Canvas site for this course is here .

The Canvas site contains submission links for homework assignments . All online discussion happens in Ed Discussion  (accessible via Canvas). Before posting a question make sure you read this important information.

 We also use a question "parking lot" .

As you watch the videos capture your questions here for discussion during class. You can also upvote questions added by other students. It's all anonymous so please don't hold back!

 All other class content is on our shared Google Drive .

On Google Drive you will find lecture slides, assignment specifications, additional readings, and class exercises. You must be authenticated with your CNetID@uchicago.edu account to access these files; using any other Google account will not work.