Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. There are three main service models of cloud computing: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). There are also four deployment models of cloud computing: private cloud, community cloud, public cloud, and hybrid cloud. Building a cloud requires key components like network infrastructure, servers, operating systems, hypervisors, cloud management platforms, data center design, and generators for high availability.