Cloud computing. Examples

Size: px
Start display at page:

Download "Cloud computing. Examples"

Transcription

1 Cloud computing Cloud computing Web Systems and Algorithms Cloud Computing Chris Brooks Department of Computer Science University of San Francisco What is cloud computing? What separates it from: grid computing distributed computing data centers The interesting thing about cloud computing is that we ve redefined cloud computing to include everything that we already do... I don t understand what we would do differently in the light of cloud computing other than change the wording of some of our ads. Larry Ellison, CEO, Oracle. cisco p.1/?? cisco p.2/?? Department of Computer Science University of San Fra Characteristics of Cloud Computing Examples Examples Appearance of infinite computing resources on demand. Web-based interface or public API No specialized client software needed. No up-front commitment Fine-grained ability to pay for resources as needed. What are some examples of cloud computing? Google AppEngine, GMail, Google Apps Amazon EC2, S3, AWS, Simple Queue Service, etc Microsoft Azure Salesforce.com Dropzone GoGrid and many more cisco p.4/?? cisco p.5/?? Department of Computer Science University of San Fra

2 One tenet of cloud computing is the idea of Software as a Service (SaaS). Although you can have SaaS without cloud computing SaaS refers to a model in which you rent software and pay for usage, rather than purchasing the software upfront. Example: Google Docs, Banner Assets and data are stored on a server, rather than on a local client Pricing is done in a one-to-many fashion, akin to site licenses Intergrated into software suites What are some advantages of the Software as a Service approach? cisco p.7/?? cisco p.8/?? Department of Computer Science University of San Fra What are some advantages of the Software as a Service approach? No need to install on each client License easily moves with user Updates easily pushed out Potential cost savings for customer Reduced infrastructure costs for organization What are some potential concerns of the Software as a Service approach? Unable to easily work without network access Data security and privacy Potential integration problems with third-party software Unable to modify or extend applications cisco p.10/?? cisco p.11/??

3 Infrastructure as a Service Virtualization Virtualization Slightly more nebulous is the idea of Infrastructure as a Service This is the idea of directly renting access to servers Typically done in a virtualized way The most well-known example of this is Amazon s EC2. You are provided with a pre-configured, templated image that you can completely control. Virtualization is what makes this possible. What is virtualization? Virtualization is the process of running an operating system as a program within another operating system e.g. VMWare, Parallels Typically, some support is provided by the hardware to allow heterogenous instances of an OS to run within a container. Allows for many virtual instances to share the same hardware instance, resucing costs and infrastructure overhead. cisco p.13/?? cisco p.14/?? Platform as a Service Utility Computing Utility Computing Another term that is sometimes used in conjunction with cloud computing is Platform as a Service. In this model, an entire programming platform is provided in a scalable, transparent way. AppEngine is a nice example of this Storage, web server, interface to Google s APIs and services all provided within a single wrapper. The second characteristic of cloud computing is the ability to pay as you go This is often referred to as utility computing. The service is being sold as a utility (like electricity) rather than as a commodity (like corn) Typically, fine-grained pricing models are used A client can pay on a per-hour or per-day basis. Why might a company want to use a utility-based approach, as opposed to the more traditional model of either setting up a data center or purchasing rack space from an ISP? cisco p.16/?? cisco p.17/??

4 Advantages of utility computing Varying loads Advantages of utility computing Greatly reduced upfront cost. This is very attractive for startups and small firms. Possibly a disincentive for firms that already have a data center. Provisioning Many apps have a very bursty load Bursts may be periodic or seasonal or hard to predict Users can either overprovision and waste money, or underprovision and provide poor service. It taskes time to add capacity to a data center. Server loads can vary for a number of reasons: Periodic over time of day Servers underused in slow periods Seasonal usage e-commerce in December, photo sharing after holidays. Surges due to sudden popularity Popularity on Facebook, Slashdot The ability to reprovision quickly leads to reduced risk. This can make it more attractive even if it is more expensive than traditional approaches. Utility computing can also allow users to finish large jobs more quickly by provisioning a large amount of resources for a limited time. cisco p.19/?? cisco p.20/?? Criteria Clouds vs Data Centers Economics To recap, a cloud computing system requires: Web-based API or application Appearance of infinite resources Fine-grained pricing No up-front commitment So why is a standard data center not a cloud? What about a company with a web-based app that can add more resources in a few hours? What about MMORPGs? Do they use a cloud model? So what makes cloud computing possible from the providers point of view? cisco p.22/?? cisco p.23/??

5 Economics Challenges for Cloud Computing Reliability So what makes cloud computing possible from the providers point of view? Cheap hardware Economies of scale in providing power, bandwidth, operations, and software Factor of 5-7 Virtualization Cloud computing centers can offer services more cheaply than medium-sized data centers and still turn a profit. What sorts of challenges exist for cloud computing providers? Organizations worry that a service will be unavailable at a critical time. Cloud services have actually been quite reliable, but the perception is there. High-reliability often implies no single point of failure, so organizations want explicit redundancy. cisco p.25/?? cisco p.26/?? Data lock-in Data Confidentiality Data transfer bottlenecks It is not necessarily easy to extract programs or data from one cloud provider and import it to another. A standardized API that allowed users to easily deploy data across multiple services would help here. Users want to know that their data is both confidential and auditable. Cloud users also need to worry about application-level security Cloud centers have to worry about data and network-level security. Also need to worry about malicious users Virtualization is a big help here For large-scale data-intensive applications, transfer between points in the cloud can be slow and costly. It can be cheaper to physically ship disks. Upload to S3 is less than 20 MB/sec. To transfer 10 terabytes would take 45 days. We could also just ship 10 1 TB disks to Seattle overnight. Amazon actually offers this service. cisco p.28/?? cisco p.29/??

6 Performance Unpredictability Reputation Sharing Third-party licensing Virtual machines can have problems with disk and network contention. This is an opportunity for research - how to virtualize inpterrupts and access to I/O channels. Scheduling is also challenging in virtual machines. Hard to ensure that all threads of a program are running at once Bad behavior by some users of a cloud service can afect other users. For example, spammers getting a set of IPs blocked. Who is liable for customer misbehavior? Cloud providers need to figure out how to deal with licenses or third-party software, such as Oracle DB. Currently open-source is very popular in the cloud for this reason. Commercial vendors need to figure out what a cloud license looks like. cisco p.31/?? cisco p.32/?? Summary Cloud computing uses economies of scale to provide the appearance of unlimited resources, available with high-granularity ricing. Extension of the idea of software as a service Easy for users to get up and running Helps deal with demand fluctuations Challenging to deal with data locality, trust, and true transparency. cisco p.34/??