What exactly is IaaS?
IaaS or Infrastructure as a Service is one of the three types of cloud computing services available. In some ways, it can be considered as the first step into cloud computing, in the sense that, compared to PaaS or SaaS, you’ll still be controlling most of the tasks. Basically you get nothing but raw computing power, and you can decide the operating system, middleware, and everything else, while everything from server management to virtualization will be done by the provider. You don’t have to worry about the hardware or the maintenance, but at the same time, you use it the way you would use your on-premise hardware.
How it works
In Infrastructure as a Service, the entire hardware is owned and maintained by the provider. The provider also does the virtualization, but there ends their role.
The provider manages the servers, as well as the networking and the storage. Now the best part about this is that you don’t have to worry about costs associated with maintaining or replacing them as needed. Most cloud service providers also provide backup services, load balancing, and autoscaling. They have redundant systems in place to ensure that the system keeps running even in the case of a hardware failure. And through autoscaling, the computational resources required by your application is automatically scaled up or down, so as to manage cost without compromising performance. This is particularly relevant for the pay-as-you-go model offered by many IaaS providers.
Virtualisation and hypervisor are two terms that you’ll come across when you are searching about IaaS. Virtualisation is the process by which the computational resources of a single machine is divided to run multiple operating systems and applications on it. It’s one of the most common techniques used to save hardware and energy costs by cloud providers. And it is exactly what it sounds like. Basically, using software referred to as a hypervisor, many different machines(computer hardware) are emulated or virtual machines are created. Now different operating systems or applications can be run on these machines.
Up until this level, that is virtualisation, everything is done by the IaaS provider. On top of this you install whichever operating system you want, as well as middleware(the connecting link between the OS and the application), and the application.
If you’re familiar with cloud gaming, Shadow offers something very similar to IaaS. You basically get access to a virtual Windows 10 PC with a certain amount of storage and RAM, as well as a high-end processor, and a graphics card for a subscription, and you can install whatever games you want from Microsoft store or Steam. But in the case of IaaS, you can decide the OS, and the computing power, as well as storage, is very flexible and easily scalable depending on the needs. And as mentioned earlier, its pay-as-you-go. And you don’t use IaaS services for playing Fortnite.
Top IaaS providers
If you do a Google search for top IaaS providers, you’ll find a lot of articles and lists and in every one of them, you’ll find these four:
- Google’s Compute Engine
- IBM Cloud IaaS
- Amazon Web Services Elastic Compute Services or EC2
Now the best part about IaaS from these four is that they provide a whole host of cloud services, and you can integrate easily with them. For example, you can integrate the Compute Engine with AI and ML from Google Cloud.
Google compute engine even offers a Sole Tenant Node option, which are physical servers dedicated for your use. This is particularly useful to comply with security requirements. They also have live migration, so even during host maintenance, your applications can keep running.
Azure IaaS has a whole host of products from a virtual windows desktop application, to running Windows and Linux servers on Azure.
The specific features, as well as pricing of different IaaS providers, vary widely. But generally, they all have a pay-as-you-go model and offers a certain level of security. Of course, as you can imagine, longer commitments will get you lower pricing compared to a pay-as-you-go model.
And there are IaaS providers which are not mentioned here as well, so you won’t have to worry about finding a provider for your specific needs.
Advantages and disadvantages
The part about lower cost is pretty self-explanatory. You pay for what you use. Compared to an on-premise arrangement, you don’t have to spend huge amounts for setting up hardware that may or may not be used. It is easy to get exactly what you want for however duration you want. And there’s a ton of savings in the form of maintenance and replacement costs that will be incurred for an on-premise arrangement.
An IaaS model will need a lot less effort to manage. The provider will handle setting up the servers, the networking, and the storage, and allow you to direct your resources elsewhere.
Reliability is another advantage with IaaS systems. Most providers ensure that there are multiple redundancies in the event of a hardware failure. So your applications will work without any interruptions or data loss even in the case of a region-wide failure. Setting up such systems on-premise with redundancies for eventualities like that will cost a lot.
When you’re setting up an application in the cloud, it’s not easy to estimate how much users will be using it, or the resources the application may need. And there may also be sporadic spikes despite your best calculations. With IaaS, you can easily scale up your application, and even account for a sudden increase or decrease and pay for exactly that.
Originally published at https://blog.nuventure.in on July 7, 2020.