What Is Infrastructure as a Service (IaaS) in Cloud Computing?
Infrastructure as a Service (IaaS) is the most straightforward of the four models for delivering cloud services. IaaS is the virtual delivery of computing resources in the form of hardware, networking, and storage services. It may also include the delivery of operating systems and virtualization technology to manage the resources. Rather than buying and installing the required resources in their own data center, companies rent these resources as needed.
Many companies with a hybrid environment are likely to include IaaS in some form because IaaS is a highly practical solution for companies with various IT resource challenges. Whether a company needs additional resources to support a temporary development project, an on-going dedicated development testing environment, or disaster recovery, paying for infrastructure services on a per-use basis can be highly cost-effective.
To help you make sense of the IaaS delivery model, the following sections examine some of its key characteristics, including dynamic scaling, agreed-upon service levels, renting, licensing, metering, and self-service. All of these characteristics are the same in both public and private IaaS environments.
Some level of uncertainty always exists when planning for IT resources. One of the major benefits of IaaS for companies faced with this type of uncertainty is the fact that resources can be automatically scaled up or down based on the requirements of the application.
This important characteristic of IaaS is called dynamic scaling — if customers wind up needing more resources than expected, they can get them immediately (probably up to a given limit). A provider or creator of IaaS typically optimizes the environment so that the hardware, the operating system, and automation can support a huge number of workloads.
Consumers acquire IaaS services in different ways. Many consumers rent capacity based on an on-demand model with no contract. In other situations, the consumer signs a contract for a specific amount of storage or compute. A typical IaaS contract has some level of service guarantee. At the low end, a provider might simply state that the company will do its best to provide good service. If the consumers are willing to pay a premium price, they might get a mirrored service so that there are almost no change-of-service interruptions.
A typical service-level agreement states what the provider has agreed to deliver in terms of availability and response to demand. The service level might, for example, specify that the resources will be available 99.999% of the time and that more resources will be provided dynamically if greater than 80% of any given resource is being used.
The rental model
When companies use IaaS, it’s often said that the servers, storage, or other IT infrastructure components are rented for a fee based on the quantity of resources used and how long they’re in use. Although this is true, there are some important differences between this rental arrangement and the traditional rental models you may be familiar with.
For example, when you purchase server and storage resources using IaaS services, you gain immediate virtual access to the resources you need. You aren’t, however, renting the actual physical servers or other infrastructure. Don’t expect a big truck to pull up to your office and deliver the servers you need to complete your project. The physical components stay put in the infrastructure service provider’s data center. This concept of renting is an essential element of cloud computing, and it provides the foundation for the cost and scalability benefits of the various cloud models.
Within a private IaaS model, renting takes on a different focus. Although you might not charge each user to access a resource, in the charge-back model, you can allocate usage fees to an individual department based on usage over a week, month, or year. Because of the flexibility of the IaaS model, you can charge more of the budget to heavy users.
The use of public IaaS has led to innovation in licensing and payment models for software you want to run in these cloud environments. Note that this licensing is for the software you want to run in your cloud environment, not the license between you and the cloud provider. For example, some IaaS and software providers have created a “bring your own license” (BYOL) plan so you have a way to use your software license in both traditional and cloud environments.
Another option is called “pay as you go” (PAYG), which generally integrates the software licenses with the on-demand infrastructure services. For example, say that you’re running Microsoft Windows Server and using the PAYG route. If you’re paying ten cents an hour for cloud access, a few cents of that fee might be going to Microsoft.
Metering and costs
Clearly, you derive a potential economic benefit by controlling the amount of resources you demand and pay for so that you have just the right match with your requirements. To ensure that users are charged for the resources they request and use, IaaS providers need a consistent and predictable way to measure usage. This process is called metering.
Ideally, the IaaS provider will have a transparent process for identifying charges incurred by the user. With multiple users accessing resources from the same environment, the IaaS provider needs an accurate method for measuring the physical use of resources to make sure each customer is charged the right amount.
IaaS providers often use the metering process to charge users based on the instance of computing consumed. An instance is defined as the CPU power and the memory and storage space consumed in an hour. When an instance is initiated, hourly charges begin to accumulate until the instance is terminated. The charge for a very small instance may be as little as two cents an hour; the hourly fee could increase to $2.60 for a large resource-intensive instance running Windows.
Metering to assess the charges for the IaaS services you request begins when the instance is initiated and ends when the instance is terminated. At this point, the virtual machine provisioned for you is removed, and you no longer receive charges. Until this point, the charges apply whether the resources are fully used or are laying idle.
In addition to the basic per-instance charge, your IaaS provider may include charges such as the following (keep in mind that charges can change daily):
Storage: A per-gigabyte (GB) charge for the persistent storage of data of approximately $0.00015 an hour or $0.10 a month.
Data transfer: A per-GB charge for data transfers of approximately $0.15. This fee may drop to $0.05 per GB if you move large amounts of data during the billing month. Some providers offer free inbound data transfers or free transfers between separate instances on the same provider.
Optional services: Charges for services such as reserved IP addresses, virtual private network (VPN), advanced monitoring capabilities, or support services.
Because of the variety of costs, many cloud providers offer cost calculators so organizations can estimate their monthly IaaS costs. Here are the typical billing options:
Pay as you go: Users are billed for resources used based on instance pricing.
Reserved pricing: Users are billed an upfront fee, depending on the instance type, and then billed at a discounted hourly usage rate. For some companies, this provides the best rates.
Trial use: Some IaaS providers, such as Amazon, offer free usage tiers that allow users to “try before they buy.”
You can’t discuss the key characteristics of IaaS without understanding the imperative of self-service. The banking ATM service is a great example of the business value of self service. Without the availability of the self-service ATM, banks would be required to use costly resources to manage activities of all their customers — even for the most repetitive tasks. With an ATM, repetitive tasks can be handled easily with a self-service interface. The customer makes a direct request to perform routine transactions that conform to predefined business rules.
Many organizations that leverage IaaS opt for a hybrid approach — using private services in combination with public IaaS services. This approach is attractive because a company can leverage its private cloud resources but use trusted public cloud services to manage peak loads. When used in a controlled way, this hybrid approach is effective. Control means that a company establishes rules for when and how business units can use an outside cloud service; thus, the company is better able to control costs. In addition, by implementing distinct usage rules, users can be prevented from storing sensitive data on a public cloud.