Infrastructure-as-a-Service (IaaS) is a form of cloud computing that provides virtualized IT resources over the Internet. IaaS is one of the main categories of cloud computing services, along with Software-as-a-Service (SaaS) and Platform-as-a-Service (PaaS).
In an IaaS model, a cloud provider hosts the infrastructure components traditionally found in an on-site data center, such as servers, storage and networking hardware, as well as the host machines for virtualization. The IaaS provider also supplies a range of infrastructure services, including billing, monitoring, log access, security, load balancing, clustering, backup, replication and recovery. Driven by policies, these services enable IaaS users to implement automation and orchestration for infrastructure tasks. For example, a user can implement policies to drive load balancing to maintain application availability and performance.
Businesses of all sizes use IaaS because it is often easier, faster and more cost-efficient to operate a workload without having to buy, manage and support the underlying infrastructure. With IaaS, a business is essentially renting or leasing their infrastructure from another business. In general, infrastructure-as-a-service customers pay on a usage basis, typically by the hour, week or month. Some IaaS providers also charge customers based on the amount of virtual machine space they use. The pay-as-you-go model reduces the capital expenses of in-house hardware and software. Customers can quickly scale services up or down, on demand, paying only for what they use. Thus, IaaS is ideal for workloads that are temporary, experimental or in development. For example, if a business is developing a new software product, it might be more cost-effective to host and test the application using an IaaS provider. Once the new software is tested and refined, the business can remove it from the IaaS environment and deploy it on site.
Containers-as-a-Service (CaaS) is a subset of IaaS that provides a platform for container-based applications.