Fall 2017 Course Descriptions
COMP 150-09 Cloud Applications
Cloud computing powers the Internet presence and applications of established and younger companies such as BMW, GE, Netflix, and Spotify. Shouldn't you add cloud computing to your development toolbox? In this course, you will learn how to leverage cloud computing for the development of applications by writing and running code on cloud providers. An application, for the purpose of this course, can be a web application, the backend of a smartphone or desktop application, or a big data analysis.
We will start with an overview of cloud computing fundamentals and infrastructure (e.g. VM/container, storage, network, and datacenter), then move on to the architecture of a typical cloud application, the essential data stores (i.e. relational, key-value, and object stores), MapReduce, and how to meet production demands such as elasticity, fault-tolerance, and operational cost. Your semester-long project may also explore cloud services such as CDN, third-party RESTful APIs, and machine learning. At the end this Fall, you will be able to choose the cloud platform that best meets the demands of your applications, to balance the trade-offs between competing, non-equivalent cloud services such as relational databases and key-value stores, and to implement applications employing a number of cloud services.