Title: Cloud Computing Skepticism
11
From http//geekandpoke.typepad.com
2Cloud computing
Some material adapted from slides by Indranil
Gupta, Jimmy Lim, Christophe Bisciglia, Aaron
Kimball, Sierra Michels-Slettvet, Google
Distributed Computing Seminar, 2007 (licensed
under Creation Commons Attribution 3.0 License)
3Outline
- Cloud computing
- The three-tier architectural style Google
AppEngine
4Recent Trends
Amazon S3 (March 2006)
Cloud computing
Amazon EC2 (August 2006)
Salesforce AppExchange (March 2006)
Grid computing
Virtualization
Google App Engine (April 2008)
Microsoft Azure (Oct 2008)
Facebook Platform (May 2007)
5Tremendous Buzz
6Gartner Hype Cycle
From http//en.wikipedia.org/wiki/Hype_cycle
7Blind men and an Elephant
8What is Cloud Computing?
9Source http//www.free-pictures-photos.com/
10A crisis of complexity. The need for progress is
clear.
Global Annual Server Spending (IDC)
Uncontrolled management and energy costs
Steady CAPEX spend
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
11Cloud enables
Cloud is
- A new consumption and delivery model inspired by
consumer Internet services.
- Self-service
- Sourcing options
- Economies-of-scale
Cloud Services
Cloud Computing Model
Multiple Types of Clouds will co-exist
Cloud represents
- Private, Public and Hybrid
- Workload and/or Programming Model Specific
- The Industrialization of Delivery for IT
supported Services
12Is cloud computing really new? Yes, and no.
- Cloud computing is a new consumption and
delivery model inspired by consumer Internet
services. Cloud computing exhibits the following
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.
Usage Tracking
Web 2.0
Business Services
IT Services
End User Focused
Service Automation SOA
Virtualization
13Cloud enables
Cloud is
- A new consumption and delivery model inspired by
consumer Internet services.
- Self-service
- Sourcing options
- Economies-of-scale
Cloud Services
Cloud Computing Model
Multiple Types of Clouds will co-exist
Cloud represents
- Private, Public and Hybrid
- Workload and/or Programming Model Specific
- The Industrialization of Delivery for IT
supported Services
14Key Technology Virtualization
15Today there are three primary delivery models
that companies are implementing for cloud
Enterprise
Traditional Enterprise IT
Public Clouds
Private Cloud
Hybrid Cloud
- Public Cloud
- IT activities/functions are provided as a
service, over the Internet - Key features
- Scalability
- Automatic/rapid provisioning
- Standardized offerings
- Consumption-based pricing.
- Multi-tenancy
- Private Cloud
- IT activities/functions are provided as a
service, over an intranet, within the enterprise
and behind the firewall - Key features include
- Scalability
- Automatic/rapid provisioning
- Chargeback ability
- Widespread virtualization
Source IBM Market Insights, Cloud Computing
Research, July 2009.
16Different Computing Models
- Infrastructure as a service (IaaS)
- Utility computing
- Why buy machines when you can rent cycles?
- Examples Amazons 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
17Elements that Drive Cloud Efficiency and Economics
Infrastructure Leverage
Virtualization of Hardware
Drives lower capital requirements
Virtualized environments only get benefits of
scale if they are highly utilized
Utilization of Infrastructure
Clients who can serve themselves require less
support and get services
Self Service
Labor Leverage
Automation of Management
Take repeatable tasks and automate
More complexity less automation
possible people needed
Standardization of Workloads
18Enterprise Benefits from Cloud Computing
Capability
From
To
Server/Storage Utilization 10-20
Self service None
Test Provisioning Weeks
Change Management Months
Release Management Weeks
Metering/Billing Fixed cost model
Payback period for new services Years
70-90
Unlimited
Minutes
Days/Hours
Minutes
Granular
Months
Cloud accelerates business value across a wide
variety of domains.
Legacy environments
Cloud enabled enterprise
19The skeptics
20- 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
21- The interesting thing about cloud computing is
that weve redefined cloud computing to include
everything that we already do. - The computer industry is the only industry that
is more fashion-driven than womens fashion. - Maybe Im an idiot, but I have no idea what
anyone is talking about. What is it? Its
complete gibberish. Its insane. When is this
idiocy going to stop?
Larry Ellison During Oracles Analyst Day
From http//blogs.wsj.com/biztech/2008/09/25/larry
-ellisons-brilliant-anti-cloud-computing-rant/
22To Cloud or Not to Cloud?
23- 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
24- John Chambers, Cisco Systems CEO
- "a security nightmare.
25"push factors" for and "barriers" against cloud
adoption for each workload type
Barriers
- Data privacy or regulatory and compliance issues
- High level of Internal control required
- Accessibility and reliability are a concern
- Cost is not a concern
- Fluctuating demand
- Highly standardized applications
- Modular, independent applications
- Unacceptably high costs
Push factors
Source IBM Market Insights, Cloud Computing
Research, July 2009. n1,090
26- 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)
2727
From http//geekandpoke.typepad.com
28Grid vs. Cloud computing (A Grid computing
example)
29Three-tier architectures and Google AppEngine
30Levels of abstraction
- 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
Higher-level, Less flexibility, Less
management Automatically scalable
30
EC2
Azure
AppEngine
Force.com
31Traditional WebApplications N-Tier Style
- 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 multi-tier application is deployed. All
tiers could run on the same machine, or each tier
may be deployed on its own machine.
32(No Transcript)
33Web Applications with Google AppEngine
Hosting Server
34Why use Google AppEngine?
- Simplified (Web Application) development
- (through part of the application lifecycle)
- by leveraging Google infrastructure
- Scalability
- Reliability
- Functionality
35Why use Google AppEngine?
- 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
36Adoption (May 2009)
- over 80K applications
- serving over 140M pageviews per day
- over 200K developers
- rwo supported languages Python and Java
37A view behind the curtains
38A view behind the curtains
39- 3-tiered applications engineered for scale and
reliability .. - Slides
40- Life of an App Engine Request
41(No Transcript)
42- Differentiate between requests for static and
dynamic content.
43Request for static content
44Request for static content
45Request for static content
46Request for dynamic content
47Request for dynamic content
48Request for dynamic content The AppServer
49AppServers
- 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
50Requests accessing APIs
- Use APIs to do things you don't want to do in
your runtime, such as... - Calls are blocking!
51Persistency
- Across requests
- Session
- Memcache
- Datastore
52The AppEngine 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.
53- Benefits
- No machines to manage or count
- Integrated development/production environment
- Use Google tools (e.g., Admin Console_
- Scalable logging and aggregation mechanisms
- Easy deployment
- Some restrictions
- Small request footprint (implicit)
- Fast requests
- Stateless requests
- Schemaless data model
- understand their impact and the reasons they
were added
54(No Transcript)
55To remember
- 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 - stateless requests, schemaless data models,
limits on resource usage for each request.