What is Infrastructure as a Service (IaaS)

According to the Internet Engineering Task Force (IETF), the most basic cloud-service model is that of providers offering computing infrastructure – virtual machines and other resources – as a service to subscribers. Infrastructure as a service (IaaS) refers to online services that abstract the user from the details of infrastructure like physical computing resources, location, data partitioning, scaling, security, backup etc. A hypervisor, such as Softlayer, runs the virtual machines as guests. Pools of hypervisors within the cloud operational system can support large numbers of virtual machines and the ability to scale services up and down according to customers' varying requirements. Linux containers run in isolated partitions of a single Linux kernel running directly on the physical hardware. Linux cgroups and namespaces are the underlying Linux kernel technologies used to isolate, secure and manage the containers. Containerization offers higher performance than virtualization, because there is no hypervisor overhead. Also, container capacity auto-scales dynamically with computing load, which eliminates the problem of over-provisioning and enables usage-based billing. IaaS clouds often offer additional resources such as a virtual-machine disk-image library, raw block storage, file or object storage, firewalls, load balancers, IP addresses, virtual local area networks (VLANs), and software bundles. IaaS-cloud providers supply these resources on-demand from their large pools of equipment installed in data centers. For wide-area connectivity, customers can use either the Internet or carrier clouds (dedicated virtual private networks).

Cloud Computing

To deploy their applications, cloud users install operating-system images and their application software on the cloud infrastructure. In this model, the cloud user patches and maintains the operating systems and the application software. Cloud providers typically bill IaaS services on a utility computing basis: cost reflects the amount of resources allocated and consumed.

Understanding the Cloud Computing Stack: SaaS, PaaS, IaaS)

Executive Summary

Cloud Computing is a broad term that describes a broad range of services. As with other significant developments in technology, many vendors have seized the term “Cloud” and are using it for products that sit outside of the common definition. In order to truly understand how the Cloud can be of value to an organization, it is first important to understand what the Cloud really is and its different components. Since the Cloud is a broad collection of services, organizations can choose where, when, and how they use Cloud Computing. In this report we will explain the different types of Cloud Computing services commonly referred to as Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) and give some examples and case studies to illustrate how they all work. We will also provide some guidance on situations where particular flavors of Cloud Computing are not the best option for an organization.

The Cloud Computing Stack

Cloud Computing is often described as a stack, as a response to the broad range of services built on top of one another under the moniker “Cloud”. The generally accepted definition of Cloud Computing comes from the National Institute of Standards and Technology (NIST). The NIST definition runs to several hundred words but essentially says that;

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

What this means in plain terms is the ability for end users to utilize parts of bulk resources and that these resources can be acquired quickly and easily.

NIST also offers up several characteristics that it sees as essential for a service to be considered “Cloud”. These characteristics include;

  • On-demand self-service. The ability for an end user to sign up and receive services without the long delays that have characterized traditional IT
  • Broad network access. Ability to access the service via standard platforms (desktop, laptop, mobile etc)
  • Resource pooling. Resources are pooled across multiple customers
  • Rapid elasticity. Capability can scale to cope with demand peaks
  • Measured Service. Billing is metered and delivered as a utility service

More than a semantic argument around categorization, we believe that in order to maximize the benefits that Cloud Computing brings, a solution needs to demonstrate these particular characteristics. This is especially true since in recent years there has been a move by traditional software vendors to market solutions as “Cloud Computing” which are generally accepted to not fall within the definition of true Cloud Computing, a practice known as “cloud-washing.”

The diagram below depicts the Cloud Computing stack – it shows three distinct categories within Cloud Computing: Software as a Service, Platform as a Service and Infrastructure as a Service.

Cloud Computing Stack

In this report we look at all three categories in detail however a very simplified way of differentiating these flavors of Cloud Computing is as follows;

  • SaaS applications are designed for end-users, delivered over the web
  • PaaS is the set of tools and services designed to make coding and deploying those applications quick and efficient
  • IaaS is the hardware and software that powers it all – servers, storage, networks, operating systems

To help understand how these 3 components are related, some have used a transportation analogy;

By itself, infrastructure isn’t useful - it just sits there waiting for someone to make it productive in solving a particular problem. Imagine the Interstate transportation system in the U.S. Even with all these roads built, they wouldn’t be useful without cars and trucks to transport people and goods. In this analogy, the roads are the infrastructure and the cars and trucks are the platform that sits on top of the infrastructure and transports the people and goods. These goods and people might be considered the software and information in the technical realm.

It is important to note that while for illustration purposes this whitepaper draws a clear distinction between SaaS, PaaS and IaaS, the differences between these categories of cloud computing, especially PaaS and IaaS, have blurred in recent months and will continue to do so. Nevertheless, with a general understanding of how these components interact with each other, we will turn our attention in more detail to the top layer of the stack, SaaS.

Infrastructure as a Service (IaaS) Continued

Infrastructure as a Service (IaaS) is a way of delivering Cloud Computing infrastructure – servers, storage, network and operating systems – as an on-demand service. Rather than purchasing servers, software, datacenter space or network equipment, clients instead buy those resources as a fully outsourced service on demand.

As we detailed in a previous whitepaper, within IaaS, there are some sub-categories that are worth noting. Generally IaaS can be obtained as public or private infrastructure or a combination of the two. “Public cloud” is considered infrastructure that consists of shared resources, deployed on a self-service basis over the Internet.

By contrast, “private cloud” is infrastructure that emulates some of Cloud Computing features, like virtualization, but does so on a private network. Additionally, some hosting providers are beginning to offer a combination of traditional dedicated hosting alongside public and/ or private cloud networks. This combination approach is generally called “Hybrid Cloud”.

Open Cloud Architecture

As with the two previous sections, SaaS and PaaS, IaaS is a rapidly developing field. That said there are some core characteristics which describe what IaaS is. IaaS is generally accepted to comply with the following;

  • Resources are distributed as a service
  • Allows for dynamic scaling
  • Has a variable cost, utility pricing model
  • Generally includes multiple users on a single piece of hardware

There are a plethora of IaaS providers out there from the largest Cloud players like Amazon Web Services and Rackspace to more boutique regional players.

As mentioned previously, the line between PaaS and IaaS is becoming more blurred as vendors introduce tools as part of IaaS that help with deployment including the ability to deploy multiple types of clouds.

Where IaaS Makes Sense

IaaS makes sense in a number of situations and these are closely related to the benefits that Cloud Computing bring. Situations that are particularly suitable for Cloud infrastructure include;
  • Where demand is very volatile – any time there are significant spikes and troughs in terms of demand on the infrastructure
  • For new organizations without the capital to invest in hardware
  • Where the organization is growing rapidly and scaling hardware would be problematic
  • Where there is pressure on the organization to limit capital expenditure and to move to operating expenditure
  • For specific line of business, trial or temporary infrastructural needs

All rights Reserved. İdea Teknoloji 2016