This course focuses on the use of the most popular cloud computing applications and services that run on a distributed network using virtualized resources and accessed by common Internet protocols and networking standards. Its architecture, abstraction, virtualization, infrastructures, scaling deployments, machine learning in the cloud, data management, security and privacy in the cloud will be discussed in details.