Cloud computing provides ubiquitous access to shared computing resources over the internet. It includes software as a service (SaaS), platform as a service (PaaS), infrastructure as a service (IaaS), functions as a service (FaaS), private clouds, hybrid clouds, and vertical clouds. The main advantages of cloud computing are reducing time to market for scalable applications and reducing data center resource requirements.