What is Cloud Computing Intro. To Cloud Computing Cheng Fu Chou 2013 How can we define Cloud Computing? What does (and does not) constitute a cloud platform? Enabling technologies for cloud computing Virtual Machines Virtualized Storage Web Services... Cloud computing is Internet based computing, whereby shared resources, software and information are provided to computers and other devices on demand, like the electricity.... a style of computing in which dynamically scalable lbl and often virtualized it resources are provided as a service over the Internet Wikipedia Wikipedia 1
... a pay per use model for enabling available, convenient, on demand dnetwork access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. National Institute of Standards and Technology (NIST) 11 Clouds are a large pool of easily usable and accessible virtualizedresources resources (suchas hardware, development platforms and/or services). These resources can be dynamically reconfigured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay per use model in which guarantees are offered by the Infrastructure Provider by means of customized SLAs. Paper by Vaquero et. al.: A break in the clouds: towards a cloud definition Cloud Computing Defined Shared resources, resources are abstracted / virtualized Software, Platform, Storage, Infrastructure t Internet based, open interface and on demand Elastic capacity scale up/down on demand. Pay per use (no commitment, utility prices). How many/good/long According to service level agreement (SLA) Common Ground Pay per use (no commitment, utility prices) Elastic capacity scale up/down on demand Self service interface Resources are abstracted / virtualized 2
Enabling Technologies Several key components have matured and are essential for Cloud Computing Virtual Machines Virtualized Storage Web Services Virtual Machines For past few years, VM technology has become pervasive and cheap/free VMWare [ESX/GSX Server, Workstation] XenSource [XenEnterprise/Server/Express] Swsoft/Parallel [Virtuozzo, Desktop] Microsoft [Virtual Server] Virtual Machines Factors contributing to rising profile: Commodity multi core machines Hardware assisted virtualization using Intel VT and AMD Pacifica runs unmodified OS at near native speeds Integration of VM tech. into mainstream server OS s Virtual Machines Improving utilization by multiplexing many VMs on one physical lhost t( (consolidation) Agile deployment and management of services Reliability : On demand cloning, (live) migration & checkpoint 3
Virtualized Storage Distributed File Systems: Google File System (GFS) Hadoop Distributed File System (HDFS) Cluster File Systems: Vmware vstorage VMFS XenServer Storage Pool SOAP Web Services XML Messages Web Services Description Language (WSDL) REST / RESTful GET, POST, PUT, DELETE for HTTP More lightweight HTTP/JSON schemes Cloud Computing Enabling Technologies Several key components have matured and are essential building blocks of many Cloud services: Web 2.0 ex: Ajex, Web Service, HTML5, Distributed/Cluster/Grid computing ex: MapReduce, Service Oriented Architecture Distributed Storage ex. Hadoop Distributed File System, Google File System, Google BigTable, Amazon S3 Virtualization ex. Xen, Vmware, KVM, VirtualBox How did we get here What about: Cluster Computing Grid Computing 4
Cluster Computing Clusters are linked computer systems that can cooperate to perform computations tti and deliver services: Often function/appear as single server Typically linked over LAN Offers scalability over single server Used for high availability (redundant), load balancing, shared computing (w/ IPC) Grid Computing Grids are autonomous and dynamic distributed ib t d resources contributed tib t dby multiorganizations. Can offer computing, network, sensor, and storage resources Resources are loosely coupled, heterogeneous, geographically dispersed Used in diverse fields: climate modeling, drug design and protein analysis to solve Grand Challenges Grid Computing Traditional Grid resource management techniques did not ensure fair fiand equal access to resources in many systems: Traditional metrics (throughput, waiting time, slowdown) failed to capture the more subtle requirements of users No incentives for users to be flexible about resource req. or job deadlines No provisions to accommodate users with urgent work Types of Clouds 5
Public Cloud Publicly accessible, self service mode Access via Web Services Access via management portal Free or pay per use No ongoing contract or commitment Private Cloud Emulate Public Cloud on private / internal resources Gives benefits of Clouds (elasticity, dynamic provisioning, multiplexing ) while: Maintaining control of resources (security) Meeting corporate/regulatory req. Option to scale out to Public Cloud Hybrid Cloud Combination of private/internal and external Cloud resources Cloudbursting to handle Flash Crowds Provision additional resources from Public Clouds on demand Release resource when no longer needed Cloud Architecture 6
What is Cloud Computing Cloud Computing Characteristics Common Characteristics: Massive Scale Homogeneity Virtualization Low Cost Software Resilient Computing Geographic Distribution Service Orientation Advanced Security Essential Characteristics: Shared pool of configurable computing resources On demand network access Provisioned by the Service Provider On Demand Self-Service Broad Network Access Rapid Elasticity Resource Pooling Measured Service Cloud Service Models SaaS Maturity Model SalesForce CRM Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Level 1: Ad Hoc/Custom One Instance per customer LotusLive Google App Engine Level 2: Configurable per customer Level 3: configurable & Multi Tenant Efficient Level 4: Scalable, Configurable & Multi Tenant Efficient 7
Different Cloud Computing Layers Application Service (SaaS) Application Platform Server Platform MS Live/ExchangeLabs, IBM, Google Apps; Salesforce.com Quicken Online, Zoho, Cisco Google App Engine, Mosso, Force.com, Engine Yard, Facebook, Heroku, AWS 3Tera, EC2, SliceHost, GoGrid, RightScale, Linode Storage Platform Amazon S3, Dell, Apple,... Cloud Computing Service Layers Services Services Description Services Complete business services such as PayPal, OpenID, OAuth, Google Maps, Alexa Application Cloud based software that eliminates Application Application Focused Infrastructure Focused Development Platform Storage Hosting the need for local installation such as Google Apps, Microsoft Online Development Software development platforms used to build custom cloud based applications (PAAS & SAAS) such as SalesForce Platform Cloud based platforms, typically provided using virtualization, such as Amazon ECC, Sun Grid Storage Data storage or cloud based NAS such as CTERA, idisk, CloudNAS Hosting Physical data centers such as those run by IBM, HP, NaviSite, etc. Software as a Service (SaaS) SaaS is a model of software deployment where an application is hosted as a service provided to customers across the Internet. Saas alleviates the burden of software maintenance/support but users relinquish control over software versions and requirements. Terms that are used in this sphere include Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) Virtualization Virtual workspaces: An abstraction of an execution environment that can be made dynamically yavailable to authorized clients by using well defined protocols, Resource quota (e.g. CPU, memory share), Software configuration (e.g. O/S, provided services). Implement on Virtual Machines (VMs): Abstraction of a physical host machine, Hypervisor intercepts and emulates instructions from VMs, and allows management of VMs, VMWare, Xen, etc. OS OS Provide infrastructure API: Hypervisor Plug ins to hardware/support structures Hardware App App App OS Virtualized Stack 8
Virtual Machines VM technology allows multiple virtual machines to run on a single physical machine. App App Guest OS (Linux) App Guest OS (NetBSD) App Guest OS (Windows) VM VM VM App Virtual Machine Monitor (VMM) / Hypervisor Hardware Xen VMWare UML Denali etc. Performance: Para-virtualization (e.g. Xen) is very close to raw physical performance! Virtualization in General Advantages of virtual machines: Run operating systems where the physical hardware is unavailable, lbl Easier to create new machines, backup machines, etc., Software testing using clean installs of operating systems and software, Emulate more machines than are physically available, Timeshare lightly loaded systems on one host, Debug problems (suspend and resume the problem machine), Easy migration of virtual machines (shutdown needed or not). Run legacy systems! What is the purpose and benefits? Cloud computing enables companies and applications, which are system infrastructure dependent, d to be infrastructure less. By using the Cloud infrastructure on pay as used and on demand, all of us can save in capital and operational investment! Clients can: Put their data on the platform instead of on their own desktop PCs and/or on their own servers. They can put their applications on the cloud and use the servers within the cloud to do processing and data manipulations etc. 35 Cloud Sourcing Why is it becoming a Big Deal: Using high scale/low cost providers, Any time/place access via web browser, Rapid scalability; incremental cost and load sharing, Can forget need to focus on local IT. Concerns: Performance, reliability, and SLAs, Controlof of data, and service parameters, Application features and choices, Interaction between Cloud providers, No standard API mix of SOAP and REST! Privacy, security, compliance, trust 36 9
2013/3/4 Some Commercial Cloud Offerings Cloud Taxonomy 38 Cloud Storage Several large Web companies are now exploiting the fact that they have data storage capacity that can be h d hired out to others. h allows data stored remotely to be temporarily cached on desktop computers, mobile phones or other Internet linked devices. Amazon s Amazon s Elastic Compute Cloud (EC2) and Simple Elastic Compute Cloud (EC2) and Simple Storage Solution (S3) are well known examples Amazon Simple Storage Service (S3) Unlimited Storage. Pay for what you use: Pay for what you use: $0.20 per GByte of data transferred, $0.15 per GByte Month for storage used, Second Life Update: 1TBytes, 40,000 downloads in 24 hours $200, Mechanical Turk 10
Ex. Google Apps Software as a Service http://www.google.com/a/help/intl/zh TW/index.html Infrastructure as a Service Platform as a Service Ex. Amazon EC2 (Elastic Compute Cloud) a web service that provides resizable compute capacity in the cloud.... http://aws.amazon.com/ec2/ Small Instance (Default) 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32 bit platform Public 05/18/09 Copyright 2009 - Trend Micro Inc. Amazon EC2 (cloud computing example ) EC2 The Basics EC2 allows users to rent virtual computers on which to run their own computer applications. EC2 allows scalable deployment of applications by providing a web service through which a user can boot an Amazon Machine Image to create a virtual machine, A user can create, launch, and terminate server instances as needed, paying by the hour for active servers, hence the term "elastic. Load your image onto S3 and register it. Boot your image from the Web Service. Open up required ports for your image. Connect to your image through SSH. Execute you application 11
Utility Computing EC2 Amazon Elastic Compute Cloud (EC2): Elastic, marshal 1 to 100+ PCs via WS, Machine Specs, Fairly cheap! Powered by Xen a Virtual Machine: Different from Vmware and VPC as uses para virtualization where the guest OS is modified to use special hyper calls: Hardware contributions by Intel (VT x/vanderpool) and AMD (AMD V). Supports Live Migration ofa virtual machine between hosts. Linux, Windows, OpenSolaris Management Console/AP Amazon Web Services (cloud computing example ) Amazon Web Services (AWS) delivers a set of services that together form a reliable, scalable, and inexpensive computing platform in the cloud. http://aws.amazon.com/ Classification 05/18/09 Copyright 2009 - Trend Micro Inc. Challenging to Cloud Computing Did You Know 12
Cloud User Surveys Benefits Cloud User Surveys Challenges Q: Rate the benefits commonly ascribed to the 'cloud'/on demand model Q: Rate the challenges/issues of the 'cloud'/on demand model Pay only for what you use 77.9% Security 87.5% Easy/fast to deploy to end users 77.7% Availability 83.3% Monthly payments 75.3% Performance 82.9% Encourages standard systems 68.5% On demand paym t model may cost more 81.0% Requires less in house IT staff, costs 67.0% Lack of interoperability standards 80.2% Always offers latest functionality 64.6% Bringing back in house may be difficult 79.8% Sharing systems with partners simpler 63.9% Hard to integrate with in house IT 76.8% Seems like the way of the future 54.0% Not enough ability to customize 76.0% 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% (Scale: 1 = Not at all important 5 = Very Important) (Scale: 1 = Not at all concerned 5 = Very concerned) Source: IDC Enterprise Panel, 3Q09, n = 263, Septeber 2009 Source: IDC Enterprise Panel, 3Q09, n = 263, September 2009 Market Estimation Obstacles & Opportunities 13