Cloud Computing Introduction
Cloud Computing Definition
• Cloud
is a parallel and distributed computing system consisting of a collection of
inter-connected and virtualised computers that are dynamically provisioned and
presented as one or more unified computing resources based on service-level
agreements (SLA) established through negotiation between the service provider
and consumers. - Raj Kumar Buyya
• Clouds
are a large pool of easily usable and accessible virtualized resources (such as
hardware, development platforms and/or services). These resources can be
dynamically reconfigured to adjust to a variable load (scale), allowing also
for an optimum resource utilization. This pool of resources is typically
exploited by a pay-per-use model in which guarantees are offered by the
Infrastructure Provider by means of customized Service Level Agreements - Vaquero
• “...
a pay-per-use model for enabling available, convenient, on-demand network
access to a shared pool of configurable computing resources (e.g. networks,
servers, storage, applications, services) that can be rapidly provisioned and
released with minimal management effort or service provider interaction.” - National
Institute of Standards and Technology (NIST)
• Common
characteristics between the most notable definitions, which a cloud should
have:
• pay-per-use
(no ongoing commitment, utility prices);
• elastic
capacity and the illusion of infinite resources;
• self-service
interface; and
• Resources
that are abstracted or virtualised.
ROOTS OF CLOUD COMPUTING
• We
can track the roots of clouds computing by observing the advancement of several
technologies, especially in
• hardware
(virtualization, multi-core chips),
• Internet
technologies (Web services, service-oriented architectures, Web 2.0),
• Distributed
computing (clusters, grids), and
• Systems
management (autonomic computing, data center automation).
• From Mainframes to Clouds
• switch
in the IT world
• From
in-house generated computing power
• into
• Utility-supplied
computing resources delivered over the Internet as Web services
• century
ago
• when
factories, which used to generate their own electric power, realized that it is
was cheaper just plugging their machines into the newly formed electric power
grid
• Computing
delivered as a utility can be defined as
• “on
demand delivery of infrastructure, applications, and business processes in a
security-rich, shared, scalable, and based computer environment over the
Internet for a fee”
• Consumers
can attain reduction on IT-related costs by choosing to obtain cheaper services
from external providers as opposed to heavily investing on IT
infrastructure and personnel hiring.
• In
1970s,
• companies who offered common data processing
tasks ( payroll automation) operated time-shared mainframes as utilities,
• It
could serve dozens of applications and often operated close to 100% of their
capacity.
• In
fact, mainframes had to operate at very high utilization rates simply because
they were very expensive.
• The
mainframe era collapsed
• with
the advent of fast and inexpensive microprocessors
• isolation
of workload into dedicated servers
• Incompatibilities
between software stacks and operating systems
• the
unavailability of efficient computer network
• SOA, Web Services, Web 2.0, and Mashups
• Web
services can glue together applications running on different messaging product
platforms, enabling information from one application to be made available to
others, and enabling internal applications to be made available over the
Internet.
• Describe,
compose, and orchestrate services, package and transport messages between
services, publish and discover services, represent quality of service (QoS)
parameters, and ensure security in service access.
• Created
on HTTP and XML - providing a common mechanism for delivering services, making
them ideal for implementing a service-oriented architecture (SOA).
• The
purpose of a SOA is to address requirements of loosely coupled,
standards-based, and protocol-independent distributed computing.
• In
a SOA, software resources are packaged as “services,” which are well-defined,
selfcontained modules that provide standard business functionality and are
independent of the state or context of other services.
• ,
information and services may be programmatically aggregated, acting as building
blocks of complex compositions, called service mashups.
• Grid
Computing
• enables
aggregation of distributed resources and transparently access to them
• share
compute and storage resources distributed across different
administrative domains, with their main focus being speeding
up a broad range of scientific applications
•
• Building
standard Web services-based protocols that allow distributed resources to be “discovered,
accessed, allocated, monitored, accounted for, and billed for, etc., and in
general managed as a single virtual system.”
• Open
Grid Services Architecture (OGSA)
• defining
a set of core capabilities and behaviors that address key concerns in grid
systems
• Globus
Toolkit is a middleware that implements several standard Grid services
• Grid
brokers, which facilitate user interaction with multiple middleware
and implement policies to meet QoS needs.
• Problems
in Grid Computing
• ensuring
QoS in grids is difficult
• Activities
associated with one user or virtual organization (VO) can influence,
in an uncontrollable way, the performance perceived by other users using
the same platform.
• availability
of resources with diverse software configurations, including disparate
operating systems, libraries, compilers, runtime environments but user
applications would often run only on specially customized environments
• Utility
Computing
• grid
resource management techniques failed to provide fair and equitable access
to resources
• Traditional
metrics (throughput, waiting time, and slowdown) failed to capture the
more subtle requirements of users.
• No
flexibility for Users about resource requirements or job deadlines, nor
provisions to accommodate users with urgent work.
• In
Utility Computing
• users
assign a “utility” value to their jobs,
• Where
utility is a fixed or time-varying valuation based on QoS constraints
(deadline, importance, satisfaction).
• The
valuation is the amount they are willing to pay a service
provider to satisfy their demands
• service
providers then attempt to maximize their own utility to get more profit
• Providers
can choose to prioritize high yield user jobs.
• Hardware
Virtualization
• Hardware
virtualization allows running multiple operating systems and software
stacks on a single physical platform
• a
software layer, the virtual machine monitor (VMM), also called a hypervisor,
mediates access to the physical hardware presenting to each guest operating
system a virtual machine (VM), which is a set of virtual platform interfaces
•
• Following
technologies increased adoption of virtualization
• multi-core
chips,
• paravirtualization,
• hardware-assisted
virtualization, and
• live
migration of VMs
• Traditionally,
perceived benefits were
• improvements
on sharing and utilization,
• better
manageability, and
• Higher
reliability.
• 3
basic capabilities regarding management of workload in a virtualized
system
• isolation,
consolidation, and migration
• Work
load Isolation
• execution
of one VM should not affect the performance of another VM
• The
consolidation of several individual and heterogeneous workloads onto a
single physical platform leads to better system utilization.
• Workload
migration
• It
is done by encapsulating a guest OS state within a VM and allowing it to be
suspended, fully serialized, migrated to a different platform, and resumed
immediately or preserved to be restored at a later date
VMM platforms
•
VMWare ESXi
• Provides
from server and desktop virtualization to high-level management tools
• It
is a bare-metal hypervisor,
• Means
- it installs directly on the physical
server
• others
may require a host operating system
• provides
advanced virtualization techniques of processor, memory, and I/O
• Xen
• open-source
project and has served as a base to other virtualization products
• pioneered
the para-virtualization concept
• Guest
operating system, by means of a specialized kernel, can interact with the
hypervisor
• forms
the base of commercial hypervisors like
• Citrix
XenServer and
• Oracle
VM
•
KVM
• The
kernel-based virtual machine (KVM) is a Linux virtualization subsystem
• part
of the mainline Linux kernel
• memory
management and scheduling are carried out by existing kernel thus making KVM
simpler and smaller than hypervisors
Virtual Appliances and the Open
Virtualization Format
• virtual
appliance
• An
application combined with the environment needed to run it
• Environment - operating system,
libraries, compilers, databases, application containers, and so forth.
• It
eases software customization, configuration, and patching and improves
portability.
• An
appliance is shaped as a VM disk image associated
with hardware requirements, and it can be readily deployed in a hypervisor.
• Each
Hypervisor supports a different VM
image format and the formats are incompatible with one another
• Example
– AMI(Amazon Machine Image) format for Amazon EC2 public cloud
• OVF - Open Virtualization Format (OVF).
• To
facilitate packing and distribution of software to be run on VMs several
vendors (VMware, IBM, Citrix, Cisco, Microsoft, Dell, and HP).
• Aim
is
• “Open, secure, portable, efficient and
extensible”.
• An
OVF package consists of a file, or set of files, describing
• the
VM hardware characteristics (e.g., memory, network cards, and disks),
• operating
system details,
• startup,
and
• shutdown
actions,
• the virtual disks themselves, and
• Other
metadata containing product and licensing information.
• Extensions
to OVF is allowed for management of datacenters and cloud.
• VMC
– Virtual Machine Contract
• An
extension to OVF.
• A
simple example of a VMC is when a cloud consumer wants to specify minimum and
maximum amounts of a resource that a VM needs to function; similarly the cloud
provider could express resource limits as a way to bound resource consumption
and costs.
• Autonomic Computing
• Systems
should manage themselves, with
high-level guidance from humans
• Autonomic
(self-managing) systems rely on
• monitoring
probes and gauges (sensors),
• on
an adaptation engine (autonomic manager)
for computing optimizations based on monitoring data, and
• On effectors to carry out changes on
the system.
• 4
properties of autonomic systems(by IBM):
• self-configuration,
• self-optimization,
• self-healing,
and
• Self-protection.
• IBM
has also suggested a reference model for autonomic control loops of autonomic managers, called MAPE-K
(Monitor Analyze Plan Execute—Knowledge)
•
the concepts of autonomic computing inspire software
technologies for data
center automation
•
Its Tasks are
• management of service
levels of running applications;
• management of data
center capacity;
• proactive disaster
recovery; and
• automation of VM
provisioning
LAYERS AND TYPES OF CLOUDS
• Cloud computing services
are divided into three classes ( based on abstraction level of the capability
provided and the service model of providers)
•
(1) Infrastructure as a Service,
•
(2) Platform as a Service, and
•
(3) Software as a Service
• Note:-
•
These abstraction levels can also be viewed as a layered
architecture where services of a higher layer can be composed from services
of the underlying layer
•
• Public
cloud
• “cloud
made available in a pay-as-you-go manner to the general public”
• Private
cloud
• “Internal
data center of a business or other organization, not made available to the
general public.”
• Community
cloud
• “shared
by several organizations and supports a specific community that has shared
concerns (e.g., mission, security requirements, policy, and compliance
considerations)
• Hybrid
cloud
• when
a private cloud is supplemented with computing capacity from public clouds
• Note:
- “cloud-bursting” - temporarily renting capacity to handle spikes in
load.
•
DESIRED FEATURES OF A
CLOUD
• These features are essential
to
•
enable
services that truly represent the cloud computing model and
•
Satisfy
expectations of consumers.
• Self-Service
•
Consumers
expect on-demand - nearly instant access to resources.
•
So
clouds must allow self-service access
• customers can request, customize,
pay, and use services without intervention of human operators
•
Per-Usage Metering and Billing
•
Services must be priced on a short term basis (e.g.,
by the hour), allowing users to release (and not pay for) resources as
soon as they are not needed.
•
Implement features to allow efficient trading
•
pricing,
•
accounting, and
•
Billing
•
Elasticity
•
illusion of infinite computing resources available
on demand
•
it is expected that the additional resources
can be
•
(a) provisioned, possibly automatically, when an application load
increases and
•
(b) released when load decreases
• scale up and down
•
Customization
•
Multi-tenant cloud a great disparity between user needs
•
Resources rented from the cloud must be highly customizable.
CLOUD INFRASTRUCTURE MANAGEMENT
•
A key challenge IaaS providers face when building a cloud
infrastructure is managing physical and
virtual resources
•
The orchestration of resources must
be performed in a way to rapidly and dynamically provision resources to
applications
•
virtual infrastructure manager (VIM)
•
The software toolkit responsible for
this orchestration.
•
VIM or cloud operating system or
infrastructure sharing software or
virtual infrastructure engine
• Features of VIM
1.
Virtualization
Support.
2.
Self-Service,
On-Demand Resource Provisioning.
3.
Multiple
Backend Hypervisors.
1.
Some VI
managers provide a uniform management layer regardless of the
virtualization technology used.
2.
open-source
VI managers provide pluggable drivers to interact
with multiple hypervisors
4.
Storage
Virtualization.
1.
Abstracting logical storage from physical
storage.
2.
consolidates all available storage devices in a data center
3.
Allows to
create virtual disks independent from device and location
4.
Organized in a storage area network (SAN) and attached to
servers via protocols such as Fibre Channel, iSCSI, and NFS
5. a storage
controller provides the layer of
abstraction between virtual and physical storage
5. Interface to Public Clouds
1.
Hybrid
cloud - institutions can make good use of their available resources and,
in case of spikes in demand, extra load can be offloaded to rented
resources
2.
A VI
manager can be used in a hybrid cloud setup if it offers a driver to
manage the life cycle of virtualized resources obtained from external cloud
providers.
6. Virtual Networking
1.
Virtual
networks - isolated
network on top of a physical infrastructure independently from physical
topology and locations
2.
VLAN – Virtual LAN –
•
isolates
traffic that shares a switched network, allowing VMs to be grouped into the
same broadcast domain
•
VLAN
can be configured to block traffic originated from VMs from other networks
3.
Similarly,
the VPN - virtual private network
•
private
overlay network on top of a public network
4. Support for creating and
configuring virtual networks to group VMs placed throughout a data center is provided
by most VI managers.
7.
Dynamic
Resource Allocation
1.
For Less
Energy consumption in data
centers there should be dynamic consolidation of VMs in a fewer number of servers.
2.
Machines that
are not assigned any VM can be turned off or put on a low power state.
3.
Overheating can be avoided by moving load away from
hotspots
8.
Virtual
Clusters.
1.
group of interconnected VMs for multi-tier
Internet applications
9. Reservation and Negotiation
Mechanism.
1.
AR -
Advance Reservations
•
users request computational
resources to available at a specific time
2.
Best-Effort
Requests
•
when users request resources whenever
available
3.
In clouds on which resources are
scarce, VM placement strategies are used which support queues,
priorities, and advance reservations
4.
Leases may be negotiated and
renegotiated, allowing provider and consumer to modify a lease or
present counter proposals until an agreement is reached.
5.
OpenPEX – uses bilateral negotiation protocol
• allows users and providers to come to an alternative
agreement by exchanging offers and counter offers
10. High
Availability and Data Recovery
1.
Aims at minimizing application
downtime and preventing business disruption.
2.
Failover mechanism
•
Detects failure of both physical and
virtual servers and restarts VMs on healthy physical servers.
3.
Mission critical applications
•
restarting VMs does not suffice
•
redundant
and synchronized VMs are kept in a secondary physical
server
•
ensures that a duplicate VM serves
the application in case of failures
4.
some VI managers offer data
protection mechanisms that perform incremental backups of VM images
5. The backup workload is often assigned to proxies,
thus offloading production server and reducing network overhead
Infrastructure as a Service Provider
•
Iaas Provides
•
virtual servers containing one or
more CPUs,
•
running several choices of operating
systems and
•
A customized software stack.
•
In addition, storage space and
communication facilities are often provided.
•
Specialized features that
influence the cost-benefit ratio to be experienced by user applications when
moved to the cloud.
•
geographic distribution of data
centers;
•
variety of user interfaces and APIs
to access the system;
•
specialized components and services
that aid particular applications (e.g., loadbalancers, firewalls);
•
choice of virtualization platform
and operating systems; and
•
Different billing methods and period
(e.g., prepaid vs. post-paid, hourly vs. monthly).
•
Geographic
Presence
•
To improve availability and
responsiveness, a provider of worldwide services would typically build
several data centers distributed around the world
•
For example,
•
Amazon Web
Services uses
•
“Availability zones” and “regions”
for its EC2 service.
•
Availability
zones are distinct locations that
are engineered to be insulated from failures in other availability zones
•
provide inexpensive, low-latency
network connectivity to other availability zones in the same region
•
Regions are geographically dispersed and will be in separate
geographic areas or countries
•
User
Interfaces and Access to Servers
•
Public IaaS provider must provide multiple
access means to its cloud
•
Different types of UI
•
graphical user interfaces (GUI),
•
command-line tools (CLI), and
•
Web service (WS) APIs.
•
GUIs –
•
to launch, customize, and monitor
a few virtual servers and
•
Do not necessary need to
repeat the process several times.
•
CLIs
•
For
automating repetitive tasks via scripts
•
e.g:- start and shutdown a number of
virtual servers at regular intervals
•
WS APIs offer programmatic access to a cloud using standard HTTP
requests, thus allowing complex services to be built on top of IaaS clouds.
•
Advance
Reservation of Capacity
•
Advance reservations allow users to
request for an IaaS provider to reserve resources for a specific time frame
in the future.
•
Most clouds only support best-effort
requests (user’s requests server whenever resources are available).
•
Example:-
•
Amazon
Reserved Instances - advance reservation of capacity
•
It allows users to pay a fixed
amount of money in advance to guarantee resource availability at any
time during an agreed period and then paying a discounted hourly rate when
resources are in use.
•
Only long periods of 1 to 3 years
are offered.
•
Automatic
Scaling and Load Balancing
•
Applications often need to scale up
and down (elasticity) to meet varying load conditions.
•
It allow users to set conditions for
when they want their applications to scale up and down
•
based on application-specific
metrics such as
•
transactions per second,
•
number of simultaneous users,
•
Request latency, and so forth.
•
Incoming traffic must be
automatically distributed among the available servers - after Scale up through
automatic scaling
•
This activity enables applications
•
to promptly respond to traffic
increase
•
Achieves greater fault tolerance.
•
Service-Level
Agreement
•
Offered by IaaS providers to
express their commitment to delivery of a certain QoS.
•
To customers it serves as a warranty.
•
An SLA usually include
•
Availability and performance
guarantees.
•
Most IaaS providers focus
their SLA terms on availability guarantees, specifying the
minimum percentage of time the system will be available during a certain
period.
•
For instance, Amazon EC2 states that
“if the annual uptime Percentage for a customer drops below 99.95% for the
service year, that customer is eligible to receive a service credit equal to
10% of their bill.3 ”
•
Hypervisor
and Operating System Choice.
•
Traditionally, IaaS offerings have been based on heavily customized open-source
Xen deployments.
•
IaaS providers needed expertise in
•
Linux, networking, virtualization,
metering, resource management, and many other low-level aspects to
successfully deploy and maintain their cloud offerings.
•
More recently,
•
VMWare
vCloud and Citrix Cloud Center (C3) which
have lowered the barrier of entry for IaaS competitors, leading to a rapid
expansion in the IaaS marketplace.
PLATFORM
AS A SERVICE PROVIDERS
•
Offer a development and deployment
environment that allow users to create and run their applications with little
or no concern to low-level details of the platform.
•
specific programming languages and
frameworks are made available
•
other services such as
•
persistent data storage and
•
In-memory caches.
•
Features
•
Programming
Models, Languages, and Frameworks.
•
Each model aims at
efficiently solving a particular problem.
•
In the cloud computing domain, the
most common activities that require specialized models are:
•
processing of large dataset in
clusters of computers (MapReduce model),
•
development of request-based Web
services and applications;
•
definition and orchestration of
business processes in the form of work- flows (Workflow model); and
•
High-performance distributed
execution of various computational tasks.
•
For user convenience, PaaS providers
usually support multiple programming languages.
•
Most commonly used languages in
platforms include
•
Python and Java (e.g., Google
AppEngine),
•
.NET languages (e.g., Microsoft
Azure), and
•
Ruby (e.g., Heroku).
•
Force.com has devised its own programming language (Apex) and
an Excel-like query language, which provide higher levels of abstraction
to key platform functionalities.
•
Providers that focus on Web and
enterprise application hosting offer popular frameworks such as Ruby
on Rails, Spring, Java EE, and .NET.
•
Persistence
Options.
•
A persistence layer is essential to allow
applications to record their state and recover it in case of
crashes, as well as to store user data.
•
Traditionally - relational databases as the preferred persistence
method.
•
These databases offer fast and
reliable structured data storage and transaction processing, but may lack
scalability to handle several petabytes of data stored in commodity
computers.
•
Cloud
computing domain - distributed storage
technologies have emerged, which seek to be robust and highly scalable, at
the expense of relational structure and convenient query languages.
•
For example,
•
Amazon
SimpleDB and Google AppEngine datastore offer
•
schema-less,
•
Automatically indexed database
services.
•
Data
queries can be performed only on individual
tables; that is, join operations are unsupported for the sake of
scalability.
CHALLENGES
AND RISKS
•
Security,
Privacy, and Trust
•
“Current cloud offerings are
essentially public ... exposing the system to more attacks.”
•
Challenge -
to make cloud computing environments
as secure as in-house IT systems.
•
Data encryption, VLANs, and
firewalls – can be used.
•
Security and privacy affect ->
massive use of third-party services and infrastructures. So, the trust toward
providers is fundamental.
•
Legal and regulatory issues –
•
physical location of data centers
determines the set of laws that
can be applied to the management of
data
•
Specific
cryptography techniques are not allowed in some countries.
•
Data
Lock-In and Standardization
•
User data
locked-in by a certain provider.
•
Users may want to move data and
applications out from a provider that does not meet their requirements.
•
Currently, no standard methods of
storing user data and applications.
•
Consequently, they do not
interoperate and user data are not portable.
•
Answer à standardization
•
The Cloud Computing
Interoperability Forum (CCIF)
•
Unified
Cloud Interface (UCI) - aims at creating a standard
programmatic point of access to an entire cloud infrastructure
•
Open Virtual Format (OVF) - virtual appliances can
be made portable
•
virtual appliances seamlessly run
on hypervisor of different vendors
•
Availability,
Fault-Tolerance, and Disaster Recovery
•
Users seek for a warranty (for Availability,
Fault-Tolerance, and Disaster Recovery) before they can comfortably move
their business to the cloud.
•
SLAs with QoS requirements must be set up between
customers and cloud computing providers to act as warranty.
•
An SLA specifies the details
of the service to be provided, including availability and performance
guarantees.
•
Additionally, metrics must be
agreed upon by all parties, and penalties for violating
the expectations must also be approved.
•
Resource
Management and Energy-Efficiency
•
Challenge faced by providers - efficient
management of virtualized resource pools.
•
Challenge-1:
•
finding a good mapping of VMs onto
available physical hosts
•
For mapping, multiple dimensions are
to be considered. They are:-
•
number of CPUs, amount of memory,
size of virtual disks, and
•
Network bandwidth.
•
Dynamic VM
mapping policies pre-empts low-priority
allocations in favour of higher-priority ones by using
•
Suspend, migrate, and resume VMs.
•
Additional
Challenge (regarding Migration of VMs)
•
Detecting when to initiate a
migration,
•
which VM to migrate, and
•
Where to migrate.
•
Note: - Policies may take advantage
of live migration of virtual machines to relocate data center load without
significantly disrupting running services.
•
Additional concern (regarding note)
•
trade-off between
•
the negative impact of a live
migration on the performance and stability of a service
And
•
the benefits to be achieved with
that migration
•
Another challenge
•
Outstanding (large) amount of
data to be managed in various VM management activities
•
Such amount of data is a result
of particular abilities of virtual machines
•
ability of traveling through space
(i.e., migration) and time (i.e., checkpointing and rewinding),
•
Operations that may be required in
load balancing, backup, and recovery scenarios.
•
In addition,
•
Dynamic provisioning of new VMs and
replicating existing VMs require efficient mechanisms to make VM block storage
devices (e.g., image files) quickly available at selected hosts.
•
Data centers consumes large amounts
of electricity
•
Example
•
USD 2.6 million per year ( given by
HP)
•
1.3 MW of power for 100 server racks
•
1.3 MW are required by the cooling
system
•
Risk
•
data centers significantly impact
the environment in terms of CO2 emissions from the cooling systems
•
Note:-
•
Dynamic resource management improves
utilization and consequently minimize energy consumption in data centers.
• This can be done by consolidating workload onto smaller
number of servers and turning off idle resources
I liked the way you put together everything, there is certainly no need to go any further to look for any additional information. You mentioned each and everything about Multi Cloud Observability.
ReplyDeleteThis comment has been removed by the author.
ReplyDelete