CC Unit-4
CC Unit-4
CC Unit-4
Cloud computing is a model that enables the end users to access the shared pool of resources such
as compute, network, storage, database, and application as an on-demand service without the need
to buy or own it. The services are provided and managed by the service provider, reducing the
management effort from the end user side
The essential characteristics of the cloud include on-demand self-service, broad network access,
resource pooling, rapid elasticity, and measured service. The National Institute of Standards and
Technology (NIST) defines three basic service models, namely, IaaS, PaaS, and SaaS,
1. IaaS: The ability given to the infrastructure architects to deploy or run any software on the
computing resources provided by the service provider. Here, the underlying infrastructures
such as compute, network, and storage are managed by the service provider.
The end users can access the services from their devices through web command line interface
(CLI) or application programming interfaces (APIs) provided by the service providers. Some of
the popular IaaS providers include Amazon Web Services (AWS), Google Compute Engine,
OpenStack, and Eucalyptus.
2. PaaS: The ability given to developers to develop and deploy an application on the
development platform provided by the service provider. Thus, the developers are exempted
from managing the development platform and underlying infrastructure.
The developers can access the development platform over the Internet through web CLI,
web user interface (UI), and integrated development environments (IDEs). Some of the
popular PaaS providers include Google App Engine, Force.com, Red Hat OpenShift,
Heroku, and Engine Yard.
3. SaaS: The ability given to the end users to access an application over the Internet that is
hosted and managed by the service provider. Thus, the end users are exempted from
managing or controlling an application, the development platform, and the underlying
infrastructure.
The different service models of cloud computing can be deployed and delivered through any one
of the cloud deployment models. The NIST defines four different types of cloud deployment
models, namely, public cloud, private cloud, community cloud, and hybrid cloud. The public cloud
is provided for the general public. The private cloud is used by an organization for its multiple
business units. The community cloud is for some group of organization with the same goals.
Infrastructure as a Service
IaaS changes the way that the compute, storage, and networking resources are consumed. In
traditional data centers, the computing power is consumed by having physical access to the
infrastructure.
IaaS changes the computing from a physical infrastructure to a virtual infrastructure. IaaS provides
virtual computing, storage, and network resources by abstracting the physical
resources.Technology virtualization is used to provide the virtual resources. All the
virtualresources are given to the virtual machines (VMs) that are configured by the service
provider.
A typical IaaS provider may provide the flowing services as shown in Figure 5.5:
1. Compute: Computing as a Service includes virtual central processing units (CPUs) and virtual
main memory for the VMs that are provisioned to the end users.
2. Storage: STaaS provides back-end storage for the VM images. Some of the IaaS providers
also provide the back end for storing files.
3. Network: Network as a Service (NaaS) provides virtual networking components such as
virtual router, switch, and bridge for the VMs.
4. Load balancers: Load Balancing as a Service may provide load balancing capability at the
infrastructure layer.
Characteristics of IaaS
IaaS providers offer virtual computing resources to the consumers on a pay-as-you-go basis. IaaS
contains the characteristics of cloud computing such as on-demand self-service, broad network
access, resource pooling, rapid elasticity, and measured service.
1. Web access to the resources: The IaaS model enables the IT users to access infrastructure
resources over the Internet.
2. Centralized management: Even though the physical resources are distributed, the
management will be from a single place. The resources distributed across different parts
can be controlled from any management console.
3. Elasticity and dynamic scaling: IaaS provides elastic services where the usage of resources
can be increased or decreased according to the requirements. The infrastructure need
depends on the load on the application.
4. Shared infrastructure: IaaS follows a one-to-many delivery model and allows multiple IT
users to share the same physical infrastructure. The different IT users will be given different
VMs.
5. Preconfigured VMs: IaaS providers offer preconfigured VMs with operating systems
(OSs), network configuration, etc. The IT users can select any kind of VMs of their choice.
The IT users are free to configure VMs from scratch.
6. Metered services: IaaS allows the IT users to rent the computing resources instead of
buying it. The services consumed by the IT user will be measured, and the users will be
charged by the IaaS providers based on the amount of usage.
5.2.2 Suitability of IaaS
IaaS reduces the total cost of ownership (TCO) and increases the return on investment (ROI) for
start-up companies that cannot invest more in buying infrastructure.
2. Reduced TCO:
IaaS providers allow the IT users to rent the computing resources, they need not buy
physical hardware for running their business. The IT users can rent the IT infrastructure
rather than buy it by spending large amount
3. Elastic resources
IaaS provides resources based on the current needs. IT users can scale up or scale down
the resources whenever they want. This dynamic scaling is done automatically using some
load balancers.
4. Better resource utilization
Resource utilization is the most important criteria to succeed in the IT business.
5. Supports Green IT:
In traditional IT infrastructure, dedicated servers are used for different business needs.
Since many servers are used, the power consumption will be high. This does not result in
Green IT.
Platform as a Service
PaaS changes the way that the software is developed and deployed. In traditional
application development, the application will be developed locally and will be hosted in
the central location.
Most of the applications developed by traditional development platforms result in a
licensing-based software, whereas PaaS changes the application development from local
machine to online. PaaS providers provide the development PaaS from the data center
PaaS allows the developers to develop their application online and also allows them to deploy
immediately on the same platform.
The PaaS providers also provide build tools, deployment tools, and software load balancers as a
service:
PaaS development platforms are different from the traditional application development
platforms.
1. All in one: Most of the PaaS providers offer services to develop, test, deploy, host, and
maintain applications in the same IDE
2. Web access to the development platform: A typical development platform uses any
IDEs for developing applications. Typically, the IDE will be installed in the
developer’s machines. But, PaaS provides web access to the development platform.
3. Offline access: A developer may not be able to connect to the Internet for a whole day
to access the PaaS services. When there is no Internet connectivity, the developers
should be allowed to work offline
4. Built-in scalability: Scalability is an important requirement for the new-generation web
or SaaS applications. But, PaaS services provide built-in scalability to an application
that is developed using any particular PaaS. This ensures that the application is capable
of handling varying loads efficiently.
5. Collaborative platform: Nowadays, the development team consists of developers who
are working from different places. Most of the PaaS services provide support for
collaborative development. To enable collaboration among developers, most of the
PaaS providers provide tools for project planning and communication.
6. Diverse client tools: To make the development easier, PaaS providers provide a wide
variety of client tools to help the developer. The client tools include CLI, web CLI, web
UI, REST API, and IDE.
Suitability of PaaS
Most of the start-up SaaS development companies and independent software vendors (ISVs)
widely use PaaS in developing an application.
Even though it is used widely, there are some situations where PaaS may not be the
best option:
1. Frequent application migration: The major problem with PaaS services are vendor lock-
in.
2. 2. Customization at the infrastructure level: PaaS is an abstracted service, and the PaaS
users do not have full control over the underlying infrastructure
3. 3. Flexibility at the platform level: PaaS provides template-based applications where all the
different programming languages, databases, and message queues are predefined.
4. 4. Integration with on-premise application: A company might have used PaaS services for
some set of applications.
The main advantage of using PaaS is that it hides the complexity of maintaining the
platform and underlying infrastructure.
1. Quick development and deployment:
PaaS provides all the required development and testing tools to develop, test, and
deploy the software in one place.
2. Reduces TCO: The developers need not buy licensed development and testing tools if
PaaS services are selected.
3. Supports agile software development: Nowadays, most of the new-generation
applications are developed using agile methodologies. Many ISVs and SaaS
development companies started adopting agile methodologies for application
development
4. Different teams can work together: The traditional development platform does not have
extensive support for collaborative development.
5. Ease of use: The traditional development platform uses any one of CLI- or IDE-based
interfaces for development. Some developers may not be familiar with the interfaces
provided by the application development platform.
6. Less maintenance overhead: In on-premise applications, the development company or
software vendor is responsible for maintaining the underlying hardware.
7. Produces scalable applications: Most of the applications developed using PaaS
services are web application or SaaS application. These applications require better
scalability on the extra load.
On the other hand, it contains drawbacks, which are described in the following:
1. Vendor lock-in: The major drawback with PaaS providers are vendor lock-in. The
main reason for vendor lock-in is lack of standards. There are no common standards
followed among the different PaaS providers.
2. Security issues: Like in the other cloud services, security is one of the major issues
in PaaS services. Since data are stored in off-premise third-party servers, many
developers are afraid to go for PaaS.
3. Less flexibility: PaaS providers do not give much freedom for the developers to
define their own application stack. Most of the PaaS providers provide many
programming languages, databases, and other development tools.
4. Depends on Internet connection: Since the PaaS services are delivered over the
Internet, the developers should depend on Internet connectivity for developing the
application.
Software as a Service
SaaS changes the way the software is delivered to the customers. In the traditional software
model, the software is delivered as a license-based product that needs to be installed in the
end user device.
SaaS services can be accessed from any lightweight web browsers on any devices such as
laptops, tablets, and smartphones. Some of the SaaS services can be accessed from a thin
client that does not contain much storage space and cannot run much software like the
traditional desktop PCs
SaaS provider may provide business services, social networks, document management, and mail
services as shown in Figure 5.8:
1. Business services: Most of the SaaS providers started providing a variety of business services
that attract start-up companies. The business SaaS services include ERP, CRM, billing,
sales, and human resources.
2. Social networks: Since social networking sites are extensively used by the general public,
many social networking service providers adopted SaaS for their sustainability. Since the
number of users of the social networking sites is increasing exponentially, cloud computing
is the perfect match for handling the variable load.
3. Document management: Since most of the enterprises extensively use electronic documents,
most of the SaaS providers started providing services that are used to create, manage, and
track electronic documents.
4. Mail services: E-mail services are currently used by many people. The future growth in e-mail
usage is unpredictable. To handle the unpredictable number of users and the load on e-mail
services, most of the e-mail providers started offering their services as SaaS services.
Characteristics of SaaS
SaaS services are different and give more benefits to end users than the traditional software.
1. One to many: SaaS services are delivered as a one-to-many model where a single instance
of the application can be shared by multiple tenants or customers.
2. Web access: SaaS services provide web access to the software. It allows the end user to
access the application from any location if the device is connected to the Internet.
3. Centralized management: Since SaaS services are hosted and managed from the central
location, management of the SaaS application becomes easier.
4. Multidevice support: SaaS services can be accessed from any end user devices such as
desktops, laptops, tablets, smartphones, and thin clients.
5. Better scalability: Since most of the SaaS services leverage PaaS and IaaS for its
development and deployment, it ensures a better scalability than the traditional software
6. High availability: SaaS services ensure the 99.99% availability of user data as proper
backup and recovery mechanisms are implemented at the back end.
7. API integration: SaaS services have the capability of integrating with other software or
service through standard APIs.
Suitability of SaaS
SaaS is popular among individuals and start-up companies because of the benefits it
provides.
1. On-demand software: The licensing-based software model requires buying full
packaged software and increases the spending on buying software.
2. Software for start-up companies: When using any traditional software, the end user
should buy devices with minimum requirements specified by the software vendor
3. Software compatible with multiple devices: Some of the applications like word
processors or mail services need better accessibility from different devices.
4. Software with varying loads: We cannot predict the load on popular applications such
as social networking sites. The user may connect or disconnect from applications
anytime.
The SaaS delivery model is not the best option for the applications mentioned in the
following:
1. Real-time applications:
Since SaaS applications depend on Internet connectivity, it may not work better with
low Internet speed
2. Applications with confidential data: Data security, data governance, and data
compliance are always issues with SaaS applications. Since data are stored with third-
party service providers, there is no surety that our data will be safe.
3. Better on-premise application: Some of the on-premise applications might fulfill all the
requirements of the organization..
SaaS applications are used by a wide range of individuals and start-up industries for its
cost-related benefits. Apart from the cost-related benefits, SaaS services provide the
following benefits:
All companies are worried about the security of their data that are hosted in the service provider
data center. The following are the major problems with SaaS services:
1. Security: Security is the major concern in migrating to SaaS application. Since the SaaS
application is shared between many end users, there is a possibility of data leakage.
2. Connectivity requirements: SaaS applications require Internet connectivity for accessing it.
Sometimes, the end user’s Internet connectivity might be very slow.
3. Loss of control: Since the data are stored in a third-party and off-premise location, the end
user does not have any control over the data.
The basic cloud services such as IaaS, PaaS, and SaaS are widely used by many individual and
start-up companies. Now, cloud computing becomes the dominant technology that drives the IT
world. Because of the extensive use of basic cloud services, the end users realize the importance
and benefitsof specific services such as network, storage, and database. The basic cloud service
models are the unified models that contain multiple services in it. Now, the end users’ expectation
changed, and they are expecting the individual services to be offered by service providers. This
makes most of the service providers to think about the separate services that meet end user
requirements. Many service providers already started offering separate services such as network,
desktop, database, and storage on demand as given in the following:
1. NaaS is an ability given to the end users to access virtual network services that are provided
by the service provider. Like other cloud service models, NaaS is also a business model for
delivering virtual network services over the Internet on a pay-per-use basis. In on-premise
data center, the IT industries spent a lot of money to buy network hardware to manage in-
house networks. But, cloud computing changes networking services into a utility-based
service. NaaS allows network architects to create virtual networks, virtual network
interface cards (NICs), virtual routers, virtual switches, and other networking components.
Additionally, it allows the network architect to deploy custom routing protocols and
enables the design of efficient in-network services, such as data aggregation, stream
processing, and caching. Some of the popular services provided by NaaS include virtual
private network (VPN), bandwidth on demand (BoD), and mobile network virtualization.
2. Desktop as a Service (DEaaS) is an ability given to the end users to use desktop virtualization
without buying and managing their own infrastructure. DEaaS is a pay-per-use cloud
service delivery model in which the service provider manages the back-end responsibilities
of data storage, backup, security, and upgrades. The end users are responsible for managing
their own desktop images, applications, and security. Accessing the virtual desktop
provided by the DEaaS provider is device, location, and network independent. DEaaS ser-
vices are simple to deploy, are highly secure, and produce better experience on almost all
devices.
3. STaaS is an ability given to the end users to store the data on the storage services provided
by the service provider. STaaS allows the end users to access the files at any time from any
place. The STaaS provider provides the virtual storage that is abstracted from the physical
storage of any cloud data center. STaaS is also a cloud business model that is delivered as
a utility. Here, the customers can rent the storage from the STaaS provider. STaaS is
commonly used as a backup storage for efficient disaster recovery.
4. DBaaS is an ability given to the end users to access the database service without the need to
install and maintain it. The service provider is responsible for installing and maintaining
the databases. The end users can directly access the services and can pay according to their
usage. DBaaS automates the database administration process. The end users can access the
database services through any API or web UIs provided by the service provider. The
DBaaS eases the database administration process. Popular examples of DBaaS include
SimpleDB, DynamoDB, MongoDB as a Service, GAE datastore, and ScaleDB.
5. Data as a Service (DaaS) is an ability given to the end users to access the data that are
provided by the service provider over the Internet. DaaS provides data on demand. The
data may include text, images, sounds, and videos. DaaS is closely related to other cloud
service models such as SaaS and STaaS. DaaS can be easily integrated with SaaS or STaaS
for providing the composite service. DaaS is highly used in geography data services and
financial data services. The advantages of DaaS include agility, cost effectiveness, and data
quality.
6. SECaaS is an ability given to the end user to access the security service provided by the
service provider on a pay-per-use basis. In SECaaS, the service provider integrates their
security services to benefit the end users. Generally, the SECaaS includes authentication,
antivirus, antimalware/spyware, intrusion detection, and security event management. The
security services provided by the SECaaS providers are typically used for securing the on-
premise or in-house infrastructure and applications. Some of the SECaaS providers include
Cisco, McAfee, Panda Software, Symantec, Trend Micro, and VeriSign.
7. IDaaS is an ability given to the end users to access the authentication infrastructure that is
managed and provided by the third-party service provider. The end user of IDaaS is
typically an organization or enterprise. Using IDaaS services, any organization can easily
manage their employees’ identity without any additional overhead. Generally, IDaaS
includes directory services, federated services, registration, authentication services, risk
and event monitoring, single sign-on services, and identity and profile management.
The different new service models discussed in this section emerged after the introduction
of cloud computing. This field still evolves and introduces new service models based on
the end user’s needs. Many researchers from industry and academia already started
introducing their innovative idea to take cloud computing to the next level. Apart from the
service models discussed in this chapter, cloud computing researchers are thinking to add
more service models. Now, cloud computing moves to the scenario where everything can
be given as a service. This can be termed as Everything as a Service (XaaS). In the future,
we expect many new service models to achieve the goal of XaaS. XaaS may include
Backup as a Service (BaaS), Communication as a Service (CaaS), Hadoop as a Service
(HaaS), Disaster Recovery as a Service (DRaaS), Testing as a Service (TaaS), Firewall as
a Service (FWaaS), Virtual Private Network as a Service (VPNaaS), Load Balancers as a
Service (LBaaS), Message Queue as a Service (MQaaS), and Monitoring as a Service
(MaaS).