2 Cloud Fundamental
2 Cloud Fundamental
Cloud Summary
Databases
Complete stack including OS
application is provided as a service
Compute
Hired Resources
Application is accessible from Storage
OS
Deployed applications
Compute
Possible application hosting Hired Resources
Storage
environment configurations
Network
Consumer is billed for
platform software
components
OS, Database, Middleware
12
PaaS Examples
example, Storage
capacity, CPU usage, etc.
15
IaaS Examples
STORAGE
COMPUTER
(DATABASE)
NETWORK
SERVER
S
SalesForce
CRM
LotusLive
Google
App
Engine
Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim
Different Cloud 20
Computing Layers
MS Live/ExchangeLabs, IBM,
Application Service Google Apps; Salesforce.com
(SaaS) Quicken Online, Zoho, Cisco
e
Hosting – Physical data centers such as those
Focused
Hosting run by IBM, HP, NaviSite, etc.
Cloud Computing
Characteristics 22
Common Characteristics:
Massive Scale Resilient Computing
Essential Characteristics:
On Demand Self-Service
Broad Network Access Rapid Elasticity
Resource Pooling Measured Service
23
Cloud Computing: Essential
Characteristics
Cloud
Computing
24 Primer
Broad Network Access
Cloud
Computing
26 Primer
Rapid Elasticity
Cloud
Computing
27 Primer
Metered Service
Virtual workspaces:
An abstraction of an execution environment that can be made
dynamically available to authorized clients by using well-
defined protocols,
Resource quota (e.g. CPU, memory share),
Software configuration (e.g. O/S, provided services).
Implement on Virtual Machines (VMs):
Abstraction of a physical host machine,
Hypervisor intercepts and emulates instructions from
App VMs,
App App
and allows management of VMs, OS OS OS
VMWare, Xen, etc. Hypervisor
Provide infrastructure API: Hardware
Virtualized Stack
Virtual Machines 30
Hardware
Denali
etc.
Performance: Para-virtualization (e.g. Xen) is very close to raw physical
performance!
What is the purpose and 32
benefits?
Computing
Lower computer costs:
You do not need a high-powered and high-priced computer to run
cloud computing's web-based applications.
Since applications run in the cloud, not on the desktop PC, your
desktop PC does not need the processing power or hard disk
space demanded by traditional desktop software.
When you are using web-based applications, your PC can be less
expensive, with a smaller hard disk, less memory, more efficient
processor...
In fact, your PC in this scenario does not even need a CD or DVD
drive, as no software programs have to be loaded and no
document files need to be saved.
Advantages of Cloud 35
Computing
Improved performance:
With few large programs hogging your computer's
memory, you will see better performance from your PC.
Computers in a cloud computing system boot and run
faster because they have fewer programs and processes
loaded into memory…
Reduced software costs:
Instead of purchasing expensive software applications,
you can get most of what you need for free-ish!
most cloud computing applications today, such as the Google Docs suite.
better than paying for similar commercial software
which alone may be justification for switching to cloud applications.
Advantages of Cloud 36
Computing
Instant software updates:
Another advantage to cloud computing is that you are no longer
faced with choosing between obsolete software and high upgrade
costs.
When the application is web-based, updates happen automatically
available the next time you log into the cloud.
Computing
Unlimited storage capacity:
Cloud computing offers virtually limitless storage.
Your computer's current 1 Tbyte hard drive is small compared to the
hundreds of Pbytes available in the cloud.
Increased data reliability:
Unlike desktop computing, in which if a hard disk crashes and
destroy all your valuable data, a computer crashing in the cloud
should not affect the storage of your data.
if your personal computer crashes, all your data is still out there in the
cloud, still accessible
In a world where few individual desktop PC users back up their data
on a regular basis, cloud computing is a data-safe computing
platform!
Advantages of Cloud 38
Computing
Universal document access:
That is not a problem with cloud computing, because you
do not take your documents with you.
Instead, they stay in the cloud, and you can access them
whenever you have a computer and an Internet connection
Documents are instantly available from wherever you are
Latest version availability:
When you edit a document at home, that edited version is
what you see when you access the document at work.
The cloud always hosts the latest version of your
documents
as long as you are connected, you are not in danger of having an outdated
version
Advantages of Cloud 39
Computing
Easier group collaboration:
Sharing documents leads directly to better collaboration.
Many users do this as it is an important advantages of
cloud computing
multiple users can collaborate easily on documents and projects
Device independence.
You are no longer tethered to a single computer or network.
Changes to computers, applications and documents follow
you through the cloud.
Move to a portable device, and your applications and
documents are still available.
Disadvantages of Cloud 40
Computing
Computing
Computing
Can be slow:
Even with a fast connection, web-based applications can
sometimes be slower than accessing a similar software program
on your desktop PC.
Everything about the program, from the interface to the current
document, has to be sent back and forth from your computer to
the computers in the cloud.
If the cloud servers happen to be backed up at that moment, or if
the Internet is having a slow day, you would not get the
instantaneous access you might expect from desktop
applications.
Disadvantages of Cloud 43
Computing
Computing
HPC Systems:
Not clear that you can run compute-intensive HPC
applications that use MPI/OpenMP!
Scheduling is important with this type of application
as you want all the VM to be co-located to minimize communication
latency!
General Concerns:
Each cloud systems uses different protocols and different
APIs
may not be possible to run applications between cloud based systems
Amazon has created its own DB system (not SQL 92), and
workflow system (many popular workflow systems out there)
so your normal applications will have to be adapted to execute on
• Service models:
Common • IaaS: Infrastructure as a Service
• e.g., Amazon EC2, Microsoft Azure, Google Compute
cloud Engine
• PaaS: Platform as a Service
computin • e.g., Google AppEngine, Heroku, Apache Stratos
• SaaS: Software as a Service
g models • Microsoft Office365, Amazon DynamoDB, gmail
45
• Management models:
• Public clouds
• Utility model
Cloud • Shared hardware
infrastruct •
•
No control of hardware,
Self-managed (e.g., AWS, Azure, GCE)
ure • Private clouds:
• More isolated (secure?),
manageme • Federal compliance friendly
nt •
•
Customizable hardware and hardware sharing
Example: OpenStack, an open source platform for
virtualized clouds
46
Cloud Deployment Model – Public
Cloud
Enterprise P Enterprise Q
Public Cloud
Cloud Service
Provider
User R
On-premise
Externally hosted
Private Cloud Enterprise P
Private Cloud
Enterprise P
Dedicated for
Enterprise P
Cloud
Service
Provider
49
Cloud Computing Primer
In a private Cloud, the Cloud infrastructure is
operated solely for one organization and is not
shared with other organizations. This Cloud model
offers the greatest level of security and control. There
are two variations to a private Cloud:
• Externally-hosted Private Cloud: This
type of private Cloud is hosted
On-premise Private Cloud:
externally with a Cloud provider, where
the provider facilitates an exclusive
Cloud environment for a specific
organization with full guarantee of
privacy or confidentiality. This is best
suited for organizations that do not
prefer a public Cloud due to data
privacy/security concerns.
Cloud Service
Provider
+ User R
51
Cloud Computing Primer
Cloud Deployment Model – Community
Cloud
Enterprise P
Enterprise Q
Community Cloud
Enterprise R
Dedicated for
Cloud Community Users
Service
Provider
Community Users
Cloud Services