Cloud computing has commonly been referred to as a “stack” because it typically encompasses many different types of services which have been built on top of each other under a “cloud”. Cloud computing has been defined by the NIST (National Institute of Standards and Technology) as a model that enables on-demand access to a shared resource pool consisting of servers, networks, applications, services and storage which can be rapidly deployed with minimal management efforts. There are three different types of cloud computing services namely Platform as a Service or PaaS, Software as a Service or SaaS and Infrastructure as a Service or IaaS.

              

Users can make use of bulk resources which can be obtained quickly whenever there are demands. NIST has also stated some features as being essential for services to be regarded as cloud hosting services:

On-demand services that end users can sign up for and obtain without delays.
Wide network access because users can access such services through multiple platforms like laptops, desktops and mobiles.
Measured services because users will pay according to what they use; so, billing is offered as a utility service.
Elasticity and scalability to cope with increases in demand.

The SaaS applications have been designed for end users and they are offered across the Internet. The PaaS refers to sets of tools or services designed for coding and implementing the applications efficiently. IaaS refers to the software and hardware which powers it, such as, servers, networks, storage, and operating system.

What is SaaS?

Software as a Service or SaaS is software deployed over the web and a SaaS application can be licensed by a vendor to clients as on-demand service. This is made possible through subscription according to a pay-as-you-use model or free of cost where there are chances of generating revenues from channels like advertisements. SaaS offers internet access to commercial software and it managed from a central point. It is software that is offered through a “one-to-many” model and users do not have to be worried about patches and software upgrades. When businesses want to shift their operations to the cloud, they need to understand which applications should be shifted. For instance:

“Vanilla” offerings wherein solutions are largely undifferentiated; for example, emails where competitors often use the same software as this basic technology is needed to conduct business but does not on its own provide a competitive advantage.
Applications which demand Internet access like sales management software.
Applications which involve interplay between the outside world and an organization like software for an email newsletter campaign.
Software which sees frequent demand spikes like tax software or billing software
Software which is needed for a short term like collaboration software for some project.

SaaS should not be deployed for applications which need fast processing of real-time data or for applications where laws do not allow the data to be hosted externally or applications having an on-site solution that can cater to all organizational requirements.

What is PaaS?

PaaS refers to a computing model which allows for the fast and easy creation of applications without buying or maintaining software and infrastructure for them. Unlike SaaS which is software delivered across the web, PaaS is the platform for creation of such software. It refers to:

Services which develop, test, implement and maintain applications in an integrated development setting.
Web-based interface creation tools for creating, altering, testing and deploying different user interfaces.
Tools for handling billing
Built-in scalability of software that includes failover and load balancing
Integration with databases and web services through common standards
Multitenant architecture where multiple users are using the same applications.
Supporting development team collaborations; some PaaS solutions have project planning tools.

PaaS is mainly used when many developers are working on one project and when outside parties have to communicate with development processes. It is useful for those that have existing data sources and are keen to build applications for leveraging that data. PaaS should not be sued where the application must be portable, or when proprietary languages can affect the development, or when application performance demands hardware and software customization etc.

What is IaaS?

Infrastructure as a service or IaaS refers to cloud computing infrastructure in terms of servers and storage, operating systems and network. Instead of buying these, the client will buy the resources as an on-demand service. The public cloud refers to infrastructure which comprises shared resources that are deployed on self-service basis across the Internet, while private cloud refers to infrastructure which offers resources through a private network. Some providers even offer a combination of both these networks to produce a hybrid cloud. In IaaS, resources get distributed as services and it allows dynamic scaling. IaaS has variable costs because it follows a utility pricing model.

You can use the IaaS when demands are changing, or for new businesses which do not have much capital for investing in hardware, or when an organization is growing very fast and scaling the hardware is challenging. IaaS is also beneficial when organizations face pressures to reduce capital costs and shift to operational costs and also for specific business needs or short-term infrastructure needs. IaaS should not be used where data storage outsourcing can become difficult with regulatory compliance or where on-site infrastructure can cater to an organization’s needs.

Interesting Topic To Read

Platform as a Service