You are on page 1of 33

Cloud Computing Fundamentals

Karthik Sankar
Sun Microsystems Campus Ambassador
Final Year, Dept. of CSE
National Institute of Technology, Trichy

24/9/2009 Software Freedom Day - 2009 1


The hype

Cluster Computing
Cloud Computing
Grid Computing

24/9/2009 Software Freedom Day - 2009 2


24/9/2009 Software Freedom Day - 2009 3
DEFINITIONS

24/9/2009 Software Freedom Day - 2009 4


DEFINITIONS
.. moving computing and data away from the desktop and the portable PC and
simply displaying the results of computing that takes place in a centralized
location and is then transmitted via the internet on the user's screen ..
- John Makroff

.. a computing paradigm shift where computing is moved away from personal


computers or an individual application server to a "cloud" of computers ..
- Wikipedia

.. the idea of relying on Web-based applications and storing data in the


"cloud" of the internet ..
- MIT Technology Review

.. the cloud is a smart, complex, powerful computing system in the sky that
people can just plug into ..
- Marc Andreessen

24/9/2009 Software Freedom Day - 2009 5


Cloud computing comes into focus only when you think about what IT always needs: a
way to increase capacity or add capabilities on the fly without investing in new
infrastructure, training new personnel, or licensing new software. Cloud computing
encompasses any subscription-based or pay-per-use service that, in real time over the
Internet, extends IT’s existing capabilities.

24/9/2009 Software Freedom Day - 2009 6


• Common, Location-independent, Online Utility on Demand
– Common implies multi-tenancy, not single or isolated tenancy
– Utility implies pay-for-use pricing
– on Demand implies ~infinite, ~immediate, ~invisible scalability

• Alternatively, a “Zero-One-Infinity” definition:


0 On-premise infrastructure
Acquisition cost
Adoption cost
Support cost
1 Coherent and resilient environment – not a brittle “software stack”
∞ Scalability in response to changing need
Integrability/Interoperability with legacy assets and other services
Customizability/Programmability from data, through logic, up into the
user interface without compromising robust multi-tenancy

24/9/2009 Software Freedom Day - 2009 7


The on-demand, self-service, pay-by-use model

Infrastructure is programmable

Applications are composed and are built to be composable

Services are delivered over the network

24/9/2009 Software Freedom Day - 2009 8


Cloud Computing Infrastructure Models

24/9/2009 Software Freedom Day - 2009 9


DEPLOYMENT MODELS

Public Cloud Private Cloud Hybrid Cloud

Public clouds are run by third parties, and applications from different customers are
likely to be mixed together on the cloud’s servers, storage systems, and networks.
Public clouds are most often hosted away from customer premises, and they provide a
way to reduce customer risk and cost by providing a flexible, even temporary extension
to enterprise infrastructure.

24/9/2009 Software Freedom Day - 2009 10


DEPLOYMENT MODELS

Public Cloud Private Cloud Hybrid Cloud

Private clouds are built for the exclusive use of one client, providing the utmost control
over data, security, and quality of service. The company owns the infrastructure and
has control over how applications are deployed on it. Private clouds may be deployed
in an enterprise datacenter, and they also may be deployed at a co-location facility.

24/9/2009 Software Freedom Day - 2009 11


DEPLOYMENT MODELS

Public Cloud Private Cloud Hybrid Cloud

Hybrid clouds combine both public and private cloud models. They can help to provide
on-demand, externally provisioned scale. The ability to augment a private cloud with
the resources of a public cloud can be used to maintain service levels in the face of
rapid workload fluctuations. A hybrid cloud also can be used to handle planned
workload spikes. Sometimes called “surge computing,” a public cloud can be used to
perform periodic tasks that can be deployed easily on a public cloud.

24/9/2009 Software Freedom Day - 2009 12


Architectural Layers of Cloud Computing

24/9/2009 Software Freedom Day - 2009 13


Software as a service (SaaS)

Software as a service features a complete application offered as a


service on demand. A single instance of the software runs on the
cloud and services multiple end users or client organizations.

24/9/2009 Software Freedom Day - 2009 14


Software as a service (SaaS)

24/9/2009 Software Freedom Day - 2009 15


Platform as a service (PaaS)

Platform as a service encapsulates a layer of software and provides


it as a service that can be used to build higher-level services.

Someone producing PaaS might produce a platform by integrating


an OS, middleware, application software, and even a development
environment that is then provided to a customer as a service

Someone using PaaS would see an encapsulated service that is


presented to them through an API. The customer interacts with the
platform through the API, and the platform does what is necessary
to manage and scale itself to provide a given level of service.

24/9/2009 Software Freedom Day - 2009 16


Platform as a service (PaaS)

24/9/2009 Software Freedom Day - 2009 17


Infrastructure as a service (IaaS)

Infrastructure as a service delivers basic storage and compute


capabilities as standardized services over the network. Servers,
storage systems, switches, routers, and other systems are pooled
and made available to handle workloads that range from
application components to high-performance computing
applications.

24/9/2009 Software Freedom Day - 2009 18


Infrastructure as a service (IaaS)

24/9/2009 Software Freedom Day - 2009 19


Cloud Infrastructure Cloud Infrastructure Cloud Infrastructure
IaaS Software as a Service
PaaS PaaS (SaaS)
SaaS SaaS SaaS Architectures

Cloud Infrastructure Cloud Infrastructure


IaaS Platform as a Service (PaaS)
PaaS PaaS Architectures

Cloud Infrastructure
IaaS Infrastructure as a Service (IaaS)
Architectures

24/9/2009 Software Freedom Day - 2009 20


SINGLE TENANT vs. MULTI-TENANT ARCHITECTURE

Shared infrastructure

Other apps
App 2
App 1 App Server
App 3
App Server Database App Server
Database OS Database
OS Server OS
Server Storage Server
Storage Network Storage
Network Network

Single tenancy gives each customer a dedicated On a multi-tenant platform, all applications run
software stack – and each layer in each stack still in a single logical environment: faster, more
requires configuration, monitoring, upgrades, secure, more available, automatically upgraded
security updates, patches, tuning and disaster and maintained. Any improvement appears to all
recovery. customers at once.

24/9/2009 Software Freedom Day - 2009 21


CLOUD COMPUTING CHARACTERISTICS

Cloud computing often leverages:


Massive scale
Virtualization
Non-stop computing
Free software
Geographic distribution
Service oriented software
Autonomic computing
Advanced security technologies

24/9/2009 Software Freedom Day - 2009 22


TRADITIONAL SOFTWARE PURCHASE

Purchase software
Purchase hardware
Find space in data center
Create migration plan
Setup development & test
Configure systems
Configure databases
Configure networks
more…

CLOUD COMPUTING – THE EASY WAY

Get a login

24/9/2009 Software Freedom Day - 2009 23


CLOUD COMPUTING BENEFITS
Reduce run time and response time
For applications that use the cloud essentially for running batch jobs,
cloud computing makes it straightforward to use 1000 servers to
accomplish a task in 1/1000 the time that a single server would require
Minimize infrastructure risk
When pushing an application out to the cloud, scalability and the risk of
purchasing too much or too little infrastructure becomes the cloud
provider’s issue
Lower cost of entry
Because infrastructure is rented, not purchased, the cost is controlled,
and the capital investment can be zero.
Increased pace of innovation
The low cost of entry to new markets helps to level the playing field,
allowing start-up companies to deploy new products quickly and at low
cost.

24/9/2009 Software Freedom Day - 2009 24


GOALS OF CLOUD COMPUTING
Scalability
Availability
Reliability
Security
Flexibility and agility
Serviceability
Efficiency

24/9/2009 Software Freedom Day - 2009 25


IS THIS GRID COMPUTING ?

24/9/2009 Software Freedom Day - 2009 26


CLUSTERS
A computer cluster is a group of linked computers, working together closely so
that in many respects they form a single computer. The components of a cluster
are commonly, but not always, connected to each other through fast local area
networks. Clusters are usually deployed to improve performance and/or
availability over that of a single computer, while typically being much more cost-
effective than single computers of comparable speed or availability

High-availability (HA) clusters


Load-balancing clusters
Compute clusters

24/9/2009 Software Freedom Day - 2009 27


GRID COMPUTING
Grid computing (or the use of computational grids) is the combination of
computer resources from multiple administrative domains applied to a common
task, usually to a scientific, technical or business problem that requires a great
number of computer processing cycles or the need to process large amounts of
data.

One of the main strategies of grid computing is using software to divide and
apportion pieces of a program among several computers, sometimes up to many
thousands. Grid computing is distributed, large-scale cluster computing, as well as
a form of network-distributed parallel processing

24/9/2009 Software Freedom Day - 2009 28


CLOUD COMPUTING vs. GRID COMPUTING
Grid computing has been used in environments where users make few but large
allocation requests

Cloud computing really is about lots of small allocation requests.

24/9/2009 Software Freedom Day - 2009 29


CLOUD COMPUTING vs. GRID COMPUTING
Grid computing has been used in environments where users make few but large
allocation requests

Cloud computing really is about lots of small allocation requests.

24/9/2009 Software Freedom Day - 2009 30


DISADVANTAGES OF CLOUD COMPUTING

Stored data might not be secure: With cloud computing, all your data is stored
on the cloud. How secure is the cloud? Can unauthorized users gain access to your
confidential data? Cloud computing companies say that data is secure, but it's too
early in the game to be completely sure of that.

Dependent on internet connection: Internet connectivity isn’t completely


stable and reliable. For cloud computing to be completely accessible anywhere,
we’ll probably need to wait a few more years for the internet service providers to
step up to the plate.

It’s not platform agnostic: Most clouds force participants to rely on a single
platform or host only one type of product. If you need to support multiple
platforms, as most enterprises do, then you’re looking at multiple clouds. That can
be a nightmare to manage.

Can be slow: Even on a fast connection, web-based applications can sometimes


be slower than accessing a similar software program on your desktop PC.

24/9/2009 Software Freedom Day - 2009 31


24/9/2009 Software Freedom Day - 2009 32
Thank you

24/9/2009 Software Freedom Day - 2009 33