- Количество слайдов: 60
Cloud Computing More
Do you Use the Cloud?
Why Now? l l The acceptance and proliferation of hardware virtualization and multi-tenant applications The Internet has become ubiquitous and an accepted method of connecting providers with consumers ISPs/Telcos are offering robust, redundant and managed corporate internet service enabling service consolidation efficiencies. (ISP: internet service provider. Telco: telephone company) Computing capabilities are being seen as an ongoing service rather than an internal capital expense
Re-allocate IT expenditures: Most companies today spend roughly 80% of their IT budget on operations and maintenance Plan Deploy 20% 80% 50% Labor Expense 5% 10% Operate 25% Support 10% Facilities 50% Network Other Expenses SW HW 7% 11% 9% 23% Cloud Computing reduces Labor costs Cloud Computing reduces Facilities, Network, Hardware, Software maintenance costs
Build or Rent? l l The total cost of ownership to build and maintain datacenter infrastructure includes both hard and soft costs. An accurate comparison requires knowledge of all variables over the life of the project or hardware.
Conventional Computing vs. Cloud Computing Conventional l l l Manually Provisioned Dedicated Hardware Fixed Capacity Pay for Capacity Capital & Operational Expenses Managed via Sysadmins Cloud l l l Self-provisioned Shared Hardware Elastic Capacity Pay for Use Operational Expenses Managed via APIs
Suppose you have an innovative idea… l l l 7 You need a large capital outlay in hardware. You need talented humans to operate and maintain the system. There is an over provisioning risk – the new system may not be as popular as you hoped. There is an under provisioning risk - missing and losing potential users. Cloud computing allows you to start small and grow as needed.
Traditional Infrastructure Model Forecasted Infrastructure Demand Capital Time
Acceptable Surplus Capital Time Forecasted Infrastructure Demand
Capital Time Actual Infrastructure Demand
Unacceptable Surplus Capital Surplus Time
Unacceptable Deficit Capital Time
Utility Infrastructure Model Capital Time Actual Infrastructure Demand
Over or Under-Provisioning 14
Over or Under-Provisioning Less and less demand. 15 Shaded area is unused capability. Shaded area represents requests not served.
Real world estimates l l Average server utilization is 5% to 20%. Peak workload exceeds the average by factors of 2 to 10. Users provision for the peak. Peak loads may occur based on the time of day or based on other factors (e. g. photo sharing after the holidays, drop/add within two weeks of start of term, etc. ) 16
Or, suppose you have a large batch-oriented task? l l l 17 How do we benefit from using a cloud? 1000 servers for one hour costs not more than 1 server for 1000 hours. This degree of elasticity may be unprecedented in the history of IT.
l l l 18 The illusion of infinite computing resources on demand (no far ahead provisioning concerns) The elimination of up front commitment by cloud users (start small and grow) Pay for resources on a short term basis as needed (flexibility)
Key Enablers l l l 19 Construction and operation of extremely largescale commodity-computer datacenters at low cost locations Statistical multiplexing to increase utilization (to each according to his needs) – varies over time – this differs from traditional hosting Virtualization of computation, storage, and communication
Key attributes of cloud computing l l l l l Off-Premise Elasticity Flexible billing Virtualization Service delivery Universal access Simplified management Affordable resources Multi-tenancy Service level management
Key attributes of cloud computing l Off-Premise: the service is hosted and delivered from a location that belongs to a service provider. - The service is deliverred over the public Internet - Computing processes occur outside the company firewall.
l Elasticity: cloud computing provides an elastic provisioning mechanism for resource allocation, so that resources can be scaled both up and down very rapidly on demand.
l Flexible Billing: Cloud computing typically charges users by fine-grained metering of resource usages.
l Virtualization: cloud services are usually offerred through an abstracted infrastructure, which leverage various virtualization mechanisms.
l Service delivery: cloud functionality is often available as a service. Typically the services offer programmatic interfaces in addition to the user interfaces.
l Universal access: Pooled resources are available to anyone authorized to utilize them; Location independence and high levels of resilience allow for an always connected user experience.
l Simplified management: - Administration is simplified through automatic provisioning to meet scalability requirements; - user self-service expedites businesss process; - programmatically accessible resources facilites integration into enterprise management frameworks
l Affordable resources: The cost of resources is dramatically reduced for two reasons: - From the user side, there is no requirement for spending money on fixed purchases - From the service provider side, the economy of scale of the service providers allow them to optimize their cost structure with commodity hardware and fine-tuned operational procedures that are not easily matched by most companies.
l Multi-tenancy: The cloud is used by many organizations (tenants). It can protect and isolate each tenant from all others.
l Service-level management: Cloud services typically offer a service-level definition that sets the expectation with the customer as to how robust that service will be.
Cloud Computing: Concerns (1) l Concerns from The Industry (Providers) Replacement Cost Ø § Increase in cost to maintain the infrastructure Standardization Ø § No standard metric for Qo. S is limiting the popularity Security and Confidentiality Ø § Trust model for cloud computing Control Mechanism Ø § Users do not have any control over infrastructures Copyright © 2012, Elsevier Inc. All rights reserved. 2 -
Cloud Computing: Concerns (2) l Concerns from Research Community : Ø Conflict to legacy programs § Ø Provenance § Ø With difficulty in developing a new application due to lack of control How to reproduce results in different infrastructures Programming Model § § Ø Hard to debug where programming naturally error-prone Details about infrastructure are hidden Qo. S Measurement § Especially for ubiquitous computing where context changes Copyright © 2012, Elsevier Inc. All rights reserved. 2 -
Opportunities and Challenges l The use of the cloud provides a number of opportunities: Ø Ø It enables services to be used without any understanding of their infrastructure. Cloud computing works using economies of scale: § § § Ø 33 It potentially lowers the outlay expense for start up companies, as they would no longer need to buy their own software or servers. Cost would be by on-demand pricing. Vendors and Service providers claim costs by establishing an ongoing revenue stream. Data and services are stored remotely but accessible from “anywhere”.
Opportunities and Challenges l In parallel there has been backlash against cloud computing: Ø Use of cloud computing means dependence on others and that could possibly limit flexibility and innovation: § § Ø Security could prove to be a big issue: § Ø It is still unclear how safe out-sourced data is and when using these services ownership of data is not always clear. There also issues relating to policy and access: § § 34 The others are likely become the bigger Internet companies like Google and IBM, who may monopolise the market. Some argue that this use of supercomputers is a return to the time of mainframe computing that the PC was a reaction against. § § If your data is stored abroad whose policy do you adhere to? What happens if the remote server goes down? How will you then access files? There have been cases of users being locked out of accounts and losing access to data.
Advantages of Cloud Computing l Lower computer costs: Ø Ø Ø 35 Ø You do not need a high-powered and high-priced computer to run cloud computing's web-based applications. Since applications run in the cloud, not on the desktop PC, your desktop PC does not need the processing power or hard disk space demanded by traditional desktop software. When you are using web-based applications, your PC can be less expensive, with a smaller hard disk, less memory, more efficient processor. . . In fact, your PC in this scenario does not even need a CD or DVD drive, as no software programs have to be loaded and no document files need to be saved.
Advantages of Cloud Computing l Improved performance: Ø Ø l With few large programs hogging your computer's memory, you will see better performance from your PC. Computers in a cloud computing system boot and run faster because they have fewer programs and processes loaded into memory… Reduced software costs: Ø Instead of purchasing expensive software applications, you can get most of what you need for free-ish! § 36 Ø most cloud computing applications today, such as the Google Docs suite. better than paying for similar commercial software § which alone may be justification for switching to cloud applications.
Advantages of Cloud Computing l Instant software updates: Ø Ø Another advantage to cloud computing is that you are no longer faced with choosing between obsolete software and high upgrade costs. When the application is web-based, updates happen automatically § Ø When you access a web-based application, you get the latest version § l available the next time you log into the cloud. without needing to pay for or download an upgrade. Improved document format compatibility. Ø 37 Ø You do not have to worry about the documents you create on your machine being compatible with other users' applications or OSes There are potentially no format incompatibilities when everyone is sharing documents and applications in the cloud.
Advantages of Cloud Computing l Unlimited storage capacity: Ø Ø l Cloud computing offers virtually limitless storage. Your computer's current 1 Tbyte hard drive is small compared to the hundreds of Pbytes available in the cloud. Increased data reliability: Ø Unlike desktop computing, in which if a hard disk crashes and destroy all your valuable data, a computer crashing in the cloud should not affect the storage of your data. § 38 Ø if your personal computer crashes, all your data is still out there in the cloud, still accessible In a world where few individual desktop PC users back up their data on a regular basis, cloud computing is a data-safe computing platform!
Advantages of Cloud Computing l Universal document access: Ø Ø Ø l Latest version availability: Ø 39 That is not a problem with cloud computing, because you do not take your documents with you. Instead, they stay in the cloud, and you can access them whenever you have a computer and an Internet connection Documents are instantly available from wherever you are Ø When you edit a document at home, that edited version is what you see when you access the document at work. The cloud always hosts the latest version of your documents § as long as you are connected, you are not in danger of having an outdated version
Advantages of Cloud Computing l Easier group collaboration: Ø Ø Sharing documents leads directly to better collaboration. Many users do this as it is an important advantages of cloud computing § l multiple users can collaborate easily on documents and projects Device independence. Ø Ø 40 Ø You are no longer tethered to a single computer or network. Changes to computers, applications and documents follow you through the cloud. Move to a portable device, and your applications and documents are still available.
Top 10 Obstacles To Cloud Computing 1. Business continuity and service availability Will the cloud provider remain in business over the long haul? Can we prevent a single point of failure by using more than one provider? 41
Top 10 Obstacles To Cloud Computing 2. Data Lock-in Cloud storage is essentially proprietary. Saa. S developers cannot easily extract their data and place it on multiple clouds. One solution would be to standardize data API’s. 42
Top 10 Obstacles To Cloud Computing 3. Data Confidentiality/Auditability Security is one of the most often-cited objections to cloud computing. This is an old and difficult problem but, in the cloud, more parties are involved. 43
Top 10 Obstacles To Cloud Computing 4. Data transfer bottlenecks At $100 to $150 per terabyte transferred, costs may quickly add up. Shipping disks may be cheaper. In 2010, the Library of Congress claims to hold 235 terabytes. Wikipedia holds about 5. 87 terabytes. One terabyte is about 1012 bytes. 44
Top 10 Obstacles To Cloud Computing 5. Performance unpredictability Multiple virtual machines can share CPU’s and main memory very well in cloud computing. Network and disk I/O sharing is less predictable. Virtual machines are not new. IBM developed much of this in the 1980’s. Flash memory preserves information when powered off like mechanical hard disks. It is much faster to access and its use may reduce I/O interference. 45
Top 10 Obstacles To Cloud Computing 6. Scalable storage An open research question is to create a storage system that would not only meet existing programmer expectations in regard to durability, high availability, and the ability to manage and query data but combine them with the cloud advantages of scaling arbitrarily up and down on demand. 46 AWS uses Amazon Elastic Block Store (EBS) and Simple. DB Azure uses SQL Data Services and Azure Storage Service App. Engine uses Megastore/Big. Table
Top 10 Obstacles To Cloud Computing 7. Bugs in large scale distributed systems News on April 25, 2011: Amazon said it has completed its recovery efforts and a tiny percentage of data lost won't be fully restored. "We're in the process of contacting these customers, " Amazon said Monday afternoon on its Web site. Amazon said it is "digging deeply" into the root causes behind last week's shutdown and will provide a "detailed post mortem" in the future. 47
Top 10 Obstacles To Cloud Computing 8. Scaling quickly Pay as you go applies to storage and network bandwidth. Simply count bytes used. Google App Engine automatically scales based on load increases and decreases. AWS charges by the hour for the number of instances you occupy – even if your machine is idle. 48 The challenge is to scale fast (up and down) to save money without violating SLA’s. (Service-Level Agreement)
Top 10 Obstacles To Cloud Computing 9. Reputation fate sharing One bad apple spoils the bunch. EC 2 IP addresses have been blacklisted by spam prevention services – blocking some good guys from sending email. The FBI raided a Dallas data center because a company whose services were hosted there was under investigation. Many “innocent bystanders” were down for days – and some went out of business. 49
Top 10 Obstacles To Cloud Computing 10. Software licensing Current practice is to restrict the computer on which the software can run. The software is purchased along with a maintenance fee. This is not the pay-as-you go model. Microsoft and IBM are now offering pay-as-you go pricing. In 2011, IBM charges $6. 39 per hour for Web. Sphere with Lotus Web Content Management running on EC 2. 50
Current IT options for Scientists Requirements Science-scale application development Very large data set processing Current Options* BUILD IT Build my own IT infrastructure that may/may not comply with Federal/Agency IT security standards. BUY IT Missions Compute intensive processing Timely sharing of results with collaborators and the public Go through a lengthy procurement and provisioning process for basic IT services DO NOTHING The current basic IT services model is cost prohibitive and I cannot afford to process my data and share with collaborators and the public at large.
Vision - Security as a Service Goal - Automate compliance through security services provided by cloud provider l l Security APIs/tools mapped to specific controls Ø Customers could subscribe to tools/services to meet compliance requirements l When setting up new project in cloud Ø Customers assert nature of data they will use Ø Cloud responds with list of APIs/tools for customers to use
Divide and Conquer “Work” Partition w 1 w 2 w 3 “worker” r 1 r 2 r 3 “Result” Combine
Parallelization Problems l l l l Workers can be human beings, computers, servers, etc. How do we assign work units to workers? What if we have more work units than workers? What if workers need to share partial results? How do we aggregate partial results? How do we know all the workers have finished? What if workers die?
General Theme? l Parallelization problems arise from: Ø Ø l l Communication between workers Access to shared resources (e. g. , data) Thus, we need a synchronization system! This is tricky: Ø Ø Finding bugs is hard Solving bugs is even harder
Managing Multiple Workers l Difficult because Ø Ø Ø l Thus, we need: Ø Ø Ø l Semaphores (lock, unlock) Conditional variables (wait, notify, broadcast) Barriers Still, lots of problems: Ø l (Often) don’t know the order in which workers run (Often) don’t know where the workers are running (Often) don’t know when workers interrupt each other Deadlock, livelock, race conditions, . . . Moral of the story: be careful! Ø Even trickier if the workers are on different machines
Patterns for Parallelism l l Parallel computing has been around for decades Here are some “design patterns” …
Master/Slaves master slaves
Producer/Consumer Flow P C P C P C
Work Queues P P P shared queue W W W C C C