You are on page 1of 32

CM5108 – CLOUD

COMPUTING
Compiled and prepared by:
Megha Yawalkar

Department of Computer Engineering


Government Polytechnic Pune
CLOUD COMPUTING

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 2


UNIT – I (OVERVIEW)
1. Cloud Computing in a Nutshell
2. Roots of Cloud Computing:
A. From Mainframes to Clouds,
B. SOA, Web Services, Web 2.0, and Mashups,
C. Grid Computing,
D. Utility Computing,
E. Hardware Virtualization - Virtual Appliances and the Open Virtualization Format
F. Autonomic Computing
3. Layers and Types of Clouds: Infrastructure as a Service, Platform as a Service,
Software as a Service, Deployment Models
4. Properties and Characteristics of a Cloud computing
5. Challenges and Risks: Security, Privacy, and Trust, Data Lock-In and
Standardization, Availability, Fault-Tolerance, and Disaster Recovery, Resource
Management and Energy- Efficiency
Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 3
1. Cloud Computing in a Nutshell
❑ COMPUTING
❑ Computing refers to “any goal oriented activity”.
❑ From digital word’s point of view it encompasses – configuration, processing,
maintenance related activities
❑ Trends in Computing
✔ Distributed computing
✔ Grid Computing
✔ Cluster Computing
✔ Utility Computing
✔ CLOUD COMPUTING

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 4


Distributed Computing -

❑ This is advancement over the tradition “centralized computing”


❑ Make use od distributed systems to solve a problem
Distributed System:
• Network of several autonomous computational entities, each of
which has its own local memory.
• Computational entities = workstations, server computers,
Personal assistance devices
• The entities communicate with each other by message passing.
• The processors communicate with one another through various
communication lines, such as high-speed buses or telephone
lines.
• Each processor has its own local memory.
• Examples of Distributed Computing: - ATM Machines, Intranet
workgroups,

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 5


Distributed Computing -

❑ Key properties of Distributed Computing:

1. Fault tolerance
•When one or some nodes fails, the whole system can still work fine except performance.
•Need to check the status of each node
2. Each node play partial role
•Each computer has only a limited, incomplete view of the system.
•Each computer may know only one part of the input.
3. Resource sharing
•Each user can share the computing power and storage resource in the system with other users
4. Load Sharing
•Dispatching several tasks to each nodes can help share loading to the whole system.
5. Easy to expand
•We expect to use few time when adding nodes. Hope to spend no time if possible.
6. Performance
•Parallel computing can be considered a subset of distributed computing

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 6


Need of Distributed computing
◦Nature of Application (As per requirements)
◦Robustness – No Single point of failure, tasks get distributed over
remaining nodes
◦Performance – Computing intensive, data intensive

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 7


Grid Computing -

Grid
•Users (or client applications) gain access to computing resources (processors, storage, data, applications, and
so on) as needed with little or no knowledge of where those resources are located or what the underlying
technologies, hardware, operating system, and so on are
•“The Grid" links together computing resources (PCs, workstations, servers, storage elements) and provides
the mechanism needed to access them.

When to use Grid Computing ->

1. Share more than information: Data, computing power, applications in dynamic environment,
multi-institutional, virtual organizations
2. Efficient use of resources at many institutes. People from many institutions working to solve a common
problem (virtual organization).
3. Join local communities.
4. Interactions with the underneath layers must be transparent and seamless to the user.

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 8


Sample of Grid Computing

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 9


Type of Grids:
•Computational Grid: These grids provide secure access to huge pool of shared processing power
suitable for high throughput applications and computation intensive computing.
•Data Grid: Data grids provide an infrastructure to support data storage, data discovery, data handling,
data publication, and data manipulation of large volumes of data actually stored in various heterogeneous
databases and file systems.
•Collaboration Grid: With the advent of Internet, there has been an increased demand for better
collaboration. Such advanced collaboration is possible using the grid. For instance, persons from
different companies in a virtual enterprise can work on different components of a CAD project without
even disclosing their proprietary technologies.
* Network Grid: A Network Grid provides fault-tolerant and high-performance communication
services. Each grid node works as a data router between two communication points, providing
data-caching and other facilities to speed up the communications between such points.
•Utility Grid: This is the ultimate form of the Grid, in which not only data and computation cycles are
shared but software or just about any resource is shared. The main services provided through utility grids
are software and special equipment. For instance, the applications can be run on one machine and all the
users can send their data to be processed to that machine and receive the result back.

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 10


CLUSTER COPMUTING
A cluster is a type of parallel or distributed computer system, which consists of a collection of inter-connected
stand-alone computers working together as a single integrated computing resource .
•Key components of a cluster include multiple standalone computers (PCs, Workstations, or SMPs), operating systems,
high-performance interconnects, middleware, parallel programming environments, and applications.

Clusters are usually deployed to improve speed and/or reliability over that provided by a single computer, while
typically being much more cost effective than single computer the of comparable speed or reliability
•In a typical cluster:
–Network: Faster, closer connection than a typical network (LAN)
–Low latency communication protocols
–Loosely coupled than SMP

Types of Cluster
•High Availability or Failover Clusters
•Load Balancing Cluster
•Parallel/Distributed Processing Clusters
Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 11
•Basic building blocks of clusters are broken down into
multiple categories:
•Cluster Nodes
•Cluster Network
•Network Characterization

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 12


Features of Cluster Computing
◦ System availability: offer inherent high system availability due to the redundancy of
hardware, operating systems, and applications.
◦ •Hardware fault tolerance: redundancy for most system components (eg. disk-RAID),
including both hardware and software.
◦ •OS and application reliability: run multiple copies of the OS and applications, and
through this redundancy
◦ •Scalability. adding servers to the cluster or by adding more clusters to the network as the
need arises or CPU to SMP.
◦ •High performance: (running cluster enabled programs)

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 13


“Utility” Computing ?
•Utility Computing is purely a concept which cloud computing
practically implements.
•Utility computing is a service provisioning model in which a
service provider makes computing resources and infrastructure
management available to the customer as needed, and charges
them for specific usage rather than a flat rate.
•This model has the advantage of a low or no initial cost to
acquire computer resources; instead, computational resources are
essentially rented.
•The word utility is used to make an analogy to other services,
such as electrical power, that seek to meet fluctuating customer
needs, and charge for the resources based on usage rather than on
a flat-rate basis. This approach, sometimes known as pay-per-use

•"Utility computing" has usually envisioned some form of


virtualization so that the amount of storage or computing power
available is considerably larger than that of a single time-sharing
computer.
Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 14
Features of Utility Computing

a) Pay-for-use Pricing Business Model


b) Data Center Virtualization and Provisioning
c) Solves Resource Utilization Problem
d) Outsourcing
e) Web Services Delivery
f) Automation

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 15


Example of Utility Computing

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 16


Cloud Computing

◦ US National Institute of Standards and


Technology defines Computing as
◦ “ 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. ”

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 17


Cloud Computing Characteristics:
ESSENTIAL CHARACTERISTICS COMMON CHARACTERISTICS
◦ On- demand self service – consumer can use or release ▪ Massive scale
resources as per requirement (auto)
▪ Resilient computing
◦ Broad network access – broad access capabilities to
heterogenous platforms ▪ Homogeneity
◦ Resource pooling – multi-tenant model with different ▪ Geographic distribution
physical and virtual resources dynamically assigned to
consumer as per demand ▪ Virtualization
◦ Measured service – pay as per usage, monitored, controlled, ▪ Service orientation
and reported, providing transparency for both the provider ▪ Low cost software
and consumer of the utilized service.
▪ Advanced security
◦ Rapid Elasticity - Capabilities can be elastically provisioned
and released, in some cases automatically

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 18


SOA (Service oriented architecture)
◦ SOA is an architectural approach in which
applications make use of services available in the
network.
◦ In this architecture, services are provided to form
applications, through a network call over the
internet. It uses common communication standards
to speed up and streamline the service integrations
in applications.
◦ Each service in SOA is a complete business
function in itself.
◦ These services are published in such a way that it
makes it easy for the developers to assemble their
apps using those services.

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 19


SOA Components:
There are two major roles within
Service-oriented Architecture:
1.Service provider: The service provider
is the maintainer of the service and the
organization that makes available one or
more services for others to use. To
advertise services, the provider can
publish them in a registry, together with
a service contract that specifies the
nature of the service, how to use it, the
requirements for the service, and the fees
charged.

2.Service consumer: The service


consumer can locate the service
metadata in the registry and develop the
required client components to bind and
use the service.

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 20


Web Services
Web service (WS) is either:

•a service offered by an electronic device to


another electronic device, communicating
with each other via the World Wide Web

OR

•a server running on a computer device,


listening for requests at a particular port
over a network, serving web documents
(HTML, JSON, XML, images).

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 21


Web 2.0

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 22


Hardware Virtualization
• It is logical abstraction of either components of hardware or functionalities provided by that specific hardware in a
system.
• It hides physical characteristics of computing platform
• This term is also know as “Pseudo Machine” or “Virtual machine”

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 23


Need of Hardware Virtualization
• COST – many small components / nodes can be replaced by one larger physical entity, which could be more cost
effective way

• To reduce maintenance over head and its related costs

• Virtual hardware can be easily managed and controlled from remote than physical hardware

• Scalable structure

• Ease of relocation – can be used in disaster recovery scenario

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 24


Types of Clouds
Cloud Deployment
Cloud Service Models
Models
• Software as a service • Private
(SaaS) • Public
• Infrastructure as a • Community
service (IaaS) • Hybrid
• Platform as a service
(PaaS)
Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 25
Cloud Service Models
1. 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.
• e.g.: Google Spread Sheet

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 26


Cloud Service Models
2. Infrastructure as a Service (IaaS) -
• The capability provided to provision
processing, storage, networks, and other
fundamental computing resources

• Consumer can deploy and run arbitrary


software

• e.g.: Amazon Web Services and Flexi scale.

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 27


Cloud Service Models
3. 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.

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 28


Cloud Service Models

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 29


Cloud Service Models

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 30


Cloud Deployment Models
• facilitate the open use to general public
Public Cloud • e.g. Google App Engine, EC2, Azure
• Workload locations are hidden from users/ public

• Facilitate exclusive use by single organization or business units


Private Cloud • e.g. Eucalyptus, Amazon VPC, ECI data center
• Can be -> on-site OR outsourced

• Composition of two or more distinct cloud


Hybrid Cloud • e.g. windows Azure, VMWare vCloud

• exclusive use by a specific community of consumers from organizations


Community Cloud that have shared concerns
• e.g. Google Apps for Government
Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 31
Challenges and Risks in Cloud Computing
❖ Security – Data security, Application Security, Data Privacy, Trust, lock-in
❖ Performance monitoring – Availability, Fault tolerance, resource management, disaster recovery
❖ Consistent and robust service abstraction – Data standardization
❖ Meta scheduling - Availability, Fault tolerance
❖ Energy efficient load balancing – resource management
❖ Scale management - Availability, Fault tolerance, resource management
❖ SLA and QoS architecture
❖ Interoperability and portability
❖ Green computing/ environment efficient IT – Energy efficiency

Compiled and prepared by: Megha Yawalkar CLOUD COMPUTING 32

You might also like