You are on page 1of 19

KMMIPS-TIRUPATI

Unit-1 Cloud Computing

High-Performance versus High-Throughput Computing

For a long time, high-performance computing (HPC) systems emphasizes the raw speed performance.
The speed of HPC systems increased from Gflops in the early 1990’s to now Pflops in 2010. This
improvement was driven mainly by demands from scientific, engineering, and manufacturing
communities in the past. The speed performance in term of floating-point computing capability on a
single system is facing some challenges by the business computing users. This flops speed measures the
time to complete the execution of a single large computing task, like the Linpack benchmark used in
Top-500 ranking. In reality, the number of users of the Top-500 HPC computers is rather limited to only
10% of all computer users.

Today, majority of computer users are still using desktop computers and servers either locally or in
huge datacenters, when they conduct Internet search and market-driven computing tasks. The
development of market-oriented high-end computing systems is facing a strategic change from the HPC
paradigm to a high-throughput computing (HTC) paradigm. This HTC paradigm pays more attention to
high-flux multi-computing. The main application of high-flux computing system lies in Internet searches
and web services by millions or more users simultaneously. The performance goal is thus shifted to
measure the high throughput or the number of tasks completed per unit of time. HTC technology needs
to improve not only high speed in batch processing, but also address the acute problem of cost, energy
saving, security, and reliability at many datacenters and enterprise computing centers. This book is
designed to address both HPC and HTC systems, that meet the demands of all computer users.

Levels of Parallelism:

Bit-level parallelism (BLP) converts bit-serial processing to word-level processing gradually. We started
with 4-bit microprocessors to 8, 16, 32 and 64-bit CPUs over the years. The next wave of improvement is
the instruction-level parallelism (ILP). When we shifted from using processor to execute single
instruction at a time to execute multiple instructions simultaneously, we have practiced ILP through
pipelining, superscalar, VLIW (very-long instruction word), and multithreading in the past 30 years. ILP
demands branch prediction, dynamic scheduling, speculation, and higher degree of compiler support to
make it work efficiently.

Data-level parallelism (DLP) was made popular through SIMD (single-instruction and multiple-data) and
vector machines using vector or array types of instructions. DLP demands both even more hardware
support and compiler assistance to work properly. Ever since the introduction of multicore processors
and chip multiprocessors (CMP), we explore the

task-level parallelism (TLP). A modern processor explores all of the above parallelism types. The BLP,
ILP, and DLP are well supported by advances in hardware and compilers. However, the TLP is far from
being very successful due to the difficulty in programming and compilation of codes for efficient
execution on multicores and CMPs. As we move from parallel processing to distributed processing, we
will see the increase of computing granularity to job-level parallelism (JLP). It is fair to say the coarse-
grain parallelism is built on top of the fine-grain parallelism.
KMMIPS-TIRUPATI

Internet Computing

The rapid development of the Internet has resulted in billions of people login online everyday. As a
result, supercomputer sites and datacenters have changed from providing high performance floating-
point computing capabilities to concurrently servicing huge number of requests from billions of users.
The development of computing clouds computing and the widely adoption of provided computing
services demand HTC systems which are often built parallel and distributed computing technologies. We
cannot meet the future computing demand by pursuing only the Linpack performance on a handful of
computers. We must build efficient datacenters using low-cost servers, storage systems, and high-
bandwidth networks.

In the future, both HPC and HTC demand multi-core processors that can handle hundreds or thousands
of computing threads, tens-of-kilo-thread node prototype, and mobile cloud services platform
prototype. Both types of systems emphasize parallelism and distributed computing. Future HPC and HTC
systems must satisfy the huge demand of computing power in terms of throughput, efficiency,
scalability, reliability etc. The term of high efficiency used here means not only speed performance of
computing systems, but also the work efficiency (including the programming efficiency) and the energy
efficiency in term of throughput per watt of energy consumed. To achieve these goals, three key
scientific issues must be addressed.

(1) Efficiency measured in building blocks and execution model to exploit massive parallelism as in HPC.
This may include data access and storage model for HTC and energy efficiency.

(2) Dependability in terms of reliability and self-management from the chip to system and application
levels. The purpose is to provide high-throughput service with QoS assurance even under failure
conditions.

(3) Adaptation in programming model which can support billions of job requests over massive datasets,
virtualized cloud resources, and flexible application service model.

Technologies for Network Enabled Systems.

For HTC and HPC Systems , processor speed is measured in millions of instructions per second (MIPS)
and network bandwidth is measured in megabits per second (Mbps) or gigabits per second (Gbps). The
unit GE refers to 1 Gbps Ethernet bandwidth,Storage,Software (in terms of middleware) are to be
considered.

a)Advances in CPU Processors


Today, advanced CPUs or microprocessor chips assume a multicore architecture with dual, quad, six, or
more processing cores. These processors exploit parallelism at ILP and TLP levels. Processor speed
growth is plotted in the upper curve in Figure 1.4 across generations of microprocessors or CMPs. We
see growth from 1 MIPS for the VAX 780 in 1978 to 1,800 MIPS for the Intel Pentium 4 in 2002, up to a
22,000 MIPS peak for the Sun Niagara 2 in 2008. As the figure shows, Moore’s law has proven to be
pretty accurate in this case. The clock rate for these processors increased from 10 MHz for the Intel 286
to 4 GHz for the Pentium 4 in 30 years.
KMMIPS-TIRUPATI

However, the clock rate reached its limit on CMOS-based chips due to power limitations. At the time of
this writing, very few CPU chips run with a clock rate exceeding 5 GHz. In other words, clock rate will not
continue to improve unless chip technology matures. This limitation is attributed primarily to excessive
heat generation with high frequency or high voltages. The ILP is highly exploited in modern CPU
processors. ILP mechanisms include multiple-issue superscalar architecture, dynamic branch prediction,
and speculative execution, among others. These ILP techniques demand hardware and compiler
support. In addition, DLP and TLP are highly explored in graphics processing units (GPUs) that adopt a
many-core architecture with hundreds to thousands of simple cores.

Both multi-core CPU and many-core GPU processors can handle multiple instruction threads at different
magnitudes today. Figure 1.5 shows the architecture of a typical multicore processor. Each core is
essentially a processor with its own private cache (L1 cache). Multiple cores are housed in the same chip
with an L2 cache that is shared by all cores. In the future, multiple CMPs could be built on the same CPU
chip with even the L3 cache on the chip. Multicore and multithreaded CPUs are equipped with many
high-end processors, including the Intel i7, Xeon, AMD Opteron, Sun Niagara, IBM Power 6, and X cell
processors.

b)Multicore CPU and Many-Core GPU Architectures

Multicore CPUs may increase from the tens of cores to hundreds or more in the future. But the CPU has
reached its limit in terms of exploiting massive DLP due to the aforementioned memory wall problem.
This has triggered the development of many-core GPUs with hundreds or more thin cores. Both IA-32
and IA-64 instruction set architectures are built into commercial CPUs. Now, x-86 processors have been
extended to serve HPC and HTC systems in some high-end server processors.

c)Multithreading Technology
Consider in Figure 1.6 the dispatch of five independent threads of instructions to four pipelined data
paths (functional units) in each of the following five processor categories, from left to right: a
four-issue superscalar processor, a fine-grain multithreaded processor, a coarse-grain multithreaded
processor, a two-core CMP, and a simultaneous multithreaded (SMT) processor. The superscalar
processor is single-threaded with four functional units. Each of the three multithreaded processors is
KMMIPS-TIRUPATI

four-way multithreaded over four functional data paths. In the dual-core processor, assume two
processing cores, each a single-threaded two-way superscalar processor.
Instructions from different threads are distinguished by specific shading patterns for instructions
from five independent threads. Typical instruction scheduling patterns are shown here. Only instructions
from the same thread are executed in a superscalar processor. Fine-grain multithreading switches the
execution of instructions from different threads per cycle. Course-grain multithreading executes many
instructions from the same thread for quite a few cycles before switching to another thread. The
multicore CMP executes instructions from different threads completely. The SMT allows simultaneous
scheduling of instructions from different threads in the same cycle.

d)GPU

A GPU is a graphics coprocessor or accelerator mounted on a computer’s graphics card or video


card. A GPU offloads the CPU from tedious graphics tasks in video editing applications. The world’s first
GPU, the GeForce 256, was marketed by NVIDIA in 1999. These GPU chips can process a minimum of 10
million polygons per second, and are used in nearly every computer on the market today. Some GPU
features were also integrated into certain CPUs. Traditional CPUs are structured with only a few cores.
For example, the Xeon X5670 CPU has six cores. However, a modern GPU chip can be built with
hundreds of processing cores. Unlike CPUs, GPUs have a throughput architecture that exploits massive
parallelism by executing many concurrent threads slowly, instead of executing a single long thread in a
conventional microprocessor very quickly. Lately, parallel GPUs or GPU clusters have been garnering a
lot of attention against the use of CPUs with limited parallelism. General-purpose computing on
GPUs, known as GPGPUs, have appeared in the HPC field.

Early GPUs functioned as coprocessors attached to the CPU. Today, the NVIDIA GPU has been upgraded
to 128 cores on a single chip. Furthermore, each core on a GPU can handle eight threads of instructions.
This translates to having up to 1,024 threads executed concurrently on a single GPU. This is true massive
parallelism, compared to only a few threads that can be handled by a conventional CPU. The CPU is
KMMIPS-TIRUPATI

optimized for latency caches, while the GPU is optimized to deliver much higher throughput with
explicit management of on-chip memory. the CPU chip consumes about 2 nJ/instruction, while the GPU
chip requires 200 pJ/instruction, which is 1/10 less than that of the CPU. The CPU is optimized for
latency in caches and memory, while the GPU is optimized for throughput with explicit management of
on-chip memory.

e)Memory Technology

The upper curve in Figure 1.10 plots the growth of DRAM chip capacity from 16 KB in 1976 to 64 GB
in 2011. This shows that memory chips have experienced a 4x increase in capacity every three years.
Memory access time did not improve much in the past. In fact, the memory wall problem is getting
worse as the processor gets faster. For hard drives, capacity increased from 260 MB in 1981 to 250 GB
in 2004. The Seagate Barracuda XT hard drive reached 3 TB in 2011. This represents an approximately
10x increase in capacity every eight years. The capacity increase of disk arrays will be even greater in
the years to come. Faster processor speed and larger memory capacity result in a wider gap between
processors and memory. The memory wall may become even worse a problem limiting the CPU
performance in the future.
f) Disks and Storage Technology

Beyond 2011, disks or disk arrays have exceeded 3 TB in capacity. The lower curve in shows the disk
storage growth in 7 orders of magnitude in 33 years. The rapid growth of flash memory and solid-state
drives (SSDs) also impacts the future of HPC and HTC systems. The mortality rate of SSD is not bad at all.
A typical SSD can handle 300,000 to 1 million write cycles per block. So the SSD can last for several years,
even under conditions of heavy write usage. Flash and SSD will demonstrate impressive speedups in
many applications.

g)System-Area Interconnects

The nodes in small clusters are mostly interconnected by an Ethernet switch or a local area network
(LAN). LAN typically is used to connect client hosts to big servers. A storage area network (SAN)
connects servers to network storage such as disk arrays. Network attached storage (NAS) connects
client hosts directly to the disk arrays. All three types of networks often appear in a large cluster built
with commercial network components. If no large distributed storage is shared, a small cluster could be
built with a multiport Gigabit Ethernet switch plus copper cables to link the end machines. All three
types of networks are commercially available.
KMMIPS-TIRUPATI

h)Wide-Area Networking
The lower curve in Figure 1.10 plots the rapid growth of Ethernet bandwidth from 10 Mbps in 1979 to 1
Gbps in 1999, and 40 ~ 100 GE in 2011. It has been speculated that 1 Tbps network links will become
available by 2013. According to Berman, Fox, and Hey [6], network links with 1,000, 1,000, 100, 10, and
1 Gbps bandwidths were reported, respectively, for international, national, organization, optical
desktop, and copper desktop connections in 2006. An increase factor of two per year on network
performance was reported, which is faster than Moore’s law on CPU speed doubling every 18 months.
The implication is that more computers will be used concurrently in the future. High-bandwidth
networking increases the capability of building massively distributed systems.
i) Virtual Machines and Virtualization Middleware
A conventional computer has a single OS image. This offers a rigid architecture that tightly couples
application software to a specific hardware platform. Some software running well on one machine
may not be executable on another platform with a different instruction set under a fixed OS. Virtual
machines (VMs) offer novel solutions to underutilized resources, application inflexibility, software
manageability, and security concerns in existing physical machines.

Today, to build large clusters, grids, and clouds, we need to access large amounts of computing,
storage, and networking resources in a virtualized manner. We need to aggregate those resources,
and hopefully, offer a single system image. In particular, a cloud of provisioned resources must rely
on virtualization of processors, memory, and I/O facilities dynamically

Convergence of Technologies
Essentially, cloud computing is enabled by the convergence of technologies in four areas: (1) hardware
virtualization and multi-core chips, (2) utility and grid computing, (3) SOA, Web 2.0, and WS mashups,
and (4) atonomic computing and data center automation. Hardware virtualization and multicore chips
enable the existence of dynamic configurations in the cloud. Utility and grid computing technologies lay
the necessary foundation for computing clouds. Recent advances in SOA, Web 2.0, and mashups of
platforms are pushing the cloud another step forward. Finally, achievements in autonomic computing
and automated data center operations contribute to the rise of cloud computing.

System Models in Network Based Systems

Distributed and cloud computing systems are built over a large number of autonomous computer
nodes. These node machines are interconnected by SANs, LANs, or WANs in a hierarchical manner.
With today’s networking technology, a few LAN switches can easily connect hundreds of machines as a
working cluster. A WAN can connect many local clusters to form a very large cluster of clusters. massive
systems are classified into four groups: clusters, P2P networks, computing grids, and Internet clouds
over huge data centers. In terms of node number, these four system classes may involve hundreds,
thousands, or even millions of computers as participating nodes.
KMMIPS-TIRUPATI

a)Clusters of Cooperative Computers


A computing cluster consists of interconnected stand-alone computers which work cooperatively as a
single integrated computing resource. In the past, clustered computer systems have demonstrated
impressive results in handling heavy workloads with large data sets.

Figure shows 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, Myrinet, 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.
KMMIPS-TIRUPATI

It has indicated that an 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.

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 or MPI, 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.
Design Issues
Unfortunately, a cluster-wide OS for complete resource sharing is not available yet. Middleware or OS
extensions were developed at the user space to achieve SSI at selected functional levels. Without this
middleware, cluster nodes cannot work together effectively to achieve cooperative computing. The
software environments and applications must rely on the middleware to achieve high performance.
b)Grid Computing Infrastructures
In the past 30 years, users have experienced a natural growth path from Internet to web and grid
computing services. Internet services such as the Telnet command enables a local computer to connect
to a remote computer. A web service such as HTTP enables remote access of remote web pages. Grid
computing is envisioned to allow close interaction among applications running on distant computers
simultaneously.
Computational Grids
Like an electric utility power grid, a computing grid offers an infrastructure that couples computers,
software/middleware, special instruments, and people and sensors together. The grid is often constructed
across LAN, WAN, or Internet backbone networks at a regional, national, or global scale. Enterprises or
organizations present grids as integrated computing resources. They can also be viewed as virtual
platforms to support virtual organizations. The computers used in a grid are primarily workstations,
servers, clusters, and supercomputers. Personal computers, laptops, and PDAs can be used as access
devices to a grid system.

Computational grid built over multiple resource sites owned by different organizations. The resource
sites offer complementary computing resources, including workstations, large servers, a mesh of
processors, and Linux clusters to satisfy a chain of computational needs. The grid is built across various
IP broadband networks including LANs and WANs already used by enterprises or organizations over the
Internet. The grid is presented to users as an integrated resource pool as shown in the upper half of the
figure. At the client end, we see wired or wireless terminal devices. The grid integrates the computing,
KMMIPS-TIRUPATI

communication, contents, and transactions as rented services. Enterprises and consumers form the
user base, which then defines the usage trends and service characteristics. grid systems are
classified in essentially two categories: computational or data grids and P2P grids.

Grid technology demands new distributed computing models, software/middleware support, network
protocols, and hardware infrastructures. National grid projects are followed by industrial grid platform
development by IBM, Microsoft, Sun, HP, Dell, Cisco, EMC, Platform Computing, and others. New grid
service providers (GSPs) and new grid applications have emerged rapidly, similar to the growth of
Internet and web services in the past two decades

c)Peer-to-Peer Network Families


well-established distributed system is the client-server architecture. In this scenario, client machines
(PCs and workstations) are connected to a central server for compute, e-mail, file access, and database
applications. The P2P architecture offers a distributed model of networked systems. First, a P2P
network is client-oriented instead of server-oriented. In this section, P2P systems are introduced at the
physical level and overlay networks at the logical level.

In a P2P system, every node acts as both a client and a server, providing part of the system resources.
Peer machines are simply client computers connected to the Internet. All client machines act
autonomously to join or leave the system freely. This implies that no master-slave relationship exists
among the peers. No central coordination or central database is needed. In other words, no peer
machine has a global view of the entire P2P system. The system is self-organizing with distributed
control.

the architecture of a P2P network at two abstraction levels. Initially, the peers are totally unrelated.
Each peer machine joins or leaves the P2P network voluntarily. Only the participating peers form the
physical network at any time. Unlike the cluster or grid, a P2P network does not use a dedicated
interconnection network. The physical network is simply an ad hoc network formed at various Internet
domains randomly using the TCP/IP and NAI protocols. Thus, the physical network varies in size and
topology dynamically due to the free membership in the P2P network.
KMMIPS-TIRUPATI

There are two types of overlay networks: unstructured and structured. An unstructured overlay network is
characterized by a random graph. There is no fixed route to send messages or files among the nodes.
Structured overlay networks follow certain connectivity topology and rules for inserting and removing
nodes (peer IDs) from the overlay graph. Routing mechanisms are developed to take advantage of the
structured overlays.

Based on application, P2P networks are classified into four groups, as shown in Table 1.5. The first
family is for distributed file sharing of digital contents (music, videos, etc.) on the P2P network. This
includes many popular P2P networks such as Gnutella, Napster, and BitTorrent, among others.
Collaboration P2P networks include MSN or Skype chatting, instant messaging, and collaborative
design, among others. The third family is for distributed P2P computing in specific applications.

Issues
P2P computing faces three types of heterogeneity problems in hardware, software, and network
requirements. There are too many hardware models and architectures to select from; incompatibility
exists between software and the OS; and different network connections and protocols. make it too
complex to apply in real applications. We need system scalability as the workload increases. System
scaling is directly related to performance and bandwidth. P2P networks do have these properties. Data
location is also important to affect collective performance. Data locality, network proximity, and
interoperability are three design objectives in distributed P2P applications.

P2P performance is affected by routing efficiency and self-organization by participating peers. Fault
tolerance, failure management, and load balancing are other important issues in using overlay networks.
Lack of trust among peers poses another problem. Peers are strangers to one another. Security, privacy,
and copyright violations are major worries by those in the industry in terms of applying P2P technology in
business applications. By replicating data in multiple peers, one can easily lose data in failed nodes. On
the other hand, disadvantages of P2P networks do exist. Because the system is not centralized,
managing it is difficult. In addition, the system lacks security.

d)Cloud Computing over the Internet


In the future, working with large data sets will typically mean sending the computations (programs) to the
data, rather than copying the data to the workstations. This reflects the trend in IT of moving computing
and data from desktops to large data centers, where there is on-demand provision of software, hardware,
and data as a service. This data explosion has promoted the idea of cloud computing.

“A cloud is a pool of virtualized computer resources. A cloud can host a variety of different workloads,
including batch-style backend jobs and interactive and user-facing applications.” Based on this definition,
a cloud allows workloads to be deployed and scaled out quickly through rapid provisioning of virtual or
physical machines. The cloud supports redundant, self-recovering, highly scalable programming models
that allow workloads to recover from many unavoidable hardware/software failures. Finally, the cloud
system should be able to monitor resource use in real time to enable rebalancing of allocations when
needed.

Cloud computing applies a virtualized platform with elastic resources on demand by provisioning
hardware, software, and data sets dynamically. The idea is to move desktop computing to a service-
oriented platform using server clusters and huge databases at data centers. Cloud computing leverages
its low cost and simplicity to benefit both users and providers. Machine virtualization has enabled such
cost-effectiveness. Cloud computing intends to satisfy many user applications simultaneously. The cloud
ecosystem must be designed to be secure, trustworthy, and dependable. Some computer users think of
KMMIPS-TIRUPATI

the cloud as a centralized resource pool. Others consider the cloud to be a server cluster which practices
distributed computing over all the servers used.

The Following eight 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

NIST Definition of Cloud Computing and Charactersitics


Cloud computing is a model for enabling ubiquitous, 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. This cloud model is composed of five essential characteristics, three service models, and four
deployment models.
Essential Characteristics:
On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server
time and network storage, as needed automatically without requiring human interaction with each service
provider.
Broad network access. 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,
tablets, laptops, and workstations).
Resource pooling. 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. There is a sense of location independence in that the customer generally
has no control or knowledge over the exact location of the provided resources but may be able to specify
location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources
include storage, processing, memory, and network bandwidth.
Rapid elasticity. Capabilities can be elastically provisioned and released, in some cases automatically,
to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities
KMMIPS-TIRUPATI

available for provisioning often appear to be unlimited and can be appropriated in any quantity at any
time.
Measured service. Cloud systems automatically control and optimize resource use by leveraging
a metering capability1 at some level of abstraction appropriate to the type of service (e.g., storage,
processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and
reported, providing transparency for both the provider and consumer of the utilized service.

Service Models of Cloud Computing


Software as a Service (SaaS). The capability provided to the consumer is to use the provider’s
applications running on a cloud infrastructure . The applications are accessible from various client
devices through either a thin client interface, such as a web browser (e.g., web-based email), or a
program interface. The consumer does not manage or control the underlying cloud infrastructure
including network, servers, operating systems, storage, or even individual application capabilities, with
the possible exception of limited user specific application configuration settings.

Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud
infrastructure consumer-created or acquired applications created using programming languages, libraries,
services, and tools supported by the provider. The consumer does not manage or control the underlying
cloud infrastructure including network, servers, operating systems, or storage, but has control over the
deployed applications and possibly configuration settings for the application-hosting environment.

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, and deployed applications; and possibly limited control of select networking components (e.g.,
host firewalls).

Deployment Models of Cloud Computing

Private cloud. The cloud infrastructure is provisioned for exclusive use by a single organization
comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the
organization, a third party, or some combination of them, and it may exist on or off premises.

Community cloud. The cloud infrastructure is provisioned for exclusive use by a specific community of
consumers from organizations that have shared concerns (e.g., mission, security requirements, policy,
KMMIPS-TIRUPATI

and compliance considerations). It may be owned, managed, and operated by one or more of the
organizations in the community, a third party, or some combination of them, and it may exist on or off
premises.

Public cloud. The cloud infrastructure is provisioned for open use by the general public. It may be
owned, managed, and operated by a business, academic, or government organization, or some
combination of them. It exists on the premises of the cloud provider.

Hybrid cloud. The cloud infrastructure is a composition of two or more distinct cloud infrastructures
(private, community, or public) that remain unique entities, but are bound together by standardized or
proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing
between clouds).

NIST Cloud Reference Architecture


The Figure given below an overview of the NIST cloud computing reference architecture, which identifies
the major actors, their activities and functions in cloud computing. The diagram depicts a generic high-
level architecture and is intended to facilitate the understanding of the requirements, uses, characteristics
and standards of cloud computing.
KMMIPS-TIRUPATI

As shown in Figure 1, the NIST cloud computing reference architecture defines five major actors: cloud
consumer, cloud provider, cloud carrier, cloud auditor and cloud broker. Each actor is an entity (a person
or an organization) that participates in a transaction or process and/or performs tasks in cloud computing.
Table 1 briefly lists the actors defined in the NIST cloud computing reference architecture.
KMMIPS-TIRUPATI

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. A cloud consumer browses the service catalog from a cloud provider, requests the
appropriate service, sets up service contracts with the cloud provider, and uses the service.

The cloud consumer may be billed for the service provisioned, and needs to arrange payments
accordingly. Cloud consumers need SLAs to specify the technical performance requirements fulfilled by a
cloud provider. SLAs can cover terms regarding the quality of service, security, remedies for performance
failures. A cloud provider may also list in the SLAs a set of promises explicitly not made to consumers, i.e.
limitations, and obligations that cloud consumers must accept. A cloud consumer can freely choose a
cloud provider with better pricing and more favorable terms.

Services Available to Cloud Consumer

cloud provider
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
KMMIPS-TIRUPATI

providing the services, runs the cloud software that provides the services, and makes arrangement to
deliver the cloud services to the Cloud Consumers through network access.

For Software as a Service, the cloud provider deploys, configures, maintains and updates the operation of
the software applications on a cloud infrastructure so that the services are provisioned at the expected
service levels to cloud consumers.
For PaaS, the Cloud Provider manages the computing infrastructure for the platform and runs the cloud
software that provides the components of the platform, such as runtime software execution stack,
databases, and other middleware components. The PaaS Cloud Provider typically also supports the
development, deployment and management process of the PaaS Cloud Consumer by providing tools
such as integrated development environments (IDEs), development version of cloud software, software
development kits (SDKs), deployment and management tools
For IaaS, the Cloud Provider acquires the physical computing resources underlying the service, including
the servers, networks, storage and hosting infrastructure. The Cloud Provider runs the cloud software
necessary to makes computing resources available to the IaaS Cloud Consumer through a set of service
interfaces and computing resource abstractions, such as virtual machines and virtual network interfaces.

Cloud Auditor
A cloud auditor is a party that can perform an independent examination of cloud service controls with the
intent to express an opinion thereon. 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.
Auditing is especially important for federal agencies as “agencies should include a contractual clause
enabling third parties to assess security controls of cloud providers. Security controls [3] are the
management, operational, and technical safeguards or countermeasures employed within an
organizational information system to protect the confidentiality, integrity, and availability of the system and
its information. For security auditing, a cloud auditor can make an assessment of the security controls in
the information system to determine the extent to which the controls are implemented correctly, operating
as intended, and producing the desired outcome with respect to the security requirements for the system.

Cloud Broker
As cloud computing evolves, the 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 and negotiates relationships between cloud providers and cloud consumers.
In general, a cloud broker can provide services in three categories [9]:
Service Intermediation: A cloud broker enhances a given service by improving some specific capability
and providing value-added services to cloud consumers. The improvement can be managing access to
cloud services, identity management, performance reporting, enhanced security, etc.
KMMIPS-TIRUPATI

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.
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. The cloud broker, for example, 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. Cloud carriers provide access to consumers through network,
telecommunication and other access devices. For example, cloud consumers can obtain cloud services
through network access devices, such as computers, laptops, mobile phones, mobile Internet devices
(MIDs). The distribution of cloud services is normally provided by network and telecommunication carriers
or a transport agent [8], where a transport agent refers to a business organization that provides physical
transport of storage media such as high-capacity hard drives.

Public Cloud Vs Private Cloud


Public clouds are the most common way of deploying cloud computing. The cloud resources (like servers
and storage) are owned and operated by a third-party cloud service provider and delivered over the
Internet. Microsoft Azure is an example of a public cloud. With a public cloud, all hardware, software and
other supporting infrastructure is owned and managed by the cloud provider. In a public cloud, you share
the same hardware, storage and network devices with other organisations or cloud “tenants.” You access
services and manage your account using a web browser. Public cloud deployments are frequently used
to provide web-based email, online office applications, storage and testing and development
environments.
Advantages of public clouds:
Lower costs—no need to purchase hardware or software and you pay only for the service you use.
No maintenance—your service provider provides the maintenance.
Near-unlimited scalability—on-demand resources are available to meet your business needs.
High reliability—a vast network of servers ensures against failure.

A private cloud consists of computing resources used exclusively by one business or organisation. The
private cloud can be physically located at your organisation’s on-site datacenter or it can be hosted by a
third-party service provider. But in a private cloud, the services and infrastructure are always maintained
on a private network and the hardware and software are dedicated solely to your organisation. In this
way, a private cloud can make it easier for an organisation to customise its resources to meet specific IT
requirements. Private clouds are often used by government agencies, financial institutions, any other mid-
to large-size organisations with business-critical operations seeking enhanced control over their
environment.
Advantages of a private clouds:
More flexibility—your organisation can customise its cloud environment to meet specific business needs.
Improved security—resources are not shared with others, so higher levels of control and security are
possible.
High scalability—private clouds still afford the scalability and efficiency of a public cloud.

Cloud Eco-System
A cloud ecosystem is a complex system of interdependent components that all work together to enable
cloud services. In nature, an ecosystem is composed of living and nonliving things that are connected and
KMMIPS-TIRUPATI

work together. In cloud computing, the ecosystem consists of hardware and software as well as cloud
customers, cloud engineers, consultants, integrators and partners.

Repeat answer of NIST CLOUD ARCHCITECTURE,WRITE SERVICES,MODELS OF CLOUD.

Service Management in Cloud


level of responsibility for managing the delivery and operation of cloud services in cloud computing
depends on your role in the cloud ecosystem. Because the hybrid cloud encompasses so many different
services from so many different places, cloud management needs lots of attention. Secure, reliable,
interoperable, and cost-effective cloud services require an underlying infrastructure that is highly tuned,
well monitored, and well managed.
Write about cloud Provider, cloud consumer, from above question.,SaaS,PaaS,IaaS

An organization consuming Software as a Service (SaaS), Platform as a Service (PaaS), Business


Process as a Service (BPaaS), and Infrastructure as a Service (IaaS) from different vendors may need to
play multiple roles, including both cloud consumer and cloud provider. Responsibilities for managing and
securing these cloud services will overlap and often be shared across different participants.
A cloud provider can be any organization that provides a service to cloud consumers. Some cloud
providers may focus on a single cloud model, such as IaaS, SaaS, PaaS, or BPaaS. Other cloud
providers may provide an integrated platform that includes many of these services for a company. Still
other cloud providers may be the IT department itself that becomes a cloud provider for its employees
and customers.

Cloud providers have responsibility for the architecture of the cloud and for providing cloud resources and
services to cloud consumers. These organizations are responsible for monitoring the cloud infrastructure
to ensure that service levels for uptime, speed of delivery, and other performance characteristics are
maintained.

In order to bring the right level of management to cloud environments, a cloud provider needs to
understand and anticipate the requirements of its customers, provide the right level of security and
governance, optimize operating costs, and ensure that cloud services are available to users. Cloud
providers also assume the responsibility of quickly finding the root cause of any problems that interfere
with the quality of service delivery to maintain compliance with service-level agreements.

Cloud management responsibilities may increase exponentially as use of cloud services expands. As
both the quantity and type of cloud services used across your organization increase, it becomes
challenging to maintain a consistent level of visibility and control.

A cloud service broker is a vendor or a business unit within a company that provides oversight and
management for a variety of cloud providers. The broker can stand between an organization and its cloud
services, managing the use, performance, integration, and delivery of such resources.

Using a cloud broker can help organizations gain more control over which cloud services are being used
and who is using them. It is so easy to set up a cloud service with a credit card payment or a simple user
license for a SaaS application that many IT organizations have no idea how many cloud services are in
use across the company. This practice of having too many uncontrolled cloud services can present
significant security and governance risks to the company.
KMMIPS-TIRUPATI

One option for cloud broker services is to create a single environment or portal as a central control point
for internal users of cloud services. This allows an individual to securely sign on in order to access
services they are authorized to use. The advantages of this process from a management perspective are
significant. It gives IT more centralized control over which cloud services are being used in the
organization and who uses them.

The cloud broker can also consolidate many of the business services. For example, business units may
independently begin using cloud services like Amazon web services without the knowledge of the IT
organization. Therefore, the company may be spending more money than necessary and may lose
control of security and governance.

You might also like