210 likes | 350 Views
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). Blind men and an Elephant.
E N D
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)
Blind men and an Elephant CLOUD COMPUTING
What is Cloud Computing? Source: http://www.free-pictures-photos.com/
“Cloud” is: Cloud enables: • 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: • The Industrializationof Deliveryfor IT supported Services • Private, Public and Hybrid • Workload and/or Programming Model Specific
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 App App App JVM JVM JVM OS/JVM Managent Hardware Virtualized Stack App App App App App App OS OS OS Operating System Hypervisor Hardware Hardware Traditional Stack Virtualized Stack
300 Power and cooling costs Management and admin costs 250 New system spend 200 150 100 50 $0B 1997 1999 2001 2004 1996 1998 2000 2002 2003 2005 2006 2007 2008 2009 2010 What drives this? 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
"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. n=1,090 Trade-off: value vs. risk of migration
“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/
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. Usage Tracking Web 2.0 Business Services IT Services End User Focused Service Automation & SOA Virtualization
Client Tier Web Client Web Client Web Client Web Server Tier Web Server / Presentation Logic Business Logic Tier Application Logic Data Management Tier Databases 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.
Client Tier Web Client Web Client Web Client Web Server Tier (your) Presentation Logic Business Logic Tier (your) Java / Python hosted application Data Management Tier BigTable Web Applications with Google AppEngine Hosting Server
What do you get? (using Google AppEngine) • Simplified (Web Application) development • Scalability • Reliability • (by leveraging Google infrastructure )
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 AppServers
Persistency • Across requests • Session • Memcache • Datastore No relational model! New API. (compared to databases) What consistency model?
Claim: every distributed system is on one side of the triangle. C-A-P choose two Fox&Brewer “CAP Theorem” C consistency CA: available, and consistent, unless there is a partition. CP: always consistent, even in a partition, but a reachable replica may deny service without agreement of the others (e.g., quorum). A P AP: a reachable replica provides service even in a partition, but may be inconsistent. Availability Partition-resilience