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.