Professional Documents
Culture Documents
Cloud - Computing - Chapter 2
Cloud - Computing - Chapter 2
Cloud - Computing - Chapter 2
1
Contents
Introduction
The cloud reference model
Cloud Architecture
Cloud Service Models
Cloud Deployment Models
Open challenges
2
Introduction
Utility-oriented data centers are the first
outcome of cloud computing, and they serve as
the infrastructure through which the services are
implemented and delivered.
Any cloud service, whether virtual hardware,
development platform, or application software,
relies on a distributed infrastructure owned by
the provider or rented from a third party.
3
Contd…
Cloud computing is a utility-oriented and Internet-
centric way of delivering IT services on
demand.
The services cover the entire computing stack:
from the hardware infrastructure packaged as a
set of virtual machines to software services such
as development platforms and distributed
applications.
4
The cloud reference model
The Cloud Reference Model is a framework used by
customers and vendors to define best practices for
cloud computing.
The reference model defines five main actors: the cloud
consumer, cloud provider, cloud auditor, cloud broker,
and cloud carrier.
We now discuss a reference model that aids in
categorization of cloud technologies, applications, and
services.
The NIST cloud computing reference model identifies the
major actors, their activities, and functions in cloud
computing.
5
Contd…
The NIST cloud computing reference model
6
Actors in Cloud Models
Service Orchestration : Cloud orchestration describes the arranging
and coordination of automated tasks, ultimately resulting in a
consolidated process or workflow.
Cloud Consumer : A person or organization that maintains a business
relationship with, and uses service from Cloud Providers.
Cloud Provider : A person, organization, or entity responsible for
making a service available to interested parties.
Cloud Auditor : A party that can conduct independent assessment of
cloud services, information system operations, performance and
security of the cloud implementation.
Cloud Broker : A entity that manages the use, performance and
delivery of cloud services, and negotiates relationships between Cloud
Providers and Cloud Consumers.
Cloud Carrier : An intermediary that provides connectivity and transport
of cloud services from Cloud Providers to Cloud Consumers. 7
Three Cloud Brokerages (CSB):
Service arbitrage: Service arbitrage means a broker has the
flexibility to choose services from multiple Providers,
depending upon the characteristics of the data or the context
of the service. Service arbitrage is the process of determining
the best CSP.
Service Intermediation: This cloud service broker provides a
service that directly enhances a given service delivered to
one or more service consumers, essentially adding value on
top of a given service to enhance some specific capability.
Service Aggregation: A cloud aggregator is a type of cloud
broker that packages and integrates multiple cloud
computing services into one or more composite services.
8
Cloud Architecture
Cloud architecture is the way technology
components combine to build a cloud, in which
resources are pooled through virtualization
technology and shared across a network.
The components of a cloud architecture include:
A front-end platform (the client or device used to
access the cloud)
A back-end platform (servers, security
mechanisms, virtual machines and storage)
Virtualization
Middleware 9
Contd…
The Cloud Computing Architecture
10
Contd…
By using virtual machine technology it is possible
to finely partition the hardware resources such as
CPU and memory and to virtualize specific
devices, thus meeting the requirements of users
and applications.
According to the specific service offered to end
users, other virtualization techniques can be used;
for example, programming-level virtualization
helps in creating a portable runtime environment
where applications can be run and controlled.
The combination of cloud hosting platforms and
resources is generally classified as a
11
Infrastructure-as-a-Service (IaaS) solution.
Contd…
12
Contd…
15
Contd….
Infrastructure/hardware-as-a-service
IaaS/HaaS solutions are the most popular and
developed market segment of cloud computing.
They deliver customizable infrastructure on
demand.
The available options within the IaaS offering
umbrella range from single servers to entire
infrastructures, including network devices, load
balancers, and database and Web servers.
16
Contd….
The main technology used to deliver and
implement these solutions is hardware
virtualization: one or more virtual machines
opportunely configured and interconnected define
the distributed system on top of which
applications are installed and deployed.
Virtual machines also constitute the atomic
components that are deployed and priced
according to the specific features of the virtual
hardware: memory, number of processors, and
disk storage. 17
Contd….
IaaS/HaaS solutions bring all the benefits of
hardware virtualization: workload partitioning,
application isolation, and hardware tuning.
From the perspective of the service provider,
IaaS/HaaS allows better exploiting the
IT infrastructure and provides a more secure
environment where executing third party
applications.
From the perspective of the customer it reduces the
administration and maintenance cost as well as the
capital costs allocated to purchase hardware.
18
Contd…
Figure provides an overall view of the components
forming an Infrastructure-as-a-Service solution.
It is possible to distinguish three principal layers: the
physical infrastructure, the software management
infrastructure, and the user interface.
At the top layer the user interface provides access to the
services exposed by the software management
infrastructure. Such an interface is generally based on
Web 2.0 technologies: Web services, RESTful APIs, and
mash-ups. These technologies allow either applications
or final users to access the services exposed by the
underlying infrastructure.
19
Contd….
Web 2.0 applications allow developing full-featured
management consoles completely hosted in a
browser or a Web page.
Web services and RESTful APIs allow programs
to interact with the service without human
intervention, thus providing complete integration
within a software system.
Management of the virtual machines is the most
important function performed by this layer.
A central role is played by the scheduler, which
is in charge of allocating the execution of virtual
machine instances. 20
Contd….
Infrastructure-as-a-Service reference implementation.
21
Contd….
The scheduler interacts with the other
components that perform a variety of tasks:
The pricing and billing component takes care of the
cost of executing each virtual machine instance and
maintains data that will be used to charge the user.
The monitoring component tracks the execution of
each virtual machine instance and maintains
data required for reporting and analyzing the
performance of the system.
The reservation component stores the information of
all the virtual machine instances that have been
executed or that will be executed in the future. 22
Contd….
24
Contd……
Platform as a service
Platform-as-a-Service (PaaS) solutions provide
a development and deployment platform for
running applications in the cloud.
They constitute the middleware on top of which
applications are built.
A general overview of the features
characterizing the PaaS approach is given in
Figure
25
Contd….
The Platform-as-a-Service reference model.
26
Contd….
Application management is the core functionality of
the middleware.
PaaS implementations provide applications with a
runtime environment and do not expose any service
for managing the underlying infrastructure.
Developers design their systems in terms of
applications and are not concerned with hardware
(physical or virtual), operating systems, and other
low-level services.
From a user point of view, the core middleware
exposes interfaces that allow programming and
deploying applications on the cloud.
27
Contd….
PaaS model provide a complete object model for
representing an application and provide a
programming language-based approach.
Developers generally have the full power of
programming languages such as Java, .NET,
Python, or Ruby, with some restrictions to provide
better scalability and security.
The consumer does not manage or control the
underlying cloud infrastructure, network, servers,
operating systems, or storage, but the consumer
has control over the deployed applications and
possibly application hosting environment
configurations. 28
Contd….
Software as a service
SaaS is a software delivery model that provides
access to applications through the Internet as a Web-
based service.
In this scenario, customers neither need install
anything on their premises nor have to pay
considerable up-front costs to purchase the software
and the required licenses.
They simply access the application website, enter their
credentials and billing details, and can instantly use
the application, which, in most of the cases, can be
further customized for their needs.
29
Contd….
The SaaS model is appealing for applications
serving a wide range of users and that can be
adapted to specific needs with little further
customization.
The requirement characterizes SaaS as a “one-
to-many” software delivery model, whereby an
application is shared across multiple users.
30
Contd….
The benefits delivered at SaaS were the following:
Software cost reduction and total cost of ownership
(TCO) were paramount
Service-level improvements
Rapid implementation
Standalone and configurable applications
Rudimentary application and data integration
Subscription and pay-as-you-go (PAYG) pricing
31
Contd….
Salient Cloud Services
32
Contd….
Cloud Service Examples
33
Contd….
34
SaaS, PaaS, IaaS
35
Benefits of Cloud Services
36
Contd..
Platform as a service (PaaS)
o When the software needed to develop cloud
applications are themselves provided in a
“software as a service” fashion
o Web hosting was first cloud computing model
o Purchase product development tools on use
basis Eg. Goggle-apps, force.com, sales
force.com
37
Security as a service (SECaaS)
Security as a service (SECaaS) is a business model in
which a large service provider integrates their
security services into a corporate infrastructure on a
subscription basis more cost effectively than most
individuals or corporations can provide on their own,
when total cost of ownership is considered.
In this scenario, security is delivered as a service from
the cloud, without requiring on-premises hardware
avoiding substantial capital outlays.
These security services often include authentication,
anti-virus, anti-malware/spyware, intrusion detection,
and security event management, among others.
38
Mobile "backend" as a service (MBaaS)
Private cloud
Community cloud
41
Contd….
Public cloud
Public cloud is open to all to store and access information
via the Internet using the pay-per-usage method.
Public cloud operated on the pay-as-per-use model and
administrated by the third party, i.e., Cloud service provider.
From a structural point of view they are a distributed system,
most likely composed of one or more datacenters connected
together, on top of which the specific services offered by the
cloud are implemented.
Any customer can easily sign in with the cloud provider,
enter his/her credential and billing details, and use the
services offered.
Historically, public clouds were the first class of cloud that
were implemented and offered 42
Contd….
A fundamental characteristic of public clouds is
multi-tenancy. A public cloud is meant to serve
a multitude of users, not a single customer.
A public cloud can offer any kind of service:
infrastructure, platform, or applications.
For example:-
Amazon EC2 is a public cloud that provides
infrastructure as a service;
Google AppEngine is a public cloud that provides an
application development platform as a service; and
SalesForce.com is a public cloud that provides
software as a service. 43
Contd….
Private clouds
Private cloud is also known as an internal
cloud or corporate cloud.
Private cloud provides computing services to a private
internal network (within the
organization) and selected users instead of the
general public.
Private cloud provides a high level of
security and privacy to data through firewalls and
internal hosting.
It also ensures that operational and sensitive data are
not accessible to third-party providers.
HP Data Centers, Microsoft, Elastra-private cloud, and
44
Ubuntu are the example of a private cloud.
Contd….
Hybrid Cloud
Hybrid cloud is a combination of public and private clouds.
Hybrid cloud = public cloud + private cloud
The main aim to combine these cloud (Public and Private)
is to create a unified, automated, and well-managed
computing environment.
In the Hybrid cloud, non-critical activities are performed
by the public cloud and critical activities are performed
by the private cloud.
Mainly, a hybrid cloud is used in finance, Universities etc.
The best hybrid cloud provider companies are Amazon,
Microsoft, Google, Cisco, and NetApp.
45
Contd….
Community Cloud
Community cloud is a cloud infrastructure that allows
systems and services to be accessible by a group of
several organizations to share the information.
It is owned, managed, and operated by one or more
organizations in the community, a third party, or a
combination of them.
Community cloud deployment model is one that is
utilized exclusively by a group of users from various
companies who have comparable concerns (e.g.,
mission, security requirements, policy, and compliance
considerations).
46
Open challenges in cloud computing
Still in its infancy, cloud computing presents many
challenges for industry and academia.
There is a significant amount of work in academia
focused on defining the challenges brought by this
phenomenon.
In this section, highlight the most important ones:
Data Security and Privacy, Cost Management,
Multi-Cloud Environments, Performance
Challenges, Interoperability and Flexibility, High
Dependence on Network, Lack of Knowledge and
Expertise
47
Contd….
Data Security and Privacy
Data security is a major concern when switching to
cloud computing.
User or organizational data stored in the cloud is
critical and private.
Even if the cloud service provider assures data
integrity, it is your responsibility to carry out user
authentication and authorization, identity management,
data encryption, and access control.
Security issues on the cloud include identity theft, data
breaches, malware infections, and a lot more which
eventually decrease the trust amongst the users of
your applications. 48
Contd….
Cost Management
Even as almost all cloud service providers have a “Pay
As You Go” model, which reduces the overall cost of
the resources being used, there are times when there
are huge costs incurred to the enterprise using cloud
computing.
When there is under optimization of the resources, let’s
say that the servers are not being used to their full
potential, add up to the hidden costs. If there is a
degraded application performance or sudden spikes or
overages in the usage, it adds up to the overall cost.
49
Contd….
Multi-Cloud Environments
Due to an increase in the options available to the
companies, enterprises not only use a single cloud but
depend on multiple cloud service providers. Most of
these companies use hybrid cloud tactics and close to
84% are dependent on multiple clouds. This often ends
up being hindered and difficult to manage for the
infrastructure team.
The process most of the time ends up being highly
complex for the IT team due to the differences between
multiple cloud providers.
50
Contd….
Performance Challenges
Performance is an important factor while considering
cloud-based solutions. If the performance of the cloud
is not satisfactory, it can drive away users and
decrease profits.
Even a little latency while loading an app or a web
page can result in a huge drop in the percentage of
users. This latency can be a product of inefficient load
balancing, which means that the server cannot
efficiently split the incoming traffic so as to provide the
best user experience.
Challenges also arise in the case of fault tolerance,
which means the operations continue as required even
when one or more of the components fail.
51
Contd….
Interoperability and Flexibility
When an organization uses a specific cloud service
provider and wants to switch to another cloud-based
solution, it often turns up to be a tedious procedure
since applications written for one cloud with the
application stack are required to be re-written for the
other cloud.
There is a lack of flexibility from switching from one
cloud to another due to the complexities involved.
Handling data movement, setting up the security from
scratch and network also add up to the issues
encountered when changing cloud solutions, thereby
reducing flexibility. 52
Contd….
High Dependence on Network
Since cloud computing deals with provisioning
resources in real-time, it deals with enormous amounts
of data transfer to and from the servers. This is only
made possible due to the availability of the high-speed
network.
Although these data and resources are exchanged
over the network, this can prove to be highly
vulnerable in case of limited bandwidth or cases when
there is a sudden outage.
53
Contd….
Lack of Knowledge and Expertise
Due to the complex nature and the high demand for
research working with the cloud often ends up being a
highly tedious task.
It requires immense knowledge and wide expertise on
the subject. Although there are a lot of professionals in
the field they need to constantly update themselves.
There are a lot of vacancies but very few talented
cloud engineers, developers, and professionals.
Therefore, there is a need for up skilling so these
professionals can actively understand, manage and
develop cloud-based applications with minimum issues
and maximum reliability. 54
Thanks
QA
55