Build applications on the cloud


Learn how developers write programs that run on the cloud, including how to deploy, be fault-tolerant, load balance, scale, and deal with latency.

Learning objectives

In this module, you will:

  • Evaluate different considerations when programming applications that run on clouds
  • Evaluate different considerations when deploying applications on clouds
  • Compare and contrast proactive and reactive measures for fault tolerance in cloud applications
  • Describe the importance of load balancing in cloud applications and enumerate various methods to achieve it
  • Enumerate the strategies and considerations in scaling cloud applications
  • Motivate the case for minimizing tail latency and discuss the various strategies to reduce tail latency
  • Describe the strategies to optimize total operational cost of using cloud services

In partnership with Dr. Majd Sakr and Carnegie Mellon University.


  • Understand what cloud computing is, including cloud service models, and common cloud providers
  • Know the technologies that enable cloud computing
  • Understand how cloud service providers pay for and bill for the cloud
  • Know what datacenters are and why they exist
  • Know how datacenters are set up, powered, and provisioned
  • Understand how cloud resources are provisioned and metered