Cloud computing is internet-based computing that provides shared computing resources and services over the internet. There are three main types of cloud computing: public cloud which provides services over the internet from an off-site third party provider; private cloud which provides hosted services behind a company's firewall; and hybrid cloud which integrates multiple internal and external cloud services. Cloud computing architecture consists of software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS) that provide user interfaces, development platforms, and basic computing resources respectively on-demand over the internet.