UNIT 3-Distributed Cloud Computing
UNIT 3-Distributed Cloud Computing
S.A.ENGINEERING COLLEGE
DEPARTMENT OF CSE
3.1 INTRODUCTION
EVOLUTION OF DISTRIBUTED COMPUTING
Grids enable access to shared computing power and storage capacity from your desktop.
Clouds enable access to leased computing power and storage capacity from your desktop.
• Grids are an open source technology. Resource users and providers alike can understand
and contribute to the management of their grid
• Clouds are a proprietary technology. Only the resource provider knows exactly how
their cloud manages data, job queues, security requirements and so on.
• The concept of grids was proposed in 1995. The Open science grid (OSG) started in 1995
The EDG (European Data Grid) project began in 2001.
• In the late 1990`s Oracle and EMC offered early private cloud solutions . However the
term cloud computing didn't gain prominence until 2007.
SCALABLE COMPUTING OVER THE INTERNET
Instead of using a centralized computer to solve computational problems, a parallel and
distributed computing system uses multiple computers to solve large-scale problems over the
Internet. Thus, distributed computing becomes data-intensive and network-centric.
The Age of Internet Computing
o high-performance computing (HPC) applications is no longer optimal for measuring
system performance
o The emergence of computing clouds instead demands high-throughput computing (HTC)
systems built with parallel and distributed computing technologies
o We have to upgrade data centers using fast servers, storage systems, and high-bandwidth
networks.
The Platform Evolution
o From 1950 to 1970, a handful of mainframes, including the IBM 360 and CDC 6400
o From 1960 to 1980, lower-cost minicomputers such as the DEC PDP 11 and VAX
Series
o From 1970 to 1990, we saw widespread use of personal computers built with VLSI
microprocessors.
o From 1980 to 2000, massive numbers of portable computers and pervasive devices
appeared in both wired and wireless applications
o Since 1990, the use of both HPC and HTC systems hidden in clusters, grids, or
Internet clouds has proliferated
HTC applications than on HPC applications. Clustering and P2P technologies lead to
the development of computational grids or data grids.
For many years, HPC systems emphasize the raw speed performance. The speed of
HPC systems has increased from Gflops in the early 1990s to now Pflops in 2010.
The development of market-oriented high-end computing systems is undergoing a
strategic change from an HPC paradigm to an HTC paradigm. This HTC paradigm
pays more attention to high-flux computing. The main application for high-flux
computing is in Internet searches and web services by millions or more users
simultaneously. The performance goal thus shifts to measure high throughput or the
number of tasks completed per unit of time. HTC technology needs to not only
improve in terms of batch processing speed, but also address the acute problems of
cost, energy savings, security, and reliability at many data and enterprise computing
centers.
Advances in virtualization make it possible to see the growth of Internet clouds as a
new computing paradigm. The maturity of radio-frequency identification (RFID),
Global Positioning System (GPS), and sensor technologies has triggered the
development of the Internet of Things (IoT). These new paradigms are only briefly
introduced here.
The high-technology community has argued for many years about the precise
definitions of centralized computing, parallel computing, distributed computing, and
cloud computing. In general, distributed computing is the opposite of centralized
computing. The field of parallel computing overlaps with distributed computing to a
great extent, and cloud computing overlaps with distributed, centralized, and parallel
Terms computing.
Centralized computing
This is a computing paradigm by which all computer resources are centralized in
one physical system. All resources (processors, memory, and storage) are fully shared and
tightly coupled within one integrated OS. Many data centers and supercomputers are
centralized systems, but they are used in parallel, distributed, and cloud computing
applications.
• Parallel computing
In parallel computing, all processors are either tightly coupled with centralized shared
memory or loosely coupled with distributed memory. Inter processor communication is
accomplished through shared memory or via message passing. Acomputer system
capable of parallel computing is commonly known as a parallel computer. Programs
running in a parallel computer are called parallel programs. The process of writing
parallel programs is often referred to as parallel programming.
• Distributed computing This is a field of computer science/engineering that studies
distributed systems. A distributed system consists of multiple autonomous computers,
each having its own private memory, communicating through a computer network.
Information exchange in a distributed system is accomplished through message passing.
A computer program that runs in a distributed system is known as a distributed program.
The process of writing distributed programs is referred to as distributed programming.
• Cloud computing An Internet cloud of resources can be either a centralized or a
distributed computing system. The cloud applies parallel or distributed computing, or
both. Clouds can be built with physical or virtualized resources over large data centers
that are centralized or distributed. Some authors consider cloud computing to be a form
of utility computing or service computing. As an alternative to the preceding terms, some
in the high-tech community prefer the term concurrent computing or concurrent
programming. These terms typically refer to the union of parallel computing and
distributing computing, although biased practitioners may interpret them differently.
• Ubiquitous computing refers to computing with pervasive devices at any place and time
using wired or wireless communication. The Internet of Things (IoT) is a networked
connection of everyday objects including computers, sensors, humans, etc. The IoT is
supported by Internet clouds to achieve ubiquitous computing with any object at any
place and time. Finally, the term Internet computing is even broader and covers all
computing paradigms over the Internet. This book covers all the aforementioned
computing paradigms, placing more emphasis on distributed and cloud computing and
their working systems, including the clusters, grids, P2P, and cloud systems.
Internet of Things
• The traditional Internet connects machines to machines or web pages to web pages. The
concept of the IoT was introduced in 1999 at MIT.
• The IoT refers to the networked interconnection of everyday objects, tools, devices, or
computers. One can view the IoT as a wireless network of sensors that interconnect all
things in our daily life.
• It allows objects to be sensed and controlled remotely across existing network
infrastructure
Figure 1.2shows the architecture of a typical server cluster built around a low-latency,
high bandwidth interconnection network. This network can be as simple as a SAN (e.g., Myrinet)
or a LAN (e.g., Ethernet).
• To build a larger cluster with more nodes, the interconnection network can be built with
multiple levels of Gigabit Ethernet, or InfiniBand switches.
• Through hierarchical construction using a SAN, LAN, or WAN, one can build scalable
clusters with an increasing number of nodes. The cluster is connected to the Internet via a
virtual private network (VPN) gateway.
• The gateway IP address locates the cluster. The system image of a computer is decided
by the way the OS manages the shared cluster resources.
Most clusters have loosely coupled node computers. All resources of a server node are
managed by their own OS. Thus, most clusters have multiple system images as a result of having
many autonomous nodes under different OS control.
Single-System Image(SSI)
• Ideal cluster should merge multiple system images into a single-system image (SSI).
• Cluster designers desire a cluster operating system or some middleware to support SSI at
various levels, including the sharing of CPUs, memory, and I/O across all cluster nodes.
An SSI is an illusion created by software or hardware that presents a collection of resources as
one integrated, powerful resource. SSI makes the cluster appear like a single machine to the user.
A cluster with multiple system images is nothing but a collection of independent computers.
Hardware, Software, and Middleware Support
• Clusters exploring massive parallelism are commonly known as MPPs. Almost all HPC
clusters in the Top 500 list are also MPPs.
• The building blocks are computer nodes (PCs, workstations, servers, or SMP), special
communication software such as PVM, and a network interface card in each computer
node.
Most clusters run under the Linux OS. The computer nodes are interconnected by a high-
bandwidth network (such as Gigabit Ethernet, Myrinet, InfiniBand, etc.). Special cluster
middleware supports are needed to create SSI or high availability (HA). Both sequential and
parallel applications can run on the cluster, and special parallel environments are needed to
facilitate use of the cluster resources. For example, distributed memory has multiple images.
Users may want all distributed memory to be shared by all servers by forming distributed shared
memory (DSM). Many SSI features are expensive or difficult to achieve at various cluster
operational levels. Instead of achieving SSI, many clusters are loosely coupled machines. Using
virtualization, one can build many virtual clusters dynamically, upon user demand.
Reasons to adapt the cloud for upgraded Internet applications and web services:
1. Desired location in areas with protected space and higher energy efficiency
2. Sharing of peak-load capacity among a large pool of users, improving overall utilization
3. Separation of infrastructure maintenance duties from domain-specific application development
4. Significant reduction in cloud computing cost, compared with traditional computing
paradigms
5. Cloud computing programming and application development
6. Service and data discovery and content/service distribution
7. Privacy, security, copyright, and reliability issues
8. Service agreements, business models, and pricing policies
� Cloud computing is using the internet to access someone else's software running
on someone else's hardware in someone else's data center.
� The user sees only one resource ( HW, Os) but uses virtually multiple os. HW
resources etc..
� Cloud architecture effectively uses virtualization
� A model of computation and data storage based on “pay as you go” access to “unlimited”
remote data center capabilities
� A cloud infrastructure provides a framework to manage scalable, reliable, on-demand
access to applications
� Cloud services provide the “invisible” backend to many of our mobile applications
� High level of elasticity in consumption
� Historical roots in today’s Internet apps
� Search, email, social networks, e-com sites
� File storage (Live Mesh, Mobile Me)
3.2 Definition
Essential Characteristics 3
3.2.4 Resource pooling.
3.2.4.1 The provider’s computing resources are pooled to serve multiple
consumers using a multi-tenant model, with different physical and
virtual resources dynamically assigned and reassigned according to
consumer demand.
Essential Characteristics 4
3.2.5 Rapid elasticity.
3.2.5.1 Capabilities can be rapidly and elastically provisioned - in some
cases automatically - to quickly scale out; and rapidly released to quickly
scale in.
3.2.5.2 To the consumer, the capabilities available for provisioning often
appear to be unlimited and can be purchased in any quantity at any time.
Essential Characteristics 5
3.2.6 Measured service.
3.2.6.1 Cloud systems automatically control and optimize resource usage by
leveraging a metering capability at some level of abstraction appropriate
to the type of service.
3.2.6.2 Resource usage can be monitored, controlled, and reported -
providing transparency for both the provider and consumer of the service.
3.2.15 The consumer does not manage or control the underlying cloud infrastructure
including network, servers, operating systems, storage, data or even individual
application capabilities, with the possible exception of limited user specific
application configuration settings.
SaaS providers
3.2.16 Google’s Gmail, Docs, Talk etc
3.2.17 Microsoft’s Hotmail, Sharepoint
3.2.18 SalesForce,
3.2.19 Yahoo, Facebook
Infrastructure as a Service (IaaS)
3.2.20 IaaS is the delivery of technology infrastructure ( mostly hardware) as an on
demand, scalable service
3.2.20.1 Usually billed based on usage
3.2.20.2 Usually multi tenant virtualized environment
3.2.20.3 Can be coupled with Managed Services for OS and application support
3.2.20.4 User can choose his OS, storage, deployed app, networking components
◦
3.2.22 Consumer is able to deploy and run arbitrary software, which may include
operating systems and applications.
3.2.23 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 (e.g., host firewalls).
IaaS providers
3.2.24 Amazon Elastic Compute Cloud (EC2)
3.2.24.1 Each instance provides 1-20 processors, upto 16 GB RAM, 1.69TB storage
3.2.25 RackSpace Hosting
3.2.25.1 Each instance provides 4 core CPU, upto 8 GB RAM, 480 GB storage
3.2.26 Joyent Cloud
3.2.26.1 Each instance provides 8 CPUs, upto 32 GB RAM, 48 GB storage
3.2.27 Go Grid
3.2.27.1 Each instance provides 1-6 processors, upto 15 GB RAM, 1.69TB storage
PaaS providers
3.2.31 Google App Engine
3.2.31.1 Python, Java, Eclipse
II Hardware Evolution
In 1930, binary arithmetic was developed
computer processing technology, terminology, and programming languages.
• In 1939,Electronic computer was developed
Computations were performed using vacuum-tube technology.
• In 1941, Konrad Zuse's Z3 was developed
Support both floating-point and binary
arithmetic. There are four generations
First Generation Computers
Second Generation Computers
Third Generation Computers
Fourth Generation Computers
a.First Generation Computers
Time Period : 1942 to 1955
Technology : Vacuum Tubes
Size : Very Large System
Processing : Very Slow
Examples:
1.ENIAC (Electronic Numerical Integrator and Computer)
2.EDVAC(Electronic Discrete Variable Automatic Computer)
Advantages:
• It made use of vacuum tubes which was the advanced technology at that time
• Computations were performed in milliseconds.
Disadvantages:
• very big in size, weight was about 30 tones.
• very costly.
• Requires more power consumption
•Large amount heat was generated.
Advantages:
Fastest in computation and size get reduced as compared to the previous generation of
computer. Heat generated is small.
Less maintenance is required.
Disadvantages:
The Microprocessor design and fabrication are very complex.
Air Conditioning is required in many cases
NLS was designed to cross-reference research papers for sharing among geographically
distributed researchers.
In the 1980s, Web was developed in Europe by Tim Berners-Lee and Robert Cailliau
d.Building a Common Interface to the Internet
Betters-Lee developed the first web browser featuring an integrated editor that could
create hypertext documents.
Following this initial success, Berners-Lee enhanced the server and browser by adding
support for the FTP (File Transfer protocol)
Mosaic was the first widely popular web browser available to the general public. Mosaic
support for graphics, sound, and video clips.
In October 1994, Netscape released the first beta version of its browser, Mozilla 0.96b,
over the Internet.
In 1995, Microsoft Internet Explorer was developed that supports both a graphical Web
browser and the name for a set of technologies.
Mozilla Firefox. released in November 2004, became very popular almost immediately.
The Globus Toolkit is an open source software toolkit used for building grid systems and
applications
Early examples of MPP systems were the Distributed ArrayProcessor, the Goodyear
MPP, the Connection Machine, and the Ultracomputer
MPP machines are not easy to program, but for certain applications, such as data mining,
they are the best solution
3.4.8 Elasticity also introduces a new important factor, which is the speed.
3.4.9 Rapid provisioning and deprovisioning are key to maintaining
an acceptable performance in the context of cloud computing
3.4.10 Quality of service is subjected to a service level agreement
Classification
Elasticity solutions can be arranged in different classes based on
3.4.11 Scope
3.4.12 Policy
3.4.13 Purpose
3.4.14 Method
a.Scope
� Elasticity can be implemented on any of the cloud layers.
� Most commonly, elasticity is achieved on the IaaS level, where the resources to
be provisioned are virtual machine instances.
� Other infrastructure services can also be scaled
� On the PaaS level, elasticity consists in scaling containers or databases for instance.
� Finally, both PaaS and IaaS elasticity can be used to implement elastic applications, be it
for private use or in order to be provided as a SaaS
� The elasticity actions can be applied either at the infrastructure or
application/platform level.
� The elasticity actions perform the decisions made by the elasticity strategy or
management system to scale the resources.
� Google App Engine and Azure elastic pool are examples of elastic Platform as a Service
(PaaS).
� Elasticity actions can be performed at the infrastructure level where the elasticity
controller monitors the system and takes decisions.
� The cloud infrastructures are based on the virtualization technology, which can be
VMs or containers.
� In the embedded elasticity, elastic applications are able to adjust their own resources
according to runtime requirements or due to changes in the execution flow.
� There must be a knowledge of the source code of the applications.
� Application Map: The elasticity controller must have a complete map of the
application components and instances.
� Code embedded: The elasticity controller is embedded in the application source code.
� The elasticity actions are performed by the application itself.
� While moving the elasticity controller to the application source code eliminates the use of
monitoring systems
� There must be a specialized controller for each application.
b.Policy
� Elastic solutions can be either manual or automatic.
� A manual elastic solution would provide their users with tools to monitor their
systems and add or remove resources but leaves the scaling decision to them.
Automatic mode: All the actions are done automatically, and this could be classified into
reactive and proactive modes.
Elastic solutions can be either reactive or predictive
Reactive mode: The elasticity actions are triggered based on certain thresholds or rules, the
system reacts to the load (workload or resource utilization) and triggers actions to adapt changes
accordingly.
� An elastic solution is reactive when it scales a posteriori, based on a monitored change in
the system.
� These are generally implemented by a set of Event-Condition-Action rules.
Proactive mode: This approach implements forecasting techniques, anticipates the future
needs and triggers actions based on this anticipation.
� A predictive or proactive elasticity solution uses its knowledge of either recent history or
load patterns inferred from longer periods of time in order to predict the upcoming load
of the system and scale according to it.
c.Purpose
� An elastic solution can have many purposes.
� The first one to come to mind is naturally performance, in which case the focus should be
put on their speed.
� Another purpose for elasticity can also be energy efficiency, where using the
minimum amount of resources is the dominating factor.
� Other solutions intend to reduce the cost by multiplexing either resource providers or
elasticity methods
� Elasticity has different purposes such as improving performance, increasing resource
capacity, saving energy, reducing cost and ensuring availability.
� Once we look to the elasticity objectives, there are different perspectives.
� Cloud IaaS providers try to maximize the profit by minimizing the resources
while offering a good Quality of Service (QoS),
� PaaS providers seek to minimize the cost they pay to the
Cloud.
� The customers (end-users) search to increase their Quality of Experience (QoE) and
to minimize their payments.
� QoE is the degree of delight or annoyance of the user of an application or service
d.Method
� Vertical elasticity, changes the amount of resources linked to existing instances on-
the-fly.
� This can be done in two manners.
� The first method consists in explicitly redimensioning a virtual machine instance, i.e.,
changing the quota of physical resources allocated to it.
� This is however poorly supported by common operating systems as they fail to take into
account changes in CPU or memory without rebooting, thus resulting in service
interruption.
� The second vertical scaling method involves VM migration: moving a virtual machine
instance to another physical machine with a different overall load changes its available
resources
Migration
� Migration can be also considered as a needed action to further allow the vertical
scaling when there is no enough resources on the host machine.
� It is also used for other purposes such as migrating a VM to a less loaded physical
machine just to guarantee its performance.
� Several types of migration are deployed such as live migration and no-live migration.
� Live migration has two main approaches
� post-copy
� pre-copy
� Post-copy migration suspends the migrating VM, copies minimal processor state to
the target host, resumes the VM and then begins fetching memory pages from the source.
� In pre-copy approach, the memory pages are copied while the VM is running on the
source.
� If some pages are changed (called dirty pages) during the memory copy process, they will
be recopied until the number of recopied pages is greater than dirty pages, or the source
VM will be stopped.
� The remaining dirty pages will be copied to the destination VM.
Architecture
� The architecture of the elasticity management solutions can be either centralized
or decentralized.
� Centralized architecture has only one elasticity controller, i.e., the auto scaling
system that provisions and deprovisions resources.
Provider
� Elastic solutions can be applied to a single or multiple cloud providers.
� A single cloud provider can be either public or private with one or multiple regions
or datacenters.
� Multiple clouds in this context means more than one cloud provider.
� It includes hybrid clouds that can be private or public, in addition to the federated clouds
and cloud bursting.
� Most of the elasticity solutions support only a single cloud provider
3.5.8 In order to achieve the goal, the cloud user has to request cloud service provider
to make a provision for the resources either statically or dynamically.
3.5.9 So that the cloud service provider will know how many instances of the
resources and what resources are required for a particular application.
3.5.10 By provisioning the resources, the QoS parameters like availability, throughput,
security, response time, reliability, performance etc must be achieved without
violating SLA
There are two types
Static Provisioning
Dynamic Provisioning
Static Provisioning
3.5.11 For applications that have predictable and generally unchanging
demands/workloads, it is
possible to use “static provisioning" effectively.
3.5.12 With advance provisioning, the customer contracts with the provider for services.
3.5.13 The provider prepares the appropriate resources in advance of start of service.
3.5.14 The customer is charged a flat fee or is billed on a monthly basis.
Dynamic Provisioning
3.5.15 In cases where demand by applications may change or vary, “dynamic
provisioning" techniques have been suggested whereby VMs may be
migrated on-the-fly to new compute nodes within the cloud.
3.5.16 The provider allocates more resources as they are needed and removes them
when they
are not.
3.5.17 The customer is billed on a pay-per-use basis.
3.5.18 When dynamic provisioning is used to create a hybrid cloud, it is sometimes
referred to as cloud bursting.
Parameters for Resource Provisioning
3.5.19 Response time
3.5.20 Minimize Cost
3.5.21 Revenue Maximization
3.5.22 Fault tolerant
3.5.23 Reduced SLA Violation
3.5.24 Reduced Power Consumption
Response time: The resource provisioning algorithm designed must take minimal time to
respond when executing the task.
Minimize Cost: From the Cloud user point of view cost should be minimized.
Revenue Maximization: This is to be achieved from the Cloud Service Provider’s view.
Fault tolerant: The algorithm should continue to provide service in spite of failure of nodes.
Reduced SLA Violation: The algorithm designed must be able to reduce SLA violation.
Reduced Power Consumption: VM placement & migration techniques must lower power
consumption
Dynamic Provisioning Types
1. Local On-demand Resource Provisioning
2. Remote On-demand Resource Provisioning
Local On-demand Resource Provisioning
1. The Engine for the Virtual Infrastructure
The OpenNebula Virtual Infrastructure Engine
• OpenNEbula creates a distributed virtualization layer
• Extend the benefits of VM Monitors from one to multiple resources
• Decouple the VM (service) from the physical location
• Transform a distributed physical infrastructure into a flexible and elastic virtual
infrastructure, which adapts to the changing demands of the VM (service) workloads
Cluster Partitioning
• Dynamic partition of the infrastructure
• Isolate workloads (several computing clusters)
• Dedicated HA partitions
"pay-per-use model for enabling available, convenient and on-demand network access to a
shared pool
Department of configurable computingVII
of CSE resources
Semester(e.g., networks, servers, storage, 35
applications and services) that can be rapidly provisioned and released with minimal
management effort or service provider interaction."
S.A.ENGINEERING COLLEGE IT1701 DISTRIBUTED SYSTEMS AND CLOUD COMPUTING
Architecture
3.6.1.4 Architecture consists of 3 tiers
3.6.1.4.1 Cloud Deployment Model
3.6.1.4.2 Cloud Service Model
3.6.1.4.3 Essential Characteristics of Cloud Computing .
Essential Characteristics 1
3.6.1.5 On-demand self-service.
3.6.1.5.1 A consumer can unilaterally provision computing
capabilities such as server time and network storage as
needed automatically, without requiring human interaction
with a service provider.
Essential Characteristics 2
3.6.1.6 Broad network access.
3.6.1.6.1 Capabilities are available over the network and accessed
through standard mechanisms that promote use by
heterogeneous thin or thick client platforms (e.g., mobile
phones, laptops, and PDAs) as well as other traditional or
cloudbased software services.
Essential Characteristics 3
3.6.1.7 Resource pooling.
3.6.1.7.1 The provider’s computing resources are pooled to serve
multiple consumers using a multi-tenant model, with
different physical and virtual resources dynamically
assigned and reassigned according to consumer demand.
Essential Characteristics 4
3.6.1.8 Rapid elasticity.
3.6.1.8.1 Capabilities can be rapidly and elastically provisioned - in
some cases automatically - to quickly scale out; and
rapidly released to quickly scale in.
3.6.1.8.2 To the consumer, the capabilities available for
provisioning often appear to be unlimited and can be
purchased in any quantity at any time.
Essential Characteristics 5
3.6.1.9 Measured service.
3.6.1.9.1 Cloud systems automatically control and optimize
resource usage by leveraging a metering capability at
some level of abstraction appropriate to the type of
service.
Resource usage can be monitored, controlled, and reported - providing transparency for both
Department of CSE
the provider and consumer of the service. VII Semester 37
S.A.ENGINEERING COLLEGE IT1701 DISTRIBUTED SYSTEMS AND CLOUD COMPUTING
• The audit may involve interactions with both the Cloud Consumer and the Cloud
Provider.
Cloud Consumer
� The cloud consumer is the principal stakeholder for the cloud computing service.
� A cloud consumer represents a person or organization that maintains a
business relationship with, and uses the service from a cloud provider.
The cloud consumer may be billed for the service provisioned, and needs to arrange
payments accordingly.
Example Services Available to a Cloud Consumer
� The consumers of SaaS can be organizations that provide their members with
access to software applications, end users or software application administrators.
� SaaS consumers can be billed based on the number of end users, the time of use,
the network bandwidth consumed, the amount of data stored or duration of stored
data.of CSE
Department VII Semester 41
S.A.ENGINEERING COLLEGE IT1701 DISTRIBUTED SYSTEMS AND CLOUD COMPUTING
� Cloud consumers of PaaScan employ the tools and execution resources provided
by cloud providers to develop, test, deploy and manage the applications.
� PaaS consumers can be application developers or application testers who run and test
applications in cloud-based environments,.
� PaaS consumers can be billed according to, processing, database storage and network
resources consumed.
� Consumers of IaaS have access to virtual computers, network-accessible storage
& network infrastructure components.
� The consumers of IaaS can be system developers, system administrators and
IT managers.
� IaaS consumers are billed according to the amount or duration of the
resources consumed, such as CPU hours used by virtual computers, volume and
duration of data stored.
Cloud Provider
� A cloud provider is a person, an organization;
� It is the entity responsible for making a service available to interested parties.
� A Cloud Provider acquires and manages the computing infrastructure required for
providing the services.
� Runs the cloud software that provides the services.
Makes arrangement to deliver the cloud services to the Cloud Consumers through network
access.
Cloud Auditor
� A cloud auditor is a party that can perform an independent examination of cloud
service controls.
� Audits are performed to verify conformance to standards through review of objective
evidence.
� A cloud auditor can evaluate the services provided by a cloud provider in terms
of security controls, privacy impact, performance, etc.
Cloud Broker
� Integration of cloud services can be too complex for cloud consumers to manage.
� A cloud consumer may request cloud services from a cloud broker, instead of
contacting a cloud provider directly.
� A cloud broker is an entity that manages the use, performance and delivery of
cloud services. Negotiates relationships between cloud providers and cloud
consumers.
Services of cloud broker
Service Intermediation:
� A cloud broker enhances a given service by improving some specific capability
and providing value-added services to cloud consumers.
Service Aggregation:
� A cloud broker combines and integrates multiple services into one or more
new services.
� The broker provides data integration and ensures the secure data movement
between the cloud consumer and multiple cloud providers.
Services of cloud broker
Service Arbitrage:
� Service arbitrage is similar to service aggregation except that the services
being aggregated are not fixed.
� Service arbitrage means a broker has the flexibility to choose services from
multiple agencies.
Eg: The cloud broker can use a credit-scoring service to measure and select an agency with
the best score.
Cloud Carrier
� A cloud carrier acts as an intermediary that provides connectivity and transport of
cloud services between cloud consumers and cloud providers.
� A public cloud is one in which the cloud infrastructure and computing resources are
made available to the general public over a public network.
� A public cloud is meant to serve a multitude(huge number) of users, not a single
customer.
� A fundamental characteristic of public clouds is multitenancy.
� Multitenancy allows multiple users to work in a software environment at the same
time, each with their own resources.
� Built over the Internet (i.e., service provider offers resources, applications storage to
the customers over the internet) and can be accessed by any user.
� Owned by service providers and are accessible through a subscription.
� Best Option for small enterprises, which are able to start their businesses without
large up-front(initial) investment.
� By renting the services, customers were able to dynamically upsize or downsize their
IT according to the demands of their business.
� Services are offered on a price-per-use basis.
� Promotes standardization, preserve capital investment
� Public clouds have geographically dispersed datacenters to share the load of users
and better serve them according to their locations
� Provider is in control of the infrastructure
Examples:
o Amazon EC2 is a public cloud that provides Infrastructure as a Service
o Google AppEngine is a public cloud that provides Platform as a Service
o SalesForce.com is a public cloud that provides software as a service.
Advantage
� Offers unlimited scalability – on demand resources are available to meet your
business needs.
� Lower costs—no need to purchase hardware or software and you pay only for the
service you use.
� No maintenance - Service provider provides the maintenance.
� Offers reliability: Vast number of resources are available so failure of a system will
not interrupt service.
� Services like SaaS, PaaS, IaaS are easily available on Public Cloud platform as it
can be accessed from anywhere through any Internet enabled devices.
� Location independent – the services can be accessed from any location
Disadvantage
� No control over privacy or security
� Cannot be used for use of sensitive applications(Government and Military
agencies will not consider Public cloud)
� Lacks complete flexibility(since dependent on provider)
� No stringent (strict) protocols regarding data management
Private Cloud
� Cloud services are used by a single organization, which are not exposed to the public
� Services are always maintained on a private network and the hardware and
software are dedicated only to single organization
� Private cloud is physically located at
Organization’s premises [On-site private clouds] (or)
Outsourced(Given) to a third party[Outsource private Clouds]
� It may be managed either by
� Cloud Consumer organization (or)
By a third party
� Private clouds are used by
government agencies
financial institutions
Mid size to large-size organisations.
� On-site private clouds
Hybrid Cloud
� Built with both public and private clouds
� It is a heterogeneous cloud resulting from a private and public clouds.
� Private cloud are used for
sensitive applications are kept inside the organization’s network
business-critical operations like financial reporting
� Public Cloud are used when
Other services are kept outside the organization’s network
high-volume of data
Lower-security needs such as web-based email(gmail,yahoomail etc)
� The resources or services are temporarily leased for the time required and then
released. This practice is also known as cloud bursting.
Advantage
� It is scalable
� Offers better security
� Flexible-Additional resources are availed in public cloud when needed
� Cost-effectiveness—we have to pay for extra resources only when needed.
� Control - Organisation can maintain a private infrastructure for sensitive application
Disadvantage
� Infrastructure Dependency
� Possibility of security breach(violate) through public cloud
These models are offered based on various SLAs between providers and users
SLA of cloud computing covers
o service availability
o performance
data protection
o Security
Software as a Service(SaaS)( Complete software offering on the cloud)
� SaaS is a licensed software offering on the cloud and pay per use
� SaaS is a software delivery methodology that provides licensed multi-tenant access to
software and its functions remotely as a Web-based service.
Usually billed based on usage
◦ Usually multi tenant environment
Department of CSE VII Semester 51
S.A.ENGINEERING COLLEGE IT1701 DISTRIBUTED SYSTEMS AND CLOUD COMPUTING
IaaS providers
� Amazon Elastic Compute Cloud (EC2)
◦ Each instance provides 1-20 processors, upto 16 GB RAM, 1.69TB storage
� RackSpace Hosting
◦ Each instance provides 4 core CPU, upto 8 GB RAM, 480 GB storage
� Joyent Cloud
◦ Each instance provides 8 CPUs, upto 32 GB RAM, 48 GB storage
� Go Grid
◦ Each instance provides 1-6 processors, upto 15 GB RAM, 1.69TB storage
Characteristics of PaaS
Runtime framework: Executes end-user code according to the policies set by the user and
the provider.
Abstraction: PaaS helps to deploy(install) and manage applications on the cloud.
Solution:
o Some SaaS providers provide the opportunity to defend against DDoS attacks by
using quick scale-ups.
Customers cannot easily extract their data and programs from one site to run on another.
Solution:
o Have standardization among service providers so that customers can deploy (install)
services and data across multiple cloud providers.
Data Lock-in
It is a situation in which a customer using service of a provider cannot be moved to another
service provider because technologies used by a provider will be incompatible with other
providers.
This makes a customer dependent on a vendor for services and makes customer unable to
use service of another vendor.
Solution:
o Have standardization (in technologies) among service providers so that customers
can easily move from a service provider to another.