Date post: | 22-Dec-2015 |
Category: |
Documents |
View: | 215 times |
Download: | 0 times |
Cloud computing
(and Google AppEngine)
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)
2
Source: http://www.free-pictures-photos.com/
What is Cloud Computing?
4
A new consumption and delivery model inspired by consumer Internet services.
Private, Public and Hybrid
Workload and/or Programming Model Specific
The Industrialization of Delivery for IT supported Services
Cloud Services
Cloud Computing Model
Self-service Sourcing options Economies-of-scale
Multiple Types of Clouds will co-exist:
“Cloud” represents:
Cloud enables:“Cloud” is:
Different ‘Could’ Delivery Models 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) Provides an specialized API. App developer takes
care of the implementation Example: Google App Engine
Software as a Service (SaaS) Provides the whole application Example: Gmail, GoogleDocs, SalesForce
Key Enabling Technology: Virtualization
Hardware
Operating System
App App App
Traditional StackHardware
OS
App App App
Hypervisor
OS OS
Virtualized Stack
Hardware
JVM
App App App
OS/JVM Managent
JVM JVM
Virtualized Stack
7
Steady CAPEX spend
Global Annual Server Spending (IDC)
Source: IBM Corporate Strategy analysis of IDC data
Uncontrolled management and energy costs
To make progress, delivery organizations must address the server, storage and network operating cost problem, not just CAPEX
$0B
50
100
150
200
250
300
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
New system spend Management and admin costsPower and cooling costs
What drives this?
"push factors" for and "barriers" against cloud adoption for each workload type
Push factors
Fluctuating demand Highly standardized
applications Modular,
independent applications
Unacceptably high costs
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
Source: IBM Market Insights, Cloud Computing Research, July 2009. n=1,090
Trade-off: value vs. risk of migration
Is cloud computing really new?
“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?”
“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 EllisonDuring Oracle’s Analyst Day
From http://blogs.wsj.com/biztech/2008/09/25/larry-ellisons-brilliant-anti-cloud-computing-rant/ 11
Is 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•Elasticity•Pay per use
While the technology is not new,
the end user focus of self-service, self-management leveraging these technologies is new.
Virtualization ServiceAutomation & SOA
UsageTracking Web 2.0
End User Focused
Three-tier architectures and Google AppEngine
Traditional WebApplications:
N-Tier Style Separation of concerns:
Presentation, business and data handling logic are clearly partitioned in different tiers.
Synchronous communication: 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.
Databases
Application Logic
Web Server / Presentation Logic
Web Client
Web Client
Web Client
Client Tier
Web ServerTier
Business Logic Tier
Data Management Tier
Web Applications with Google AppEngine
BigTable
(your) Java / Python hosted application
(your) Presentation Logic
Web Client
Web Client
Web Client
Client Tier
Web ServerTier
Business Logic Tier
Data Management Tier
Hosting Server
What do you get? (using Google
AppEngine)Simplified (Web Application)
development
Scalability Reliability
▪ (by leveraging Google infrastructure )
A view behind the curtains …
AppServers
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
Persistency
Across requests Session Memcache Datastore
No relational model!New API.(compared to databases)
What consistency model?
C-A-P choose two
C
A P
Fox&Brewer“CAP Theorem” consistency
Availability Partition-resilience
Claim: every distributed system is on one side of the triangle.
CA: available, and consistent, unless there is a partition.
AP: a reachable replica provides service even in a partition, but may be inconsistent.
CP: always consistent, even in a partition, but a reachable replica may deny service without agreement of the others (e.g., quorum).