Outline
Introduction to the cloud computing
Define the concept of cloud computing and cloud layers
Essential characteristics
Cloud service model
Cloud deployment model
Introduce the actors in Cloud Computing
Introduce the new technologies that enabled cloud computing
Discuss cloud computing benefits
Security in the cloud
Discuss cloud computing challenges
Present some real example
Introduction
In last few years, Information Technology (IT) has
entered a new paradigm – cloud computing (CC)
The Figure below shows six computing paradigms
from mainframe computing to Internet computing,
to grid computing and cloud computing.
From Mainframe to CC
Phases
1. Mainframe
Computing User
Terminal
Mainframe
2. PC
Computing
User
PC PC
3. Network Server
Computing
User Server
PC
4. Internet Server
Computing Internet
User
PC Server
5. Grid
Computing Grid
User
PC
6. Cloud Cloud
Computing
User PC
Technologies Behind CC Evolution
Do We Use Cloud Computing?
When you store your photos online instead of on
your home computer, or use webmail or a social
networking site, you are using a “cloud computing”
service.
The cloud makes it possible for you to access your
information from anywhere at any time.
Additionally, users use a variety of devices,
including PCs, laptops, smartphones, and PDAs to
access resources.
Why We Use Cloud Computing?
While a traditional computer setup requires you to be
in the same location as your data storage device, the
cloud does not.
This is especially helpful for businesses that cannot
afford the same amount of hardware and storage space
as a bigger company.
Small companies can store their information in the
cloud, removing the cost of purchasing and storing
memory devices, the cost for hiring programmers and
the time for building the application
CC are Changing our World
Cloud computing turns traditionally soiled computing assets
into a shared pool of resources that are based on an
underlying Internet foundation.
In another word, Cloud computing will reshape
information technology (IT) processes and the IT
marketplace.
A Cloud is …
Datacenter hardware and software that the vendors use to
offer the computing resources and services
A Cloud Computing …
Represents both the cloud & the provided services
Why call it “cloud computing”?
Some say because the computing happens out there "in the
clouds"
Wikipedia: "the term derives from the fact that most technology
diagrams depict the Internet or IP availability by using a drawing of a
cloud."
Carnegie Mellon
CC Enabling Technologies
Virtualization
Web 2.0
Distributed Storage
Distributed Computing
Utility Computing
Increasing of Network Bandwidth
Fault‐Tolerant Systems
NIST Definition of Cloud Computing
July 5, 2011:
The U.S. National Institute of Standards and Technology (NIST): Definition of
Cloud Computing identified cloud computing as:
Cloud computing is a model for enabling 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.
تعد الحوسبة السحابية نموذ ًجا للتمكين المريح للشبكة عند الطلب للولوج الى مجموعة
مشتركة من موارد الحوسبة القابلة للضبط (مثل الشبكات والخوادم والتخزين والتطبيقات
.والخدمات) التي يمكن توفيرها وسحبها بسرعة بأقل جهد إداري أو تدخل من مزود خدمة
NIST Definition of Cloud Computing
(Cont.)
NIST defines cloud computing by describing:
Cloud Service Models (delivery models),
Essential Characteristics, and
Cloud Deployment Models.
They are summarized in visual form in this figure
and explained in detail below.
Essential characteristics of cloud computing
On-demand self-service
Broad network access
Resource pooling
Rapid elasticity
Measured service
Essential characteristics: On-demand self-service
On-demand self-service allows customers to use
cloud computing as required without human
contact between consumers and service providers.
A consumer can unilaterally arrange provision
computing capabilities, such as server time and
network storage, as needed automatically without
requiring human interaction with each service
provider
Essential characteristics: Broad network access
Broad network access refers to the availability of
cloud resources wherever, however or whenever
requested.
Resources should be available for access from a wide
range of devices, such as tablets, PCs, Macs and
smartphones.
Resources should be available whether they are hosted
in a private cloud network (operated within a
company's firewall), public cloud network or from a
wide range of locations that offer online access.
Essential characteristics: Resource pooling
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.
Essential characteristics: 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 available for
provisioning often appear to be unlimited and can
be appropriated in any quantity at any time.
Essential characteristics: Measured service
Cloud systems automatically control and optimize
resource (e.g., storage, processing, bandwidth, and
active user accounts).
Resource usage can be monitored, controlled, and
reported
Multi-tenancy?
Although not an essential characteristic of Cloud
Computing we should mention
Multi-tenancy?
Multi-tenancy is an architecture in which a single
instance of a software application serves multiple
customers.
Each customer is called a tenant.
Tenants may be given the ability to customize some
parts of the application, such as color of the user
interface (UI) or business rules, but they cannot
customize the application's code
Cloud services model
With the essential characteristics of Cloud
Computing defined, it is critical to understand the
types of services that are available in a Cloud
Computing model.
The NIST definition of Cloud Computing defines
three service models:
Cloud Software as a Service (SaaS).
Cloud Platform as a Service (PaaS).
Cloud Infrastructure as a Service (IaaS).
Software as a Service (SaaS)
Started around 1999
Application is licensed to a customer as a service on demand
Software Delivery Model:
Hosted on the vendor’s web servers
Downloaded at the consumer’s device and disabled when on‐
demand contract is over
A single instance of the software runs on the cloud and
services multiple end users or client organizations.
The applications are accessible from various client devices.
The consumer does not manage or control the underlying
cloud infrastructure, with the possible exception of limited
user-specific application configuration settings.
Software as a Service (SaaS) (Cont.)
Used by End users
Pros:
On the customer side, there is no need for software
licenses.
For the provider, the costs are lowered, since only a
single application needs to be hosted & maintained
Examples of SaaS
Platform as a Service (Paas)
The middle layer is the platform
Development environment is encapsulated & offered as a
service
Delivery of an integrated computing platform (to
build/test/deploy custom apps) & solution stack as a
service.
Consumers purchase access to the platforms, enabling them
to deploy their own applications using
programming languages, libraries, services, and tools
supported by the provider ( providers infrastructure)
Platform as a Service (Paas)
(Cont.)
The consumer does not manage or control the
underlying cloud infrastructure, but has control over
the deployed applications and possibly configuration
settings for the application-hosting environment.
Some of the Popular PaaS examples: Google’s App
Engine, [Link], etc
Used by developers
Examples of PaaS
Infrastructure as a Service (IaaS)
The infrastructure layer is the foundation of the cloud
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.
Infrastructure as a Service (IaaS) (Cont.)
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).
Some common examples are Amazon, GoGrid, 3 Tera,
etc.
Used by network architecture
Summary: Types of service
Cloud Computing Services
Carnegie Mellon
More (XaaS): Everything as a Service EaaS
Desktop: DaaS
Use your desktop virtually from
anywhere
Communication: CaaS
Virtualization: VaaS
Hardware: HaaS
…etc
Four Cloud Deployment Models
Regardless of the service model utilized
(SaaS, PaaS, or IaaS) there are four
deployment models for cloud services, with
derivative variations that address specific
requirements:
Private cloud
Community cloud
Public cloud
Hybrid cloud
Deployment Models: 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.
Private Cloud
Private Cloud:
On-premise private cloud: also know as internal
clouds. This model gives companies a high level
of control over the use of cloud resources while
bringing in the expertise needed to establish and
operate the environment. Limited in size and
scalability and increased cost
Externally hosted private cloud:
Hosted externally with a cloud provider
Deployment Models: Community Cloud
The cloud infrastructure is shared among a number of
organizations with similar interests and requirements.
(e.g., mission, security requirements, policy, etc).
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.
Deployment Models: Community Cloud
This may help limit the capital expenditure
costs for its establishment as the costs are
shared among the organizations.
For example all Government organizations
within the state of Khartoum may share
computing infrastructure on the cloud to
manage data related to citizens residing in
Khartoum.
Deployment Models: Public Cloud
The cloud infrastructure is provisioned for open
use by the general public.
It owned and operated by third parties (Cloud
providers)
Low cost “Pay-as-you-go” model
All customers share the same infrastructure pool
Providing the ability to scale seamlessly ,on
demand
It exists on the premises of the cloud provider.
Deployment Models: Hybrid
Cloud
The cloud infrastructure consists of a number of clouds
of any type (private, community, or public)
The clouds have the ability through their interfaces to
allow data and/or applications to be moved from one
cloud to another.
Support the requirement to retain some data in an
organization, and also the need to offer services in the
cloud.
Management responsibilities are divided between the
public cloud provider and the business itself
NIST: Interactions between Actors in
Cloud Computing
Cloud Consumer Cloud Auditor
Cloud Broker Cloud Provider
Cloud Carrier
Actors in Cloud Computing (Cont.)
Cloud Consumer Person or organization that maintains a
business relationship with, and uses service from Cloud
Providers.
Cloud Provider: Person, organization, or entity responsible
for making a service available to Cloud Consumers.
Cloud Auditor: The goal of Cloud Audit is to provide cloud
providers with a way to make their performance and security
data readily available for potential customers.
Actors in Cloud Computing (Cont.)
A cloud broker: is a third-party individual or
business that acts as an intermediary between the
purchaser of a cloud computing service and the sellers
of that service. In general, a broker is someone who
acts as an intermediary between two or more parties
during negotiations.
Cloud Carrier : The intermediary that provides
connectivity and transport of cloud services from
Cloud Providers to Cloud Consumers
Carnegie Mellon
Why Cloud Computing?
Large‐Scale Data‐Intensive Applications
Flexibility
Scalability
Customized to your current needs:
Hardware
Software
Effect:
Reduce Cost
Reduce Maintenance
High Utilization
High Availability
Reduced Carbon Footprint
Carnegie Mellon
Why Cloud Computing? Flexibility
Software: Any software platform
Access: access resources from any machine
connected to the Internet
Deploy infrastructure from anywhere at any
time
Software controls infrastructure
Carnegie Mellon
Why Cloud Computing? Scalability
Instant
Control via software
Add/cancel/rebuild resources instantly
Start small, then scale your resources up/down as
you need
illusion of infinite resources available on
demand
Carnegie Mellon
Why Cloud Computing?
Customization
Everything in your wish
list
Software platforms
Storage
Network bandwidth
Speed
Carnegie Mellon
Why Cloud Computing?
Cost
Pay‐as‐you‐go model
Small/medium size companies can tap
the infrastructure of corporate giants.
Time to service/market
No upfront cost
Carnegie Mellon
Why Cloud Computing? Maintenance
Reduce the size of a client’s IT department
Is the responsibility of the cloud vendor
This Includes:
Software updates
Security patches
Monitoring system’s health
System backup
…etc
Carnegie Mellon
Why Cloud Computing? Utilization
Consolidation of a large number of
resources
CPU cycles
Storage
Network Bandwidth
Carnegie Mellon
Why Cloud Computing?
Availability
Having access to software, platform,
infrastructure from anywhere at any time
All you need is a device connected to the
internet
Reliability
The system’s fault tolerance is managed by the
cloud providers and users no longer need to worry
about it.
Carnegie Mellon
Why Cloud Computing? CO2
Footprint
Consolidation of
servers
Higher utilization
Reduced power usage
Carnegie Mellon
Drawbacks
Security
Privacy
Vendor lock‐in
Network‐dependent
Any
Quest
ions ?
Related Technologies-
Virtualization
The virtualization is the infrastructure of cloud
computing
Is the ability to virtualize and share resources
among different applications with the objective for
better resources utilization
Why virtualization
Server computers: machines that host files and
applications on computer networks
Problems :
Most servers use only a small fraction of their overall
processing capabilities.
Another problem is that as a computer network gets
larger and more complex, the servers begin to take up a
lot of physical space
Hardware utilizations
Virtualization
Figure below shows an example of
virtualization:
in non-cloud computing there is a need for
three independent platforms (Servers) ;
in the cloud computing, servers can be shared,
or virtualized, for operating systems and
applications resulting in fewer servers (two
servers).
Application
OS 2
Application Application
Server Y
OS 1 OS 3
Server X Server Z
Application Application
Application
OS 1 OS 2
OS 3
Hypervisor
Server B
Server A
Cloud
Virtualization (Cont.)
Virtualization technologies include virtual machine
techniques such as VMware and Xen, and virtual
networks, such as VPN.
Virtual machines provide virtualized IT-
infrastructures on-demand, while virtual networks
support users with a customized network
environment to access cloud resources.
Cloud computing benefits
1. Cost Savings:
The billing model is pay as per usage
The infrastructure is not purchased thus lowering maintenance
Initial expense and recurring expenses are much lower than
traditional computing
2. Scalability/Flexibility:
Companies can start with a small deployment and grow to a
large deployment fairly rapidly, and then scale back if necessary.
Enabling them to satisfy consumer demands.
Cloud computing benefits (Cont.)
3. Increase storage:
with the massive infrastructure that is offered by
cloud providers today, storage & maintenance of
large volumes of data is a reality.
Cloud can scale dynamically
4. Reliability: Services using multiple redundant sites
can support business continuity and disaster recovery.
5. Mobile Accessible: Mobile workers have increased
productivity due to systems accessible in an
infrastructure available from anywhere.
Security in the cloud
The information housed on the cloud is often seen
as valuable to individuals with malicious intent.
There is a lot of personal information and
potentially secure data that people store on their
computers, and this information is now being
transferred to the cloud.
Security in the cloud (Cont.)
The first thing you must look into is the security
measures that your cloud provider already has in place.
What encryption methods do the providers have in place?
What methods of protection do they have in place for the
actual hardware that your data will be stored on?
Will they have backups of my data? Do they have firewalls
set up?
If you have a community cloud, what barriers are in place to
keep your information separate from other companies?
Cloud computing challenges
Some of the notable challenges associated with cloud computing:
Security and Privacy: Perhaps two of the more “hot button”
issues surrounding cloud computing relate to storing and
securing data, and monitoring the use of the cloud by the service
providers.
These issues are generally attributed to slowing the deployment
of cloud services.
Result in Hybrid cloud deployment with one cloud storing the
data internal to the organization.
Lack of Standards : Clouds have documented interfaces;
however, no standards are associated with these, and thus it is
unlikely that most clouds will be interoperable.
Cloud computing challenges
(Cont.)
Continuously Evolving:
the requirements for interfaces, networking, and storage.
This means that a “cloud,” especially a public one, does not
remain static and is also continuously evolving
Regulatory and Compliance Restrictions:
The Sarbanes-Oxley Act (SOX) in the US and Data Protection
directives in the EU are just two among many compliance
issues affecting cloud computing, based on the type of data
and application for which the cloud is being used.
Result in Hybrid cloud deployment with one cloud storing the
data internal to the organization
Real examples
Amazon EC2
Google App Engine
Microsoft Azure Service
Amazon EC2
With Amazon Elastic Compute Cloud (EC2), you
need to set up an Amazon Machine Image – a
virtual machine running Windows (or Linux)
Install applications, libraries, and data that you
need.
one processor, 1.7GB of RAM, 160GB of storage –
is available for as little as £700 per year
4 processor 7.5 GB of RAM, 850GB storage –
works out to £2800 per year
Google App Engine
To build a Google App Engine website, you set up
an account and get access to the App Engine
Software Development Kit (SDK), which allows
you to write App Engine-compatible software.
Unfortunately the platform does not support
Microsoft only Python or Java must be used.
Windows Azure
and as you’d expect it is slightly more focused on
the use of .NET components (it natively supports
[Link]). It is also set up to support SQL Server
databases
$1120, or around £700 per year
Any
Quest
ions ?
References
1. Torry Harris, “Cloud Computing: An Overview”,pp. 1-6.
2. Grace Walker, “Cloud computing fundamentals: A different way to
deliver computer resources", White Paper, IBM Corporation, 17 Dec
2010.
3. Borko Furht, “Cloud computing fundamentals”,chapter1, pp. 1-27
4. “Introduction to Cloud Computing Architecture,” White Paper, Sun
Microsystems, 1st Edition, June 200.
5. “Introduction to cloud computing”, White Paper, Dialogic Corporation,
2010.
6. J. Voas and J. Zhang, “Cloud Computing: New Wine or Just a New
Bottle?” IEEE ITPro, March/April 2009, pp. 15-17.
7. Alexa Huth and James Cebula, “The Basics of Cloud Computing”, 2011 ,
pp. 1-4