Infrastructure-as-a-Service (IaaS) is a model of cloud computing in which all the physical infrastructure needed to support a computing environment is provided by a third party.
In a typical IaaS offering, infrastructure components can be hand-picked according to load/usage requirements and implemented as-needed. Scaling is easy, since additional infrastructure can be added on-demand with the use of virtualization and/or self-service APIs for automation. IaaS users are typically charged on a pay-per-use basis depending on the CPU power, RAM size, and bandwidth or storage used.
The various infrastructural elements that make up an IaaS solution may include dedicated or virtualized server hardware (CPU / RAM / Hard Drives), operating system images, networking services (IP address allocation, firewalls, load balancers), backups and block storage, and other resources.
IaaS vs. PaaS
IaaS has the advantage over PaaS in that custom or specialized infrastructure is easy to build, but with the disadvantage of having to set up, manage, and maintain the infrastructure at the systems engineering, administration, and architecture levels.
IaaS Use Cases and Example Vendors
Common use cases for IaaS can involve anything from running a single VPS for personal cloud storage all the way up to provisioning a complete virtual data center for enterprise PaaS deployments.