Скачать презентацию From http geekandpoke typepad com geekandpoke 2009 03 let-the-clouds-make-your-life-easier html Cloud Скачать презентацию From http geekandpoke typepad com geekandpoke 2009 03 let-the-clouds-make-your-life-easier html Cloud

333a23ae028fdf3860b4a65b69c757a3.ppt

  • Количество слайдов: 47

From http: //geekandpoke. typepad. com/geekandpoke/2009/03/let-the-clouds-make-your-life-easier. html From http: //geekandpoke. typepad. com/geekandpoke/2009/03/let-the-clouds-make-your-life-easier. html

Cloud computing The three-tier architectural style & Google App. Engine Some material adapted from Cloud computing The three-tier architectural style & Google App. Engine 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)

Tremendous Buzz “Not only is it faster and more flexible, it is cheaper. […] Tremendous Buzz “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 1970 s […] 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

The skeptics The skeptics

“Cloud computing is simply a buzzword used to repackage grid computing and utility computing, “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 “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

Gartner Hype Cycle* Are we here today ? * From http: //en. wikipedia. org/wiki/Hype_cycle Gartner Hype Cycle* Are we here today ? * From http: //en. wikipedia. org/wiki/Hype_cycle 7

What is Cloud Computing? What is Cloud Computing?

Blind men and an Elephant 9 Blind men and an Elephant 9

A crisis of complexity. Global Annual Server Spending (IDC) 300 Power and cooling costs A crisis of complexity. Global Annual Server Spending (IDC) 300 Power and cooling costs Management and admin costs New system spend 250 200 Uncontrolled management and energy costs 150 100 50 Steady CAPEX spend 19 96 19 97 19 98 19 99 20 00 20 01 20 02 20 03 20 04 20 05 20 06 20 07 20 08 20 09 20 10 $0 B 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 “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

Is cloud computing really new? Yes, and no. Cloud computing: a new consumption and Is cloud computing really new? Yes, and no. Cloud computing: a new consumption and delivery model inspired by consumer Internet services. 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 End User Focused Virtualization Service Automation

“Cloud” is: Cloud enables: A new consumption and delivery model inspired by consumer Internet “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: Multiple Types of Clouds will co-exist: The Industrialization Private, Public and Hybrid Workload and/or Programming Model Specific of Delivery for IT supported Services 13

Key Technology: Virtualization App App Operating System App OS OS Hypervisor Hardware Traditional Stack Key Technology: Virtualization App App Operating System App OS OS Hypervisor Hardware Traditional Stack Virtualized Stack App App JVM JVM OS/JVM Managent Hardware Virtualized Stack

Mutiple primary delivery models companies are implementing for cloud Enterprise Traditional Enterprise IT Private Mutiple primary delivery models companies are implementing for cloud Enterprise Traditional Enterprise IT Private Cloud IT activities/functions are provided “as a service, ” over an intranet, within the enterprise and behind the firewall Key features include: Public Clouds Scalability Automatic/rapid provisioning Chargeback ability Widespread virtualization Source: IBM Market Insights, Cloud Computing Research, July 2009. 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

Different Computing Models Infrastructure as a service (Iaa. S) Utility computing Why buy machines Different Computing Models Infrastructure as a service (Iaa. S) Utility computing Why buy machines when you can rent cycles? Examples: Amazon’s EC 2, Go. Grid, App. Nexus Platform as a Service (Paa. S) Give me nice API and take care of the implementation Example: Google App Engine Software as a Service (Saa. S) Just run it for me! Example: Gmail

Elements that Drive Cloud Efficiency and Economics Infrastructure Leverage Drives lower capital requirements Utilization Elements that Drive Cloud Efficiency and Economics Infrastructure Leverage Drives lower capital requirements Utilization of Infrastructure Virtualized environments only get benefits of scale if they are highly utilized Self Service Labor Leverage Virtualization of Hardware 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

Enterprise Benefits from Cloud Computing Capability From Server/Storage Utilization 10 -20% Self service None Enterprise Benefits from Cloud Computing Capability From Server/Storage Utilization 10 -20% Self service None Test Provisioning Change Management Release Management Weeks To Cloud accelerates business value across a wide variety of domains. 70 -90% Unlimited Minutes Months Days/Hours Weeks Minutes Metering/Billing Fixed cost model Granular Payback period for new services Years Months Legacy environments Cloud enabled enterprise

To Cloud or Not to Cloud? To Cloud or Not to Cloud?

 Marc Benioff, head of salesforce. com “Cloud computing isn't just candyfloss thinking – 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 John Chambers, Cisco Systems’ CEO "a security nightmare. ”

"push factors" for and "barriers" against cloud adoption for each workload type 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 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 App. Engine Three-tier architectures and Google App. Engine

Levels of abstraction Different levels of abstraction Instruction Set VM: Amazon EC 2 Application. Levels of abstraction Different levels of abstraction Instruction Set VM: Amazon EC 2 Application. Level VM: Google App. Engine Similar to languages Higher level abstractions can be built on top of lower ones Lower-level, More flexibility, More management Not scalable by default EC 2 Higher-level, Less flexibility, Less management Automatically scalable Azure 25 App. Engine Force. com

Traditional Web. Applications: N-Tier Style Separation of concerns: Presentation, business and data handling logic Traditional Web. Applications: 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 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 Server Tier Web Server / Presentation Logic Business Logic Tier Application Logic Data Management Tier Databases

Web Applications with Google App. Engine Client Tier Web Server Tier Web Client / Web Applications with Google App. Engine Client Tier Web Server Tier Web Client / Presentation Logic Hosting Server Business Logic Tier Data Management Tier (your) Java / Python hosted application Big. Table

What else do you get? (Or ‘Why use Google App. Engine? ’) Simplified (Web What else do you get? (Or ‘Why use Google App. Engine? ’) Simplified (Web Application) development (for a part of the application lifecycle) by leveraging Google infrastructure ▪ Scalability ▪ Reliability ▪ Functionality

Why use Google App. Engine? Simplified (Web Application) development Implementation ▪ Simplified/integrated application monitoring Why use Google App. Engine? 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

App. Engine: Why use it … App. Engine: Why use it …

App. Engine: Why AVOID it? App. Engine: Why AVOID it?

A view behind the curtains … A view behind the curtains …

 Differentiate between requests for static and dynamic content. Differentiate between requests for static and dynamic content.

Request for static content Request for static content

Request for static content Request for static content

Request for static content Defining static content Request for static content Defining static content

Request for dynamic content Defining static content Request for dynamic content Defining static content

Request for dynamic content The App. Server Defining static content Request for dynamic content The App. Server Defining static content

App. Servers Runs your code (e. g. , servlet) Restricted JVM environment ▪ Threads, App. Servers 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

Requests accessing APIs Use APIs to do things you don't want to do in Requests accessing APIs Use APIs to do things you don't want to do in your runtime, such as. . . Calls are blocking!

Persistency Across requests Session Memcache Datastore Persistency Across requests Session Memcache Datastore

The App. Engine Datastore Based on Big. Table http: //labs. google. com/papers/bigtable. html Replicated The App. Engine Datastore Based on Big. Table 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 ▪ 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]

To remember App. Engine: specialized platform for Web Applications unfit for general computing. Support To remember App. Engine: 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.