What is Infrastructure as a Service?
Infrastructure as a Service (IaaS) is a business-to-business cloud computing solution where the IaaS vendor offers server hardware, virtualization, storage, and networking resources to its customers for a fee. All other software, database and applications are managed by the customer on top of the IaaS service. Typically, the IaaS vendor offers the service on a monthly or annual subscription basis or multi-year contractual agreement. Hence the term, Infrastructure as a Service.
In the IaaS model, the network is a shared resource for all customers, and compute/storage can either be shared, or dedicated.
IaaS is at the Bottom of the Cloud Computing Stack
Cloud computing is an internet-based computing model that enables ubiquitous, on-demand access to shared processing resources. This can include resources up and down the cloud computing stack (Figure 1). While databases and applications would be considered higher up the stack, server hardware, networking and virtualization software such as VMWare or OpenStack are considered lower down the stack.
This lower part of the cloud computing stack is where Infrastructure as a Service fits in. IaaS is simply a cloud service that gives customers the freedom to develop their own cloud applications and databases without all the challenges and expenses of designing, installing, and maintaining the infrastructure layers of the stack. It allows them to focus on adding value to their core business applications.
IaaS, PaaS, and SaaS: What’s the Difference?
As the cloud computing industry has matured, three cloud computing models have emerged: Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). But what’s the difference of each and how do they compare to each other, against a traditional IT environment? (Figure 2)
Infrastructure as a Service (IaaS)
As discussed earlier, IaaS provides only the fundamental building blocks for cloud application deployment. IaaS users are responsible for managing applications, runtimes, databases, and servers, while vendors still manage virtualization, hardware, storage, and networking. IaaS customers gain an infrastructure on which they can install any required platform and are responsible for making updates when new versions are released.
Platform as a Service (PaaS)
Platform as a Service (PaaS) is further down the cloud computing stack, but not by much. You can think of PaaS as an application development environment as a service. PaaS vendors control the underlying cloud infrastructure (including runtimes, databases, servers, virtualization, hardware, storage, and networking) and allow application developers to manage the configuration, development, testing and deployment of applications.
As a result, application developers can deploy their software solutions without the cost and complexity of buying and managing the underlying hardware and software layers. This increases developer productivity and utilization rates, while also decreasing an application’s time-to-market. Applications using PaaS inherit cloud characteristics such as scalability, high-availability, multi-tenancy, SaaS enablement, and more.
Software as a Service (SaaS)
Finally, Software as a Service (SaaS) represents the most well-known aspect of cloud computing services. As its name suggests, SaaS delivers specific software functionality to customers via the internet (typically). The classic (and perhaps original) example of a B2B SaaS company is Salesforce.com.
SaaS eliminates the need to install and run applications on individual computers, making it easier to deploy technology across the enterprise because the entire computing stack is managed by vendors. SaaS companies are software and application development and marketing companies. They usually don’t have the expertise or resources to deal with the underlying infrastructure. For this reason, SaaS providers are typically customers of PaaS and IaaS providers.
Benefits of IaaS
IaaS offers highly scalable resources that can be adjusted as a customer’s demand increases or decreases, providing organizations a more cost-effective “pay-as-you-use” model instead of owning and managing less scalable infrastructure. Essentially, IaaS enables organizations to rent an IT infrastructure from a service provider rather than purchasing the technology and hosting it internally. A typical IaaS offering can deliver the following benefits:
- Scalability–Resources are available as needed, so customers can expand or reduce capacity as their business requirements change.
- Flexibility–Customers can choose computing power and storage capacity that fits their specific needs at a given time, to capitalize on opportunities.
- Security–IaaS vendors employs tight security measures to ensure their customers’ infrastructures are protected from potential breaches.
- Reliability–IaaS offers a multitude of hardware resources and redundancy configurations, with no single point of failure, to keep customers online.
- Quick Startup–Customers can easily and more quickly get their computing environment up and running since the infrastructure is already in place.
- Latest Technology–IaaS vendors must stay leading-edge, offering more advanced technologies than what most organizations can afford and manage in-house.
- Web Access–Having a computing infrastructure in the cloud means customers can access their environment through an internet connection–anytime, from anywhere.
- Cost Optimization–In addition to no investment in hardware, storage, and networking, customers save the cost–and effort–associated with setup and maintenance.
- Increased Focus–With an IaaS vendor handling their computing infrastructure needs, customers can concentrate on their core business, and their IT organizations can focus on more strategic initiatives.
When Does IaaS Make Sense?
Factoring all of the benefits mentioned above, IaaS is an ideal cloud solution primarily for companies seeking to gain efficiencies, reduce risk, and maintain control while better managing costs. Another way to look at it: If IT is not part of your core business, it might make sense to outsource the management of your infrastructure.
It takes expertise to run complex computer systems, troubleshoot system malfunctions, and spend time provisioning new computing resources. An IaaS deployment eliminates those IT tasks so companies can focus on more strategic projects–and their core businesses.
Other situations that make sense for an IaaS deployment include:
- Organizations, particularly newer ones, that don’t have the capital to invest in hardware and/or the resources for ongoing support and maintenance.
- Rapidly growing companies where scaling hardware would be challenging and costly.
- Businesses seeking to move their IT to an operating expenditure (opex) model, versus capital expenditure (capex).
- Business–or traffic–fluctuations (e.g., during seasonal periods, trials, etc.), creating peaks and valleys in terms of infrastructure demands.
- Businesses looking to take advantage of cloud capabilities, but needing to do it with minimum re-tooling of their technologies or human skill sets.
- Companies looking to provide the cloud as a bridge for supporting their legacy technologies and new web scale services.
Shifting to a new IT environment in-house can be a challenging experience. With IaaS, you can move your existing environment directly to an IaaS provider’s and incrementally move servers and applications as needed. Not only is this often easier on the organization, but it also positions you to react faster to market changes and opportunities.