With the explosive growth of Cloud infrastructures, there has been an exponential growth in the different types of cloud services being offered. In this blog, we’ll talk about three of the most common type of cloud services:
- Infrastructure-as-a-Service (IaaS)
- Platform-as-a-Service (PaaS)
- Software-as-a-Service (SaaS)
These funny-sounding acronyms are now multi-billion dollar industries, each growing at a rapid pace. So let’s look at each in some detail.
Table of Contents
Infrastructure as a Service
IaaS or Infrastructure-as-a-Service is basically Cloud infrastructure on demand. It is a cloud computing service offered by Cloud Service Providers like AWS, Azure, and Google Cloud.
The offerings can be optimized for memory, processing power, storage, or other computing resources. Here is a sample offering by AWS:
Since IaaS offerings are a pay-as-you-go model, it saves companies from investing heavily in IT infrastructure upfront. It also gives the flexibility to scale up or down as per the demand.
IaaS use cases
IaaS offering is very useful in many business use cases. Let’s have a look at three of them:
During any software development cycle, there is a need for many developments and testing VMs to be created and dismantled. The ability to create these environments with a few clicks speeds up the software cycle dramatically.
It also brings in a lot of newer innovations as it gets easier to get infrastructure. Teams find it easier to experiment with moonshot ideas as the availability of necessary infrastructure is no longer a bottleneck.
Backup is an essential part of the IT process for most companies. For some, it is also part of a regulatory framework. Cloud-based storage services help companies avoid huge capital costs just to keep backups.
Besides this, IaaS offers solutions that are optimized for storage. This also improves the efficiency of the systems. Furthermore, the remote storage in these data centers also helps mitigate natural disasters’ risks.
Not every company can afford to build their own super-computer like Facebook and Google. But all companies can rent infrastructure from Cloud Service providers to be able to perform complex computations on clusters.
This is extremely useful in scenarios involving Big Data Analysis or other high-performance computing like Weather Simulation or Financial modelling.
IaaS based setups have huge advantages over traditional data centres. Let’s have a look at some of them.
Quick scalability is a key advantage when it comes to Cloud infrastructure. IaaS based setups can be scaled up almost instantly to accommodate resource demand spikes.
Every Cloud Service provider also has different offerings optimized for maximum performance using minimum resources. Thus the companies also get to optimize their resources as per their needs.
With dedicated teams and resources, Cloud providers are able to provide best-in-class security to their infrastructure. This would otherwise be very difficult to achieve for any company.
Easy availability of infrastructure leads to faster experiments and innovations. Development teams are able to try out new features without depending on the Admin and Infra team to commission them some resources from company infrastructure.
Cloud providers are responsible for the upkeep of their infrastructure. Most of them promise 99.9% of uptime. Software and hardware upgrades and maintenance are part of the charges paid by the tenants.
This increases the reliability of the IaaS over traditional data centres maintained by companies themselves.
Like all things in IT, IaaS has its own share of compromises. Let’s see some of them
With the ease of access and availability, comes the lack of control. As IaaS solutions take away the burden of managing hardware, it is also taking away the ability for us to control the hardware and its security policies to a large extent.
In most cases, the company can’t control how the data centre is managed by the Cloud Service provider. The data in the servers is managed by the Cloud provider. This lack of control in administration can be a cause of worry for many companies
Although extensive, the cloud provider has a list of offerings for the masses. Companies that wish to have a customized setup do not have many options unless they opt for the more expensive Private cloud setup.
Once the setup is complete and working with a vendor, it becomes extremely difficult to move to another vendor. This increases the risk of the vendor exploiting the situation. The cloud provider may increase the charges knowing that the cost of transfer to another vendor is too high for the company.
AWS, Azure and Google Cloud are the top IaaS providers in the world. AWS leads in the IaaS offering market, followed by Azure and Google Cloud. All Cloud service providers offer different kinds of solutions within IaaS. Here are the offering from Azure:
There is another Cloud service that is popular in the cloud space – PaaS. Let’s talk about it briefly.
Platform as a service (PaaS)
PaaS or Platform-as-a-Service builds on top of the IaaS model and takes the IaaS concept one step further. It allows us to focus on the applications and services we develop, and the cloud service provider typically manages everything else.
This means we can avoid all the expense and complexity of purchasing and managing software licenses, the middleware, development tools, business intelligence (BI) services, database management systems and more.
PaaS supports the entire web application lifecycle: Build, Test, Deploy, Manage and Update
PaaS use cases
There are multiple scenarios where using a PaaS is better than just using an IaaS.
Most large companies face a situation where there are a ton of legacy applications they are trying to phase out and some new applications they want to move to. The cost of transition and the effort required to maintain the legacy applications quickly add up, raising the operational costs massively.
With PaaS, the responsibility of upgrading to newer applications falls on the Cloud Service Provider. This helps the companies focus on their products and add new features.
Freedom from maintaining middleware, databases and other software, help companies focus on developing more product features. This massively spurs innovation.
A high-level architecture of a sample application using Google App Engine would look as follows:
Other major players in the PaaS market are RedHat OpenShift, SalesForce Heroku, Cloud Foundry and Azure App Service. Of these, Cloud Foundry is an Open-Source PaaS platform. Each PaaS platform will support a bunch of popular languages so that developers can write code in the language of their choice.
PaaS is an excellent choice for agile teams who want to quickly develop an app and test it out in the market.
No software maintenance and upgrades. No dealing with multiple licenses. It is a developer’s dream come true from an ease-of-use perspective. They only have to deal with the expenses that the Cloud Service Provider quote.
Most companies do not utilise the entire quota of features in any enterprise software. Also, many licenses are charged on an annual basis. This can quickly increase the expenses for a company. A PaaS offering can help cut down these costs drastically.
With all control given to the PaaS provider, the development team is left to work with only their application. Many development teams feel that this limits their creativity and scope of experimentation.
With standardised offerings, PaaS platforms mostly limit the number of customizations a developer can do. This means if a developer wants a custom-built setup, they either have to use an IaaS platform and set up everything from scratch, or they just accept the PaaS offering and work with what they have.
Let’s now look at another popular cloud service in the market – SaaS.
Software as a service (SaaS)
SaaS or Software-as-a-Service is basically Web-hosted on-demand software. Think Gmail, Facebook etc. All these applications are accessed and used via the Internet. For some of them, like say Netflix, Zendesk or Salesforce, we may pay some subscription fees like.
In a SaaS model, the user doesn’t need to install or maintain the software. They simply access it via the Internet. The SaaS platform provider takes care of complex software and hardware management. The provider manages the access, security, and performance of the application.
SaaS use cases
SaaS is essentially software on the cloud that is available for users to use. Many companies use a SaaS model esp. for their employees when they quickly need to set up processes and workflows.
For eg., a company wanting to set up a customer support process may buy a subscription to Zendesk. That will instantly help them start working on process workflows instead of buying hardware and installing a ticketing system on their premises.
Another example can be of a company wanting an invoicing solution. An online subscription to Zoho Books or Freshbooks can quickly set it up for them.
SaaS has an extensive variety of use cases since it can be used by any software that can be hosted on a cloud.
A SaaS platform has many advantages:
We get almost immediate access to the software service. There is no installation or set-up time involved. When we compare that to a setup where an enterprise software is purchased and installed on-premise, SaaS-based applications are incredibly fast.
The SaaS model works on subscriptions. It is typically based on usage or no. of users or no. of features we need. This is almost always more economical than buying a software license and setting it up on our servers.
On top of this, there are no additional maintenance or upkeep charges. This can be huge savings for any company.
In theory, a SaaS model is infinitely scalable. As long as the provider is able to handle the requests, the applications on it can serve infinite customers.
No enterprise software installed on company servers can claim this level of flexibility.
SaaS softwares are typically standardised for mass use, and thus, it may not comply with local data protection and other government regulations. This lack of compliance may cause issues for companies in highly regulated markets
Security practices and policies followed by SaaS companies are not always clear to their users. This means the company has to trust the SaaS provider for their data security and privacy
SaaS software performance depends on the infrastructure that the provider is using. More often than not, this is never fine-tuned for any vendor. The performance is often average out amongst all customers.
But despite disadvantages, a SaaS model is the most widely used cloud service in the world.
In summary, all three Cloud Services provide Virtualization of resources and machines. PaaS takes it a step further and manages the middleware and the OS. SaaS manages everything and just gives us an interface on any software to work with.
This difference can be summarized with a simple illustration below. Blue boxes are the ones we manage. Orange ones are the ones that the Cloud Service Provider like AWS or Azure manages.
This should help us get a clear idea about which cloud service offers what. Of the three services, SaaS is the largest market amounting to almost USD 140 Billion, followed by IaaS and PaaS. A McAfee report talks about this in detail.
Irrespective of the size, Cloud and Cloud Services has been growing at a rapid pace and will continue to grow for years to come. As Cloud and these services on it grow, the speed of innovation will grow even faster. These are truly exciting times for technology enthusiasts like us
You may like to visit my other blogs on Cloud Computing: