Cloud Service Models
There are the following three types of cloud service models -
1. Infrastructure as a Service (IaaS)
2. Platform as a Service (PaaS)
3. Software as a Service (SaaS)
Infrastructure as a Service (IaaS)
IaaS is also known as Hardware as a Service (HaaS). It is a computing
infrastructure managed over the internet. The main advantage of using IaaS is that it helps users
to avoid the cost and complexity of purchasing and managing the physical servers.
Characteristics of IaaS
There are the following characteristics of IaaS -
o Resources are available as a service
o Services are highly scalable
o Dynamic and flexible
o GUI and API-based access
o Automated administrative tasks
Platform as a Service (PaaS)
PaaS cloud computing platform is created for the programmer to develop, test, run, and manage
the applications.
Characteristics of PaaS
There are the following characteristics of PaaS -
o Accessible to various users via the same development application.
o Integrates with web services and databases.
o Builds on virtualization technology, so resources can easily be scaled up or down as per
the organization's need.
o Support multiple languages and frameworks.
o Provides an ability to "Auto-scale".
Software as a Service (SaaS)
SaaS is also known as "on-demand software". It is a software in which
the applications are hosted by a cloud service provider. Users can access these applications
with the help of internet connection and web browser.
Characteristics of SaaS
There are the following characteristics of SaaS -
o Managed from a central location
o Hosted on a remote server
o Accessible over the internet
o Users are not responsible for hardware and software updates. Updates are applied
automatically.
o The services are purchased on the pay-as-per-use basis
Difference between IaaS, PaaS, and SaaS
The below table shows the difference between IaaS, PaaS, and SaaS –
IaaS Paas SaaS
It provides a virtual data center It provides virtual platforms and It provides web software and
to store information and create tools to create, test, and deploy apps to complete business
platforms for app apps. tasks.
development, testing, and
deployment.
It provides access to resources It provides runtime It provides software as a
such as virtual machines, virtual environments and deployment service to the end-users.
storage, etc. tools for applications.
It is used by network architects. It is used by developers. It is used by end users.
IaaS provides only PaaS provides SaaS provides
Infrastructure. Infrastructure+Platform. Infrastructure+Platform
+Software.
Infrastructure as a Service | IaaS
Iaas is also known as Hardware as a Service (HaaS). It is one of the layers of
the cloud computing platform. It allows customers to outsource their IT infrastructures such as
servers, networking, processing, storage, virtual machines, and other resources. Customers
access these resources on the Internet using a pay-as-per use model.
In traditional hosting services, IT infrastructure was rented out for a specific period of time,
with pre-determined hardware configuration. The client paid for the configuration and time,
regardless of the actual use. With the help of the IaaS cloud computing platform layer, clients
can dynamically scale the configuration to meet changing requirements and are billed only for
the services actually used.
IaaS cloud computing platform layer eliminates the need for every organization to maintain the
IT infrastructure.
IaaS is offered in three models: public, private, and hybrid cloud. The private cloud implies
that the infrastructure resides at the customer-premise. In the case of public cloud, it is located
at the cloud computing platform vendor's data center, and the hybrid cloud is a combination of
the two in which the customer selects the best of both public cloud or private cloud.
IaaS provider provides the following services -
1. Compute: Computing as a Service includes virtual central processing units and virtual
main memory for the Vms that is provisioned to the end- users.
2. Storage: IaaS provider provides back-end storage for storing files.
3. Network: Network as a Service (NaaS) provides networking components such as
routers, switches, and bridges for the Vms.
4. Load balancers: It provides load balancing capability at the infrastructure layer.
Advantages of IaaS cloud computing layer
There are the following advantages of IaaS computing layer -HTML Tutorial
1. Shared infrastructure
IaaS allows multiple users to share the same physical infrastructure.
2. Web access to the resources
Iaas allows IT users to access resources over the internet.
3. Pay-as-per-use model
IaaS providers provide services based on the pay-as-per-use basis. The users are
required to pay for what they have used.
4. Focus on the core business
IaaS providers focus on the organization's core business rather than on IT infrastructure.
5. On-demand scalability
On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do
not worry about to upgrade software and troubleshoot the issues related to hardware
components.
Disadvantages of IaaS cloud computing layer
1. Security
Security is one of the biggest issues in IaaS. Most of the IaaS providers are not able to
provide 100% security.
2. Maintenance & Upgrade
Although IaaS service providers maintain the software, but they do not upgrade the
software for some organizations.
3. Interoperability issues
It is difficult to migrate VM from one IaaS provider to the other, so the customers
might face problem related to vendor lock-in.
Platform as a Service | PaaS
Platform as a Service (PaaS) provides a runtime environment. It allows
programmers to easily create, test, run, and deploy web applications. You can purchase these
applications from a cloud service provider on a pay-as-per use basis and access them using the
Internet connection. In PaaS, back end scalability is managed by the cloud service provider, so
end- users do not need to worry about managing the infrastructure.
PaaS includes infrastructure (servers, storage, and networking) and platform (middleware,
development tools, database management systems, business intelligence, and more) to support
the web application life cycle.
Example: Google App Engine, Force.com, Joyent, Azure.
PaaS providers provide the Programming languages, Application frameworks,
Databases, and Other tools:
1. Programming languages
PaaS providers provide various programming languages for the developers to develop
the applications. Some popular programming languages provided by PaaS providers
are Java, PHP, Ruby, Perl, and Go.
2. Application frameworks
PaaS providers provide application frameworks to easily understand the application
development. Some popular application frameworks provided by PaaS providers are
Node.js, Drupal, Joomla, WordPress, Spring, Play, Rack, and Zend.
3. Databases
PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB,
and Redis to communicate with the applications.
4. Other tools
PaaS providers provide various other tools that are required to develop, test, and
deploy the applications.
Advantages of PaaS
There are the following advantages of PaaS -
1) Simplified Development
PaaS allows developers to focus on development and innovation without worrying
about infrastructure management.
2) Lower risk
No need for up-front investment in hardware and software. Developers only need a
PC and an internet connection to start building applications.
3) Prebuilt business functionality
Some PaaS vendors also provide already defined business functionality so that users
can avoid building everything from very scratch and hence can directly start the
projects only.
4) Instant community
PaaS vendors frequently provide online communities where the developer can get the
ideas to share experiences and seek advice from others.
5) Scalability
Applications deployed can scale from one to thousands of users without any changes
to the applications.
Disadvantages of PaaS cloud computing layer
1) Vendor lock-in
One has to write the applications according to the platform provided by the PaaS
vendor, so the migration of an application to another PaaS vendor would be a problem.
2) Data Privacy
Corporate data, whether it can be critical or not, will be private, so if it is not located
within the walls of the company, there can be a risk in terms of privacy of data.
3) Integration with the rest of the systems applications
It may happen that some applications are local, and some are in the cloud. So there
will be chances of increased complexity when we want to use data which in the cloud
with the local data.
Software as a Service | SaaS
SaaS is also known as "On-Demand Software". It is a software
distribution model in which services are hosted by a cloud service provider. These services are
available to end-users over the internet so, the end-users do not need to install any software on
their devices to access these services.
There are the following services provided by SaaS providers -
Business Services - SaaS Provider provides various business services to start-up the business.
The SaaS business services include ERP (Enterprise Resource Planning), CRM (Customer
Relationship Management), billing, and sales.
Document Management - SaaS document management is a software application offered by a
third party (SaaS providers) to create, manage, and track electronic documents.
Example: Slack, Samepage, Box, and Zoho Forms.
Social Networks - As we all know, social networking sites are used by the general public, so
social networking service providers use SaaS for their convenience and handle the general
public's information.
Mail Services - To handle the unpredictable number of users and load on e-mail services, many
e-mail providers offering their services using SaaS.
Advantages of SaaS cloud computing layer
1) SaaS is easy to buy
SaaS pricing is based on a monthly fee or annual fee subscription, so it allows
organizations to access business functionality at a low cost, which is less than licensed
applications.
Unlike traditional software, which is sold as a licensed based with an up-front cost (and
often an optional ongoing support fee), SaaS providers are generally pricing the
applications using a subscription fee, most commonly a monthly or annually fee.
2. One to Many
SaaS services are offered as a one-to-many model means a single instance of the
application is shared by multiple users.
3. Less hardware required for SaaS
The software is hosted remotely, so organizations do not need to invest in additional hardware.
4. Low maintenance required for SaaS
Software as a service removes the need for installation, set-up, and daily maintenance
for the organizations. The initial set-up cost for SaaS is typically less than the enterprise
software. SaaS vendors are pricing their applications based on some usage parameters,
such as a number of users using the application. So SaaS does easy to monitor and
automatic updates.
5. No special software or hardware versions required
All users will have the same version of the software and typically access it through the
web browser. SaaS reduces IT support costs by outsourcing hardware and software
maintenance and support to the IaaS provider.
6. Multidevice support
SaaS services can be accessed from any device such as desktops, laptops, tablets,
phones, and thin clients.
7. API Integration
SaaS services easily integrate with other software or services through standard APIs.
8. No client-side installation
SaaS services are accessed directly from the service provider using the internet
connection, so do not need to require any software installation.
Disadvantages of SaaS cloud computing layer
1) Security
Actually, data is stored in the cloud, so security may be an issue for some users.
However, cloud computing is not more secure than in-house deployment.
2) Latency issue
Since data and applications are stored in the cloud at a variable distance from the end-
user, there is a possibility that there may be greater latency when interacting with the
application compared to local deployment. Therefore, the SaaS model is not suitable
for applications whose demand response time is in milliseconds.
3) Total Dependency on Internet
Without an internet connection, most SaaS applications are not usable.
4) Switching between SaaS vendors is difficult
Switching SaaS vendors involves the difficult and slow task of transferring the very
large data files over the internet and then converting and importing them into another
SaaS also.