Cloud Computing Skepticism - University of British Columbia
Download
Report
Transcript Cloud Computing Skepticism - University of British Columbia
From http://geekandpoke.typepad.com
1
Cloud computing
The three-tier architectural style &
Google AppEngine
Some material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, &
Sierra Michels-Slettvet, Google Distributed Computing Seminar, (licensed under Creation Commons
Attribution 3.0 License)
“Not only is it faster and more
flexible, it is cheaper. […] the
emergence of cloud models
radically alters the cost
benefit decision“
(FT Mar 6, 2009)
“Cloud computing achieves
a quicker return on
investment“
(Lindsay Armstrong of
salesforce.com, Dec 2008)
“Revolution, the biggest upheaval since the
invention of the PC in the 1970s […] IT
departments will have little left to do once the bulk of
business computing shifts […] into the cloud”
“ Economic downturn, the
appeal of that cost
advantage will be greatly
magnified"
(IDC, 2008)
“No less influential
than e-business”
(Gartner, 2008)
(Nicholas Carr, 2008)
The economics are compelling, with business
applications made three to five times cheaper and
consumer applications five to 10 times
cheaper
(Merrill Lynch, May, 2008)
3
“Cloud computing is simply a buzzword
used to repackage grid computing
and utility computing, both of which
have existed for decades.”
whatis.com
Definition of Cloud Computing
5
“The interesting thing about cloud computing is
that we’ve redefined cloud computing to
include everything that we already do. […]
The computer industry is the only industry that
is more fashion-driven than women’s fashion.
Maybe I’m an idiot, but I have no idea what
anyone is talking about. What is it? It’s
complete gibberish. It’s insane. When is this
idiocy going to stop?”
Larry Ellison
During Oracle’s Analyst Day
From http://blogs.wsj.com/biztech/2008/09/25/larry-ellisons-brilliant-anti-cloud-computing-rant/
6
Are we here
today ?
* From http://en.wikipedia.org/wiki/Hype_cycle
7
What is Cloud Computing?
9
Global Annual Server Spending
(IDC)
300
250
Power and cooling costs
Management and admin costs
New system spend
200
150
Uncontrolled management
and energy costs
100
50
Steady CAPEX spend
$0B
To make progress, delivery organizations must address the server,
storage and network operating cost problem, not just CAPEX
Source: IBM Corporate Strategy analysis of IDC data
10
“Cloud” is:
Cloud enables:
A new consumption
and delivery model
inspired by consumer
Internet services.
Self-service
Sourcing options
Cloud Services
Economies-of-scale
Cloud Computing Model
“Cloud” represents:
The Industrialization
of Delivery for IT
supported Services
Multiple Types of Clouds
will co-exist:
Private, Public and Hybrid
Workload and/or
Programming Model
Specific
11
Cloud computing: a new consumption
and delivery model inspired by consumer Internet
services.
Usage
Tracking
Web 2.0
5 key characteristics:
• On-demand self-service
• Ubiquitous network access
• Location independent resource pooling
• Rapid elasticity
• Pay per use
While the technology is not new, the end user focus
of self-service, self-management leveraging these
technologies is new.
End User Focused
Virtualization
Service
Automation
“Cloud” is:
Cloud enables:
A new consumption
and delivery model
inspired by consumer
Internet services.
Self-service
Sourcing options
Cloud Services
Economies-of-scale
Cloud Computing Model
“Cloud” represents:
The Industrialization
of Delivery for IT
supported Services
Multiple Types of Clouds
will co-exist:
Private, Public and Hybrid
Workload and/or Programming
Model Specific
13
App
App
App
Operating System
App
App
App
OS
OS
OS
Hypervisor
Hardware
Hardware
Traditional Stack
Virtualized Stack
App
App
App
JVM
JVM
JVM
OS/JVM Managent
Hardware
Virtualized Stack
Mutiple primary delivery models companies are
implementing for cloud
Enterprise
Traditional
Enterprise
IT
Public Clouds
Private Cloud
Hybrid Cloud
Private Cloud
Public Cloud
IT activities/functions are
provided “as a service,” over an
intranet, within the enterprise
and behind the firewall
IT activities/functions are
provided “as a service,” over the
Internet
Key features include:
Scalability
Automatic/rapid provisioning
Chargeback ability
Widespread virtualization
Source: IBM Market Insights, Cloud Computing Research, July 2009.
Key features:
Scalability
Automatic/rapid provisioning
Standardized offerings
Consumption-based pricing.
Multi-tenancy
Infrastructure as a service (IaaS)
Utility computing
Why buy machines when you can rent cycles?
Examples: Amazon’s EC2, GoGrid, AppNexus
Platform as a Service (PaaS)
Give me nice API and take care of the
implementation
Example: Google App Engine
Software as a Service (SaaS)
Just run it for me!
Example: Gmail
Infrastructure
Leverage
Labor
Leverage
Virtualization of
Hardware
Drives lower capital
requirements
Utilization of
Infrastructure
Virtualized environments
only get benefits of scale if
they are highly utilized
Self Service
Clients who can “serve
themselves” require less
support and get services
Automation of
Management
Take repeatable tasks and
automate
Standardization of
Workloads
More complexity =
less automation possible =
people needed
Capability
From
Server/Storage
Utilization
10-20%
Self service
None
To
Cloud accelerates
business value
across a wide
variety of
domains.
70-90%
Unlimited
Test
Provisioning
Change
Management
Release
Management
Months
Days/Hours
Weeks
Minutes
Metering/Billing
Fixed cost
model
Granular
Payback period
for new services
Years
Months
Weeks
Legacy environments
Cloud enabled enterprise
Minutes
Marc Benioff, head of salesforce.com
“Cloud computing isn't just candyfloss thinking – it's
the future. If it isn't, I don't know what is. We're in
it. You're going to see this model dominate our
industry."
Is data really safe in the cloud? "All complex
systems have planned and unplanned downtime.
The reality is we are able to provide higher levels of
reliability and availability than most companies
could provide on their own," says Benioff
John Chambers, Cisco Systems’ CEO
"a security nightmare.”
Barriers
Fluctuating demand
Highly standardized
applications
Modular,
independent
applications
Unacceptably
high costs
Push factors
Source: IBM Market Insights, Cloud Computing Research,
Data privacy or
regulatory and
compliance issues
High level of Internal
control required
Accessibility and
reliability are a concern
Cost is not a concern
Trade-off is value vs. risk of migration
Workload characteristics are critical
New workloads will emerge as cloud makes
them affordable (eg pervasive analytics,
Smart Healthcare)
Three-tier architectures and Google AppEngine
Different levels of abstraction
Instruction Set VM: Amazon EC2
ApplicationLevel VM: Google AppEngine
Similar to languages
Higher level abstractions can be built on top of lower ones
Lower-level,
More flexibility,
More management
Not scalable by default
EC2
Higher-level,
Less flexibility,
Less management
Automatically scalable
Azure
25
AppEngine
Force.com
Separation of concerns:
Presentation, business and data
handling logic are clearly
partitioned in different tiers.
Synchronous communications:
Communications between tiers
is synchronous request-reply.
Each tier waits for a response
from the other tier before
proceeding.
Flexible deployment: There are
no restrictions on how a multitier application is deployed. All
tiers could run on the same
machine, or each tier may be
deployed on its own machine.
Client
Tier
Web
Client
Web
Client
Web
Client
Web Server
Tier
Web Server / Presentation Logic
Business
Logic Tier
Application Logic
Data
Management
Tier
Databases
Client
Tier
Web Server
Tier
Web
Client
Web
Client
Web
Client
/ Presentation Logic
Hosting
Server
Business
Logic Tier
Data
Management
Tier
(your) Java / Python hosted
application
BigTable
Simplified (Web Application) development
(for a part of the application lifecycle)
by leveraging Google infrastructure
▪ Scalability
▪ Reliability
▪ Functionality
Simplified (Web Application) development
Implementation
▪ Simplified/integrated application monitoring and logging
▪ Simplified user authentication
▪ Tooling
Deployment / maintenance / and use
▪ No servers to setup – Apache, EJB containers, database
▪ No server management / monitoring / upgrade
▪ Billing model: Pay per use
▪ Reduced upfront investment
▪ [Promise of] scalability
▪ Monitoring and statistics
▪ User authentication
Differentiate between requests for static and
dynamic content.
Defining static content
Defining static content
Defining static content
Runs your code (e.g., servlet)
Restricted JVM environment
▪ Threads, security manager, file-access read only, new connections,
reflection
Enforces Isolation
Keeps apps safe from each other
Many applications, many concurrent requests
▪ Smaller footprint
Stateless!
Allows for scheduling flexibility
Time bound!
Service API requests to access to other services
Use APIs to do things you don't
want to do in your runtime,
such as...
Calls are blocking!
Across requests
Session
Memcache
Datastore
Based on BigTable
http://labs.google.com/papers/bigtable.html
Replicated and fault tolerant
On commit: ≥3 machines
Geographically distributed
No relational model!
New API.
Benefits
▪ Scalability
▪ No machines to manage
▪ Integrated development/production environment
▪ Tools: admin console, logging
▪ Easy deployment
Some restrictions
▪ Small request footprint (implicit)
▪ Fast requests
▪ Stateless requests
▪ Schemaless data model
▪ [understand their impact and the reasons they were added]
AppEngine: specialized platform for Web
Applications
unfit for general computing.
Support for part of lifecycle of a web application
Offers transparent access to scalable infrastructure
You pay a price for the ‘infinite’ scalability offered:
constrains on your application
▪ Requests have to explicitly fetch state, schemaless data models,
limits on resource usage for each request.