What is Infrastructure as a Service (IaaS)
Infrastructure as a Service, abbreviated as IaaS, is a descriptive term for one type of cloud-based service offering. IaaS is one of three terms used to describe the most common cloud service offerings, the others being Platform as a Service (PaaS) and Software as a Service (SaaS). While references to many other “as a Service” models can be found, these additional categorizations are mostly finer-grained ways of describing different SaaS offerings (for example, Database as a Service, Data as a Service, or Caching as a Service)
As a group, these terms help differentiate the different ways in which responsibility can be divided up between a cloud service provider and a user. The primary distinction between these different service arrangements is how much of the total software and hardware stack is managed by the user vs. by the cloud provider. The chart below shows how responsibility is shared in each model.
The IaaS Service Model
Infrastructure as a Service is the smallest step up from running on-premises, and as a result this may in many cases be a customer’s first experience with moving to the cloud.
With an IaaS arrangement, the cloud provider provides hardware (servers and storage), networking, and virtualization. The customer is then responsible for all the software that runs in the virtualized environment, including middleware and applications. Depending on the cloud provider, the IaaS may include services such as backups, security, logging, and monitoring. Access to the environment will be much the same as with an on-premises deployment — users can log into the environment using SSH and install software or patches, run scripts, and generally do the same tasks as if you were administering a local system. By contrast, with a SaaS system you are unlikely to be able to log into the underlying system directly at all; and with PaaS you are likely to have an account with restricted capabilities.
Common Advantages of All Cloud Service Models
There are certain advantages that are common to all cloud-based service models. These are the agility and flexibility that comes from being able to bring additional hardware resources online on-demand, and to only pay for the resources consumed. This makes it easy to adapt to either regular seasonal demand spikes or unusual one-time or infrequent surges. With cloud deployments you can take advantage of the distributed resources of your cloud provider to place resources in the countries or regions that are consuming them, resulting in lower latency and better overall performance, as well as conforming with local regulations regarding cross-border data movement.
Advantages of IaaS
Billing for the IaaS is based on usage, which may be on a pay-as-you-go (PAYG) basis or a monthly or annual contract basis. Businesses frequently benefit from transitioning from the capital expenditure model of on-premises data centers to the expense model of a cloud arrangement. Because you still retain control over software installation, patching, etc., if your software stack is unusual or you have particular expertise in tuning and maintaining the solution, you can continue to exercise similar control as you would with an on-premises solution.
Disadvantages of IaaS
Because IaaS deployments are virtualized environments running on shared hardware, the “noisy neighbor” issue can arise – if other tenants hosted on the same physical server are consuming more than the anticipated resources (whether that is CPU, network, or memory), that could leave your applications starved for those same resources.
Because of the split between what you are responsible for and what the vendor is responsible for, you don’t offload as much of the day-to-day operations of a data center (patching, software updates) as you would with the other deployment models.
Sometimes you can be surprised by the bills; this can be the case if you allow auto-scaling to happen without guardrails in place and have unusually high demand, or in the case of hard-to-predict metrics. For example, you may have a better understanding of your storage and compute requirements than you do of your data transfer volumes, so that aspect of the bill might be higher than expected.
Examples of IaaS
Examples of Infrastructure as a Service providers include Rackspace (Rackspace Managed Cloud), AWS (EC2 instances, S3 Storage), and Google Cloud Platform (Google Compute Engine, Google Cloud Storage).