Infrastructure as a Service (IaaS) provides customers with tools and an environment on which they can remotely provision processing, storage, networks, and other fundamental computing resources, and deploy arbitrary software, including an operating systems, middleware and applications. In other words, IaaS exposes a virtualization layer and an interface to manage the creation of virtual machines or containers and run them.
Customers do not control the underlying hardware infrastructure; the infrastructure is owned and hosted by a service provider and offered to customers on-demand.