CC - Final - UNIT 1
CC - Final - UNIT 1
2
The term Cloud refers to a Network or Internet. In other words,
we can say that Cloud is something, which is present at remote
location.
3
Definition from NIST (National Institute of Standards and Technology)
◦ Cloud computing is a model for enabling convenient, on-
demand network access to a shared pool of configurable
computing resources (e.g., networks, servers, storage,
applications, and services) that can be rapidly provisioned and
released with minimal management effort or service provider
interaction.
8
Cloud Computing refers to manipulating, configuring, and
accessing the applications online.
It offers online data storage, infrastructure and application.
9
Cloud computing is a paradigm of computing, a new way of thinking about IT
industry but not any specific technology.
◦ Central ideas
Utility Computing
SOA - Service Oriented Architecture
SLA - Service Level Agreement
◦ Properties and characteristics
High scalability and elasticity
High availability and reliability
High manageability and interoperability
High accessibility and portability
High performance and optimization
◦ Enabling techniques
Hardware virtualization
Parallelized and distributed computing
Web service
Perspective from user :
◦ Users do not care about how the works are done
Instead, they only concern about what they can get
◦ Users do not care about what the provider actually did
Instead, they only concern about their quality of service
◦ Users do not want to own the physical infrastructure
Instead, they only want to pay as many as they used
15
Cloud refers to a distinct IT environment that is designed for the
purpose of remotely provisioning scalable and measured IT
resources.
16
An IT resource is a physical or virtual IT related artifact that can
be either software based or hardware based
17
An IT resource that is hosted in a conventional IT enterprise
within an organizational boundary is considered to be located on
the premises of the IT enterprise, or on-premise for short.
18
The party that provides cloud-based IT resources is the cloud
provider.
19
Scaling represents the ability of the IT resource to handle
increased or decreased usages demands
20
The allocating or releasing of IT resources that are of the same
type is referred to as horizontal scaling
21
When an existing IT resource is replaced by another with higher
or lower capacity is vertical scaling
22
Cloud Service is any IT resource that is made remotely accessible
via a cloud
23
Service is what you connect together using Web Services.
Service is the endpoint of a connection.
Functionalities of service :
◦ A service should be well-defined
◦ A service should be self-contained
◦ A service should not depend on the context or state of other services.
Definition :
◦ Web service is self-describing and stateless modules that perform
discrete units of work and are available over the network
◦ Web service providers offer APIs that enable developers to exploit
functionality over the Internet, rather than delivering full-blown
applications
Technological evaluations
◦ QoS has to do with the efficient operation of various systems
◦ This can lead to adjusting procedures or adapting software
programs and code to achieve the desired effect while making
a more efficient use of available resources
Utility
Computing
SOA + SLA
Definition
◦ A service-level agreement (SLA) is a contract between a
network service provider and a customer that specifies, usually
in measurable terms (QoS), what services the network service
provider will furnish
30
What is scalability ?
◦ A desirable property of a system, a network, or a process, which
indicates its ability to either handle growing amounts of work in a
graceful manner or to be readily enlarged.
What is elasticity ?
◦ The ability to apply a quantifiable methodology that allows for the
basis of an adaptive introspection with in a real time infrastructure.
Loss Revenue
Resources
Capacity
Demand
Resources
Capacity
1 2 3
Demand Resources
Loss Users
1 2 3 Capacity
Time (days)
Demand
1 2 3
◦ Overestimate system utilization which result in low utilization
Capacity
Resources
Unused resources
Demand
Time
Capacity
Resources
Resources
Capacity
Demand Demand
Time Time
What is multi-tenant design ?
◦ Multi-tenant refers to a principle in software architecture where a single instance
of the software runs on a server, serving multiple client organizations.
◦ With a multi-tenant architecture, a software application is designed to virtually
partition its data and configuration thus each client organization works with a
customized virtual application instance.
Architectural framework :
◦ Composed by Autonomic Components (AC) which will
interact with each other.
◦ An AC can be modeled in terms of two main control loops
(local and global) with sensors (for self-monitoring), effectors
(for self-adjustment), knowledge and planer/adapter for
exploiting policies based on self- and environment awareness.
Four functional areas :
◦ Self-Configuration
Automatic configuration of components.
◦ Self-Healing
Automatic discovery, and correction of faults.
◦ Self-Optimization
Automatic monitoring and control of resources to ensure the
optimal functioning with respect to the defined requirements.
◦ Self-Protection
Proactive identification and protection from arbitrary attacks.
What is system monitor ?
◦ A System Monitor in systems engineering is a process within a
distributed system for collecting and storing state data.
Anything more ?
◦ Billing system
Cloud computing brings many benefits :
◦ For the market and enterprises
Reduce initial investment
Reduce capital expenditure
Improve industrial specialization
Improve resource utilization
◦ For the end user and individuals
Reduce local computing power
Reduce local storage power
Variety of thin client devices in daily life
Reduced Investment & Proportional costs
Increased Scalability
Increased Availability & Reliability
43
Security
Performan
Load
ce
Monitoring Balanci
ng
Resource
Data
Challenges Scheduli
Lock-in
ng
Carbon
Emissio Scaling
n Energy
Consumpti
on
44
There are certain services and models working behind the scene
making the cloud computing feasible and accessible to end users.
Following are the working models for cloud computing:
Deployment Models
Services Models
45
Deployment models define the type of access to the cloud, i.e.,
how the cloud is located?
Cloud can have any of the four types of access: Public, Private,
Hybrid and Community.
46
There are four primary cloud deployment models :
◦ Public Cloud
◦ Private Cloud
◦ Community Cloud
◦ Hybrid Cloud
54
What if you want to have an IT department ?
◦ Similar to build a new house in previous analogy
You can rent some virtualized infrastructure and build up your own IT
system among those resources, which may be fully controlled.
Technical speaking, use the Infrastructure as a Service (IaaS)
solution.
◦ Similar to buy an empty house in previous analogy
You can directly develop your IT system through one cloud platform,
and do not care about any lower level resource management.
Technical speaking, use the Platform as a Service (PaaS) solution.
◦ Similar to live in a hotel in previous analogy
You can directly use some existed IT system solutions, which were
provided by some cloud application service provider, without knowing
any detail technique about how these service was achieved.
Technical speaking, use the Software as a Service (SaaS) solution.
IaaS is the delivery of technology infrastructure as an on demand
scalable service.
IaaS provides access to fundamental resources such as physical
machines, virtual machines, virtual storage, etc.
57
Infrastructure as a Service - IaaS
◦ The capability provided to the consumer is to provision processing,
storage, networks, and other fundamental computing resources
where the consumer is able to deploy and run arbitrary software,
which can include operating systems and applications.
◦ The consumer does not manage or control the underlying cloud
infrastructure but has control over operating systems, storage,
deployed applications, and possibly limited control of select
networking components .
Examples :
◦ Amazon EC2
◦ Eucalyputs
◦ OpenNebula
◦ … etc
System architecture :
Enabling technique - Virtualization
◦ Virtualization is an abstraction of logical resources away from
underlying physical resources.
Virtualization technique shift OS onto hypervisor.
Multiple OS share the physical hardware and provide different services.
Improve utilization, availability, security and convenience.
Properties supported by virtualization technique :
◦ Manageability and Interoperability
◦ Availability and Reliability
◦ Scalability and Elasticity
Provide service –Resource Management Interface
◦ Several types of virtualized resource :
Virtual Machine – As an IaaS provider, we should be able to
provide the basic virtual machine operations, such as creation,
suspension, resumption and termination, …etc.
Virtual Storage – As an IaaS provider, we should be able to
provide the basic virtual storage operations, such as space
allocation, space release, data writing and data reading, …etc.
Virtual Network – As an IaaS provider, we should be able to
provide the basic virtual network operations, such as IP address
allocation, domain name register, connection establishment and
bandwidth provision, …etc.
Provide service – System Monitoring Interface
◦ Several types of monitoring metrics :
Virtual Machine – As an IaaS provider, we should be able to
monitor some system states of each virtual machine, such as CPU
loading, memory utilization, IO loading and internal network
loading, …etc.
Virtual Storage – As an IaaS provider, we should be able to
monitor some storage states of each virtual storage, such as virtual
space utilization, data duplication and storage device access
bandwidth, …etc.
Virtual Network – As an IaaS provider, we should be able to
monitor some network states of each virtual network, such as
virtual network bandwidth, network connectivity and network load
balancing, …etc.
IaaS is the deployment platform that abstract the infrastructure.
Client Manages
Data Data Data Data
81
Pizza Service Models
Scalability: With Cloud hosting, it is easy to grow and shrink the
number and size of servers based on the need.
This is done by either increasing or decreasing the resources in the
cloud. This ability to alter plans due to fluctuation in business size
and needs is a superb benefit of cloud computing especially when
experiencing a sudden growth in demand.
83
Save Money: An advantage of cloud computing is the reduction
in hardware cost. Instead of purchasing in-house equipment,
hardware needs are left to the vendor.
84
Along with purchase cost, off-site hardware cuts internal power
costs and saves space.
Large data centers can take up precious office space and produce a
large amount of heat. Moving to cloud applications or storage can
help maximize space and significantly cut energy expenditures.
85
Reliability: Rather than being hosted on one single instances of a
physical server, hosting is delivered on a virtual partition which
draws its resource, such as disk space, from an extensive network
of underlying physical servers.
86
Physical Security: The underlying physical servers are still
housed within data centres and so benefit from the security
measures that those facilities implement to prevent people
accessing or disrupting them on-site
87
• Improved performance
• Reduced software costs
• Instant software updates
• Improved document format compatibility
• Unlimited storage capacity
• Increased data reliability
• Universal document access
• Latest version availability
• Easier group collaboration
• Device independence
88
• Requires a constant Internet connection
• Does not work well with low-speed connections
• Features might be limited
• Can be slow
• Stored data can be lost
• Stored data might not be secure
89
1. Data Security and Privacy
2. Cost Management
3. Multi-Cloud Environments
4. Performance Challenges
5. Interoperability and Flexibility
6. High Dependence on Network
7. Lack of Knowledge and Expertise
90
• Data security is a major concern when switching to cloud
computing. User or organizational data stored in the cloud is
critical and private.
91
• 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.
92
• 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.
93
• If there is a degraded application performance or sudden spikes or
overages in the usage, it adds up to the overall cost.
• Unused resources are one of the other main reasons why the costs
go up. If you turn on the services or an instance of cloud and
forget to turn it off during the weekend or when there is no current
use of it, it will increase the cost without even using the resources.
94
• 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.
• The process most of the time ends up being highly complex for the
IT team due to the differences between multiple cloud providers.
95
• 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.
96
• 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.
97
• 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.
98
• Even when the enterprises can cut their hardware costs, they need
to ensure that the internet bandwidth is high as well there are zero
network outages, or else it can result in a potential business loss.
99
• Due to the complex nature and the high demand for research
working with the cloud often ends up being a highly tedious task.
10
0
• There are a lot of vacancies but very few talented cloud engineers,
developers, and professionals.
10
1
Cloud Federation, also known as Federated Cloud is the
deployment and management of several external and internal
cloud computing services to match business needs.
Cloud broker finalizes the most suitable deal for their client.
In the federated cloud, the users can interact with the
architecture either centrally or in a decentralized manner.