What is Infrastructure as a Service?

One of the challenges in talking about cloud computing is that many of the people working in the field and vendors are working on one piece of the cloud computing puzzle but tend to discuss it as if their piece is the only piece. This is why the terms Software as a Service, Infrastructure as a Service and so on are more useful. They tend to focus the discussion on the part you are interested in. Where Software as a Service (SaaS) is typically about providing applications and services that support them, Infrastructure as a Service (IaaS) refers to companies that provide all an organization's physical networking needs - storage, hardware, servers and networking components - as a service so that they are owned, managed and operated by a third party, almost always at a remote location. The organization then either rents them based on a monthly fee or more often on a per use basis.

If a company wants to operate a complex web application - even one that it built itself - it needs a structured and tailored platform on which to run it. The options are to buy the equipment and maintain it in house or to have somebody else do it. The simplest examples of IaaS are colocation services where servers are located in a special datacenter facility. They can be owned by the organization or just rented from the provider. But it can get as complex as just specific pieces of a computing need being supplied by the provider. Examples include some of Amazon's AWS cloud services where organizations can just buy storage or compute cycles or anything up to a full blown and fully scalable environment.

The typical services offered by an IaaS vendor are servers, virtualization of hardware, storage, load-balancing, networking and some physical security like firewalls or port security. Although these services are sometimes offered as physical machines – in the older and more traditional colocation model – they are more often supplied as virtual machines where the vendor supplies the amount of computer hardware, storage, networking, etc. needed by the customer at any moment in time.

This works because the vendors are typically running large banks of equipment in data centers that is virtualized and designed to be shared. In addition the system monitors requirements from each customer and scales the amount allocated to them based on demand. If customer A suddenly has a jump in demand due to a very large weekly report being run on its sales data, then the system allocates it more compute and storage space in the system, whereas if customer B suddenly gets a big wave of end users to its website then it gets increased bandwidth on the networking side.

The huge benefit for  a business in making use of IaaS is in management and maintenance savings. Since the IaaS vendor is supplying many customers they can get benefits from scale and keep the costs of management and maintenance amortized across all their customers. This means that the user of IaaS services has a much lower management and maintenance cost rolled into their overall fee.

The second big benefit is in scale. If your business should be so lucky as to get a huge boost in traffic and customers then it needs to be able to meet that increased demand instantly. To do that with in house systems would mean having a significant set of backup systems live and ready to add at any time but have them remain idle for most of the time. That isn’t a cost-effective model for anyone.

Iaas services are typically supplied on what is called a utility computing model – you pay for them like you pay for utilities – based on the amount you use. There is usually a base fee that covers the system remaining live for the customer and to cover the management and maintenance overhead as well as service, support and so forth. This does have the disadvantage that predicting cost is not always as easy as a business would like it to be but it also means that you don’t pay for things you don’t use.

How an organization then makes use of the IaaS services it has contracted for varies widely. Many organizations then add operating system and application software on top for themselves and make no or minimal additional use of other cloud computing solutions like SaaS. But others further contract with either the same vendor or an additional vendor to add Software as a Service (SaaS) solutions on top of their IaaS solution. Either model is perfectly realistic depending on the level of control needed by the organization in terms of its software usage. In addition there are Platform as a Service providers that provide IaaS along with some set of SaaS services that make a platform for common usage scenarios like web hosting and ecommerce.

The main vendors in the IaaS space include Amazon with its AWS services, IBM, Nimbus, Rackspace and a host of colocation service providers.