Cloud Computing Saneel Bidaye uni-slb2181
What is Cloud Computing? Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services. –Infinite computing resources, no need to plan far ahead for provisioning. –No need for an up-front commiment. –Pay for use on a short-term basis (e.g., processors by the hour and storage by the day) and release them when not used. Not really possible without Virtualization.
3 The Traditional Server Concept Web Server Windows IIS App Server Linux Glassfish DB Server Linux MySQL Windows Exchange
4 And if something goes wrong... Web Server Windows IIS App Server DOWN! DB Server Linux MySQL Windows Exchange
5 The Traditional Server Concept Pros –Easy to conceptualize –Fairly easy to deploy –Easy to backup –Virtually any application/service can be run from this type of setup Cons –Expensive to acquire and maintain hardware –Not very scalable –Difficult to replicate –Redundancy is difficult to implement –Vulnerable to hardware outages –In many cases, processor is under- utilized
Virtualization Virtualization lets you run multiple virtual machines on a single physical machine, with each virtual machine sharing the resources of that one physical computer across multiple environments. Different virtual machines can run different operating systems and multiple applications on the same physical computer. Each “guest” OS is managed by a Virtual Machine Monitor (VMM), also known as a hypervisor. Because the virtualization system sits between the guest and the hardware, it can control the guests’ use of CPU, memory, and storage, even allowing a guest OS to migrate from one machine to another.
A virtual infrastructure lets you share your physical resources of multiple machines across your entire infrastructure.
8 Virtualization Pros –Resource pooling –Highly redundant –Highly available –Rapidly deploy new servers –Easy to deploy –Reconfigurable while services are running –Optimizes physical resources by doing more with less Cons –Slightly harder to conceptualize –Slightly more costly to providers (must buy hardware, OS, Apps, and now the abstraction layer)
Cloud Computing: Key Characteristics On-demand self-service Broad network access Resource pooling Rapid elasticity Measured Service
Service Models -Software as a Service (SaaS) -Platform as a Service (PaaS) -Infrastructure as a Service (IaaS)
SaaS The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser. Examples: Enterprise: SalesForce.Com, Webex, OfficeLive User Mail: Gmail, Hotmail User Pics: Flickr, Picasa
PaaS The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. Examples: Google’s AppEngine, Microsoft Azure
IaaS The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications.
Deployment Models -Public Cloud: the services are delivered to the client via the Internet from a third party service provider. Example: Amazon Public Cloud -Private Cloud: these services are managed and provided within the organization. There are less restriction on network bandwidth, fewer security exposures and other legal requirements compared to the public Cloud. Example: HP Data Centers Private Cloud -Hybrid cloud: there is a combination of services provided from public and private Clouds. Example: ▫ ERP in Private cloud ▫ Sales & on public
Top 10 Obstacles 1-Availability of Service ServiceDurationData S3 outage: authentication service overload leading to unavailability 2hours2/15/08 S3 outage: Single bit error leading to gossip protocol blowup. 6-8hours7/20/08 AppEngine partial outage: programming error 5 hours6/17/08 Gmail.1.5hours08/11/08
2- Data Lock-in: APIs for Cloud Computing itself are still essentially proprietary, or at least have not been the subject of active standardization Solution: Standardize the APIs. 3- Data Confidentiality cloud offerings are essentially public networks, exposing the system to more attacks. Solution: encrypted storage, firewalls, packet filters....
4-Data Transfer bottlenecks: large data transferring is expensive. 5-Performance Unpredictability: multiple Virtual Machines share CPUs and main memory well, but that I/O sharing is more problematic. 6-Scalable Storage: Hard to devise a storage model meeting the needs of scaling arbitrarily up and down on demand, resource management for scalability, data durability and high availability
7-Bugs in Large-Scale Distributed Systems 8-Impact on environment 9-Reputation Fate Sharing 10. Software licensing For cloud computing, the traditional software licensing is too expensive.