Infrastructure as a Service (IaaS) is the second most widely deployed version of cloud computing services, after Software as a Service, and with good reason. It is the form of cloud services IT shops from small to large have turned to rather than deploy their own on-premises solutions.
IaaS has changed enterprise IT by enabling companies to extend their IT infrastructure by renting, rather than buying, computing resources. For everything you need to know on choosing cloud providers for your business, read our comprehensive guide to cloud computing.
What is IaaS?
IaaS is the key cloud computing service that Amazon, Microsoft, Google, and IBM, among many others, offer to customers. Rather than going through the lengthy process of requesting and procuring servers, then configuring and deploying them and the ongoing cost of maintaining them, IT shops simply lease computing services.
The infrastructure they are leasing is computing with memory, storage, networking, and the basic operating environment, served up in a single or multi-tenant environment, scalable, elastic and you are charged as you go.
One thing to always remember with IaaS is that providers charge per use. There are no all-you-can-eat flat rates like with an Internet Service Provider. The more you use virtual machines and the more machines you use, the more your bill climbs. That’s why you have to remember to shut down the VM when you are done, and mind how much the app runs in the VM.
The most common use scenario for IaaS is to move an on premises app to the cloud and run it there. That way it no longer needs a spot in the data center. Here you need to be careful because while some apps can be shifted from on-premises to a cloud VM and run just fine, others might not run so well and require modification. Also, if the app has certain behaviors, like always running and never going idle, that might run up your bill and kill any potential savings of moving to the cloud.
IaaS is sometimes confused with Platform as a Service (PaaS), and the lines between the two are blurring more and more, said Sid Nag, research director in the technology and service providers division of Gartner.
“Platform as a Service generally has been developer tools, things like databases and other things that an app needs to run but also the developer environments that are costly to run and maintain on premises so instead are being maintained more in a services mode,” he said.
That’s the main differentiator between the two. IaaS is the basic environment. It’s where you would move an on-premises app and run it in the cloud rather than on-premises. PaaS is where you build whole new apps designed to live in the cloud because it provides you with the Java or .Net environment and database needed to build a whole new app.
But Nag said the two are becoming more and more blended, with PaaS showing up in IaaS services, so it’s becoming harder to distinguish as the industry evolves. “You can have IaaS and have your on-premises app in the cloud. All you need is infrastructure because the app doesn’t necessarily have to be served up as a service model,” he said.
The IaaS cloud model is central to cloud computing.
Benefits of IaaS
IaaS is what constitutes a virtual machine that you set up on Amazon AWS or Azure, and then shut down when you no longer need it. IaaS lets customers rent computing capacity when they need it and shut it down when they are not using it. This is much faster than deploying your own – minutes instead of weeks to set it up – and cheaper in the long run because you don’t have to maintain, power, and cool the hardware in your data center.
So the main points, in summation:
- Rent capacity when you need it, rather than buy your own
- Control costs by usage rather than ownership
- Expand capacity in minutes instead of waiting weeks for new servers to arrive
This makes IaaS ideal for short bursts of capacity, whether it’s seasonality, periodically, or during a deadline. You rent the capacity you need for the time you need it.
When to Use IaaS
There’s no single answer to this because it depends on each company’s environment and usage scenarios. No one wants to build out data centers, of course, that’s expensive. And many firms find their computing needs will grow and shrink over the course of a year. However, you can’t make your data center grow and shrink with those needs.
That said there are some clear use cases.
- Periodic, short-term bursts of use: Developers might need some excess capacity for testing a new application, or a department might need some extra compute power for a periodic or seasonal activity. IaaS is ideal for that.
- Regular high capacity situations: Instead of a one-off situation, perhaps a major process needs to be run every month. Again, this is an ideal time to rent some virtual machines and burn through the process.
When Not to Use IaaS
There are a lot of reasons not to move your on-premises apps to IaaS as well.
- You can’t move the apps to cloud: For whatever reason, be it data residency, compliance, mission critical status or you can’t find the source code, some apps need to stay on-premises. Those apps do not lend to IaaS.
- High-performance apps: Always remember that with a cloud provider, you pay per use, and the compute portion is the biggest part of the cost by a fair amount. If you have an app that needs to run at full capacity and maximum speed, you don’t want to move it to the cloud. The monthly bill will explode.
- Unpredictable usage: IaaS is good when you have predictable use. When you know an app will run for an hour or two and shut down. When you don’t know how long it will run, that adds uncertainty to the bill, something you don’t want.
The landscape of leading cloud companies shifts constantly.
Major IaaS Companies
Since IaaS is the major form of cloud services offered, the top players should be no surprise or revelation:
Amazon Web Services– Considered the leader in IaaS, offers the most complex set of services, software licenses, tools, and databases.
Microsoft Azure– Its primary strength is that it draws upon Microsoft’s on-premises software, such as Windows Server, SQL Server, Dynamics, SharePoint, and Office, and has created on-demand versions of them.
Google Cloud Platform– Its big advantages are competitive pricing compared with Amazon and Microsoft, Big Data analytics via its BigQuery service, and a strong Platform-as-a-Service via AppEngine for building online apps.
IBM Cloud– Its SoftLayer business offers IaaS, PaaS built on IBM tools and technology, and bare metal provisioning, meaning you get nothing but bare hardware and have to load your own OS, tools, and other apps. IBM’s focus is on analytics, AI, and Watson deep learning.
However there are other players worth considering:
HP Enterprise ConvergedSystem– After giving up with its Helion service, HP went all-in with Amazon and Microsoft instead, along with its own OpenStack cloud offerings for public, hybrid and private clouds. HP’s service is distinguished for its content delivery network (CDN) that moves data around geographically to keep it as close to the user as possible.
Oracle– Offers all three major forms of cloud computing: SaaS, IaaS and PaaS, since it has adopted a strategy similar to Microsoft in that it is moving its on-premises software to the cloud. It offers its database, Java developer tools, VMware-based services, Docker containers, or bare metal hardware provisioning if you want it.
Rackspace– After losing ground to Amazon and Microsoft, Rackspace pivoted to managed services, mostly around AWS and Azure. So it’s offering its expertise with the two most popular cloud providers, since neither offers a significant consulting service to help customers, especially Amazon. Also, Rackspace is the inventor of the OpenStack development environment, and is a major offering of the firm.
CenturyLink– In addition to its expertise in VMware deployment, CenturyLink offers its Cloud Application Manager, which helps seamlessly manage multiple cloud environments from a single dashboard. Many customers purchase cloud services from multiple providers, and with the Manager, you get a complete picture of the services you are consuming from a single interface.