Published: April 18 2024
Contributors: Stephanie Susnjara, Ian Smalley
Infrastructure as a service (IaaS) is a form of cloud computing that delivers fundamental IT infrastructure resources like compute, servers, virtual machines, network and storage to consumers, over the internet and on a pay-as-you-go basis.
IaaS enables users to scale resources on an as-needed basis, especially in "spiky" workloads, reducing the need for high, up-front capital expenditures and the complexity that comes with buying, setting up and maintaining on-premises infrastructure.
IaaS emerged as a computing model beginning with the launch of Amazon Compute Cloud (EC2) in 2006, which enabled businesses to access virtualized computing resources. Since then, IaaS became the standard abstraction model for many types of workloads. With an IaaS model, a cloud service provider (CSP)—for example, Amazon Web Services (AWS). Google Cloud, Microsoft Azure, IBM Cloud®, Oracle Cloud—maintains and manages physical infrastructure components (servers, patching, networking hardware). At the same time, an organization remains in control of installing, configuring and managing their software applications.
IaaS offers a wide range of business benefits, including flexibility, cost-efficiency, reliability and scalability. The IaaS market is also predicted to grow rapidly in the next few years (link resides outside ibm.com), reaching USD 562.53 billion by 2031 at a compound annual growth rate (CAGR) of 33.50% from 2024 to 2031.
In the following video, Bradley Knapp breaks down the basics of IaaS:
Connect and integrate your systems to prepare your infrastructure for AI.
Subscribe to the IBM Newsletter
IaaS comprises a collection of physical and virtualized resources that provide consumers with the basic building blocks that are needed to run applications and workloads in the cloud.
IaaS providers manage large global data centers that contain the physical servers that are needed to power the various layers of abstraction on top of them, which are made available to users over the internet.
IaaS relies on virtualized compute resources (for example, compute, network, storage) made available as virtual machines (VMs), the fundamental units of compute in cloud computing.
The process of virtualization makes it possible to create multiple virtual machines—each with its own operating system (OS) and applications—on a single physical machine. This enables dozens of applications and workloads to run and scale successfully. The cloud service provider manages the hypervisors, also known as a virtual machine monitors (VMMs), that logically separate virtual machines (VMs) from each other, assigning each its own slice of the underlying computing power, memory and storage. Users can then provision virtual "instances" with wanted amounts of compute, memory and storage.
Deploying virtual machines and other virtualized infrastructure relies heavily on the creation and implementation of automated processes and software in place of time-consuming manual activities. Automating infrastructure management simplifies tasks like configuration management, deployment and provisioning. Depending on business needs, IaaS can be paired with automated services and upgrades like autoscaling, load balancing, backup and recovery and performance monitoring to help optimize application availability and deliver a positive end-user experience.
IaaS providers provide cloud security and compliance frameworks through a shared responsibility model. In essence, the cloud service provider manages the physical security of data centers (cameras, security staff) and underlying infrastructure (compute, storage, physical network). At the same time, the cloud customer is responsible for securing their workloads, applications and data. The cloud service provider provides the customer with the ability to encrypt virtual machines and other methods to protect client data and reduce the risk of cyberattacks.
IaaS includes support for containerization, the packaging of software code with just the operating system (OS) libraries and dependencies that are required to run the code to create a single lightweight executable—a container—that runs consistently on any infrastructure. More portable and resource-efficient than virtual machines, containers became the de facto compute units of modern cloud-native applications.
In many instances, containers replaced VMs as the standard unit of process or service deployment. Container orchestration tools like Kubernetes automate the deployment, scaling and management of containerized applications. IaaS models provide the underlying resources to scale Kubernetes and containerized applications up or down as dictated by business needs.
Compute resources include central processing units (CPU) for processing web requests and running applications and graphical processing units (GPU) that handle workloads and internal memory (RAM).
IaaS relies on software-defined networking (SDN), in which networking hardware (for example, routers, switches, firewalls and load balancers) is made available through application programming interfaces (APIs). IaaS models virtualize the networking functions of this hardware, and clients can access IaaS services from anywhere over the public internet or by using a virtual private network (VPN).
IaaS offers three types of cloud storage:
The IaaS model represents general-purpose compute resources and is thus capable of supporting use cases of all types.
The phrase "as a service" typically refers to a cloud computing service where a cloud vendor manages services for an organization. Along with platform as a service (PaaS) and software as a service (SaaS), IaaS is among the top three most popular cloud service models. These cloud computing service categories are not mutually exclusive. Most enterprises use more than one, and most large enterprises use all three managed cloud services as part of their cloud stack offered by cloud service providers.
IaaS, PaaS and SaaS rely on multi-tenant resources—a single physical computer or VM is shared among multiple users or client organizations. Cloud service providers typically offer multi-tenant hosting solutions as a lower-cost alternative to single-tenant or dedicated hosting solutions.
In a traditional IT setting, the user is responsible for managing the whole stack end-to-end, from the physical hardware for servers and networking resources up through virtualization, operating systems, middleware and so on. IaaS, PaaS and SaaS each offer a progressive abstraction layer after that.
As discussed above, IaaS abstracts away the physical compute, network, data storage and the technology that is needed to virtualize those resources. Platform as a service (PaaS) goes a step further and abstracts away the management of the operating system, middleware and runtime. PaaS provides customers a complete cloud platform—hardware, software and infrastructure—for developing, running and managing applications without the cost, complexity and inflexibility that often comes with building and maintaining that platform in an on-premises data center.
Red Hat® OpenShift® is a popular PaaS built around Docker containers and Kubernetes.
Software as a service (SaaS) is application software that is hosted in the cloud, and it serves as the primary delivery model for most commercial software today. Popular SaaS business solutions include customer relationship management (CRM), enterprise resource planning (ERP), project management software and more.
Learn more about the differences between IaaS, PaaS and SaaS
While IaaS abstracts away many low-level components so developers can focus on business logic differentiating the business, it still requires users to manage operating systems, middleware and runtimes. As an application development and execution model, serverless (link resides outside ibm.com) offers an advantage by enabling developers to build and run application code without provisioning or managing servers or backend infrastructure.
The most common use case of serverless today is supporting microservices (also called microservices architecture), which focuses on creating small services that do a single job and communicate with one another using APIs. Microservices are a key part of DevOps processes and development tools, which serverless supports as developers don't need to spend time defining the infrastructure required to integrate, test, deliver and deploy code builds into production.
Bare metal servers are a form of single-tenant cloud service in which the user rents a physical machine from a provider that is not shared with any other tenants. Organizations looking for cloud computing infrastructure with the security and performance of dedicated hardware and the experience—particularly around the provisioning, billing and management of cloud services—often turn to bare metal as a service (BMaaS).
Unlike traditional IaaS, BMaaS does not provide users with already virtualized compute, network and storage; instead, it gives direct access to the underlying hardware. This level of access offers users almost total control of their hardware specs. Given that the hardware is not virtualized and doesn't support multiple virtual machines, it also offers users the greatest potential performance. This feature is of significant value for use cases like HPC and GPU computing, high-performance databases, analytics workloads and more.
However, these advantages can also come at the expense of the benefits of traditional IaaS, namely the ability to rapidly provision and horizontally scale resources by simply making copies of instances and load balancing across them. Regarding BMaaS versus IaaS, one model is not superior to the other—it's all about which model best supports the specific use case or workload.
For many users, particularly companies with sensitive data or strict compliance requirements (for example, Fintech, healthcare), extra security and privacy within a public cloud are desirable. A virtual private cloud (VPC) can create more isolation of cloud infrastructure resources without sacrificing speed, scale or functions.
A VPC is hosted on a multi-tenant public cloud architecture, yet each customer's data and workloads are logically separate from all other tenants to create a “private cloud-like“ setting. This feature gives users control over multiple facets (for example, virtual firewalls, security groups, load balancing).
As with all public cloud services, IaaS requires a service level agreement (SLA)—a contract between a cloud service provider and client that outlines what services the vendor will provide, the level of performance to be expected, how performance is measured, and what happens if performance levels are not met.
IaaS is priced on a consumption basis, meaning users are only charged for what they use. Other pricing methods include the following:
Some of the top advantages of IaaS include the following.
Unlike traditional IT, IaaS does not require any upfront capital expenditures, and users are only billed for what they use.
With IaaS, users can provision small or vast amounts of resources in minutes, testing new ideas quickly or scaling proven ones even quicker.
Through things like multizone regions, the availability and resiliency of cloud applications can exceed traditional approaches.
With seemingly limitless capacity and the ability to scale resources automatically or with some supervision, it's simple to go from one instance of an application or workload to many.
Given the broad geographic footprint of most IaaS providers, it's easy to bring apps and services closer to users, reducing latency and improving performance.
Find the cloud infrastructure solution for your business needs.
Modernize VMware workloads with the most secure, seamless and flexible cloud.
Get maximum performance and secure single tenancy from a dedicated server with root-level access to all server resources for easier workload customization.
IBM Cloud Virtual Servers are public and dedicated virtual servers that provision and scale on demand, with monthly and hourly billing options.
Cloud storage services comprise scalable, durable, security-rich, cost-effective networks of connected data servers that enable access to data across devices.
A virtual machine is a virtual representation, or emulation, of a physical computer. Virtualization makes it possible to create multiple virtual machines on a single physical computer.
Cloud storage allows customers to save data and files in an off-site location accessible via the public internet or a dedicated private network connection.
SDN simplifies network and infrastructure management by decoupling network control logic from network devices.
Platform as a service (PaaS) is a cloud computing model that provides customers a complete cloud platform—hardware, software and infrastructure—for developing, running and managing applications without the cost, complexity and inflexibility that often comes with building and maintaining that platform on premises.
Software as a service (SaaS) is application software hosted on the cloud and used over an internet connection by way of a web browser, mobile app or thin client.
IaaS, PaaS and SaaS are the three most popular types of cloud service offerings. They are sometimes referred to as cloud service models or cloud computing service models.