communications and multimedia laboratory, csie & ginm...
TRANSCRIPT
2013/3/4
1
Intro. To Cloud Computing
Cheng‐Fu Chou 2013
What is Cloud Computing
• How can we define Cloud Computing?– What does (and does not) constitute a “cloud” platform?
• Enabling technologies for cloud computing– Virtual Machines
– Virtualized StorageVirtualized Storage
– Web Services
• ... Cloud computing is Internet‐based ti h b h dcomputing, whereby shared resources,
software and information are provided to computers and other devices on demand, like the electricity.
• Wikipedia
• ... a style of computing in which dynamically l bl d ft i t li dscalable and often virtualized resources are
provided as a service over the Internet”
• Wikipedia
2013/3/4
2
• “... a pay‐per‐use model for enabling il bl i t d d t kavailable, convenient, on‐demand network
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 virtualized resources (such as hardware, developmentvirtualized resources (such as 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
S ft Pl tf St I f t t– Software, Platform, Storage, Infrastructure
• 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– 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
2013/3/4
3
Enabling Technologies
• Several key components have matured and ti l f Cl d C tiare essential for Cloud Computing
– Virtual Machines
– Virtualized Storage– Web Services
Virtual Machines
• For past few years, VM technology has b i d h /fbecome pervasive and cheap/free– VMWare [ESX/GSX Server, Workstation]
– XenSource [XenEnterprise/Server/Express]– Swsoft/Parallel [Virtuozzo, Desktop]
– Microsoft [Virtual Server]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 VM h i l h t ( lid ti )VMs on one physical host (consolidation)
• Agile deployment and management of services
• Reliability : On demand cloning, (live) migration & checkpointmigration & checkpoint
2013/3/4
4
Virtualized Storage
• Distributed File Systems:– Google File System (GFS)– Hadoop Distributed File System (HDFS)
• Cluster File Systems:– Vmware vStorage VMFS
– XenServer Storage Pool– XenServer Storage Pool
Web Services
• SOAP– XML Messages– Web Services Description Language (WSDL)
• REST / RESTful– GET POST PUT DELETE for HTTP– 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– 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
2013/3/4
5
Cluster Computing
• Clusters are linked computer systems that can t t f t ti dcooperate to perform computations and
deliver services:– Often function/appear as single server
– Typically linked over LAN– Offers scalability over single‐servery g
– Used for high‐availability (redundant), load balancing, shared computing (w/ IPC)
Grid Computing
• Grids are autonomous and dynamic di t ib t d t ib t d b ltidistributed resources contributed by multi‐organizations.– 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 t h i did t f i d ltechniques did not ensure fair and 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
2013/3/4
6
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 reqMeeting corporate/regulatory req.
– Option to scale out to Public Cloud
Hybrid Cloud
• Combination of private/internal and external Cl dCloud resources
• “Cloudbursting” to handle “Flash Crowds”– Provision additional resources from Public Clouds on‐demand
– Release resource when no longer neededg
Cloud Architecture
2013/3/4
7
What is Cloud Computing
• Shared pool of configurable computing resources
• On‐demand network access
• Provisioned by the Service Provider
Cloud Computing Characteristics
Common Characteristics:
Massive Scale Resilient Computing
Low Cost Software
Virtualization Service Orientation
Advanced Security
Homogeneity Geographic Distribution
Essential Characteristics:
Resource PoolingBroad Network Access Rapid Elasticity
Measured Service
On Demand Self-Service
Cloud Service ModelsSoftware as a
Service (SaaS)Platform as a
Service (PaaS)Infrastructure as a
Service (IaaS)
SalesForce CRM
Google App Engine
SalesForce CRM
LotusLive
SaaS Maturity Model
Level 1: Ad‐Hoc/Custom –One Instance per customer
Level 2: Configurable per customer
Level 3: configurable & Multi‐Tenant‐Efficient
p
Level 4: Scalable, Configurable & Multi‐Tenant‐Efficient
2013/3/4
8
Different Cloud Computing Layers
Application Service(SaaS)
MS Live/ExchangeLabs, IBM, Google Apps; Salesforce.comQuicken Online, Zoho, Cisco
Application Platform
Server Platform 3Tera, EC2, SliceHost, GoGrid, RightScale, Linode
Google App Engine, Mosso,Force.com, Engine Yard,Facebook, Heroku, AWS
Quicken Online, Zoho, Cisco
Storage Platform Amazon S3, Dell, Apple, ...
Services
Cloud Computing Service LayersDescriptionServices – Complete business services such as PayPal, OpenID, OAuth, Google Maps, Alexa
Services
A li ti Application – Cloud based software that eliminates Application
Development
Platform
Storage
ApplicationFocused
Infrastructure
Application Cloud based software that eliminates the need for local installation such as Google Apps, Microsoft Online
Storage – Data storage or cloud based NAS such as CTERA, iDisk, CloudNAS
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
Hosting
fFocused
, ,
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
hcustomers across the Internet.
• Saas alleviates the burden of software maintenance/support– but users relinquish control over software versions and requirements.
T h d i hi h i l d• 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 available to authorized clients by using well‐defined y y y gprotocols,
– 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.
• Provide infrastructure API:– Plug‐ins to hardware/support structures Hardware
OS
App App App
Hypervisor
OS OS
Virtualized Stack
2013/3/4
9
Virtual Machines
• VM technology allows multiple virtual machines to run on a single physical machine.
Virtual Machine Monitor (VMM) / Hypervisor
Guest OS(Linux)
Guest OS(NetBSD)
Guest OS(Windows)
VM VM VM
AppApp AppAppAppXen
VMWare
UML
Hardware Denalietc.
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
l blunavailable,
– 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 hostTimeshare 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 d d b f ldependent, 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– 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,– Control of data, and service parameters,Control 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
2013/3/4
10
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 hhired out to others. – allows data stored remotely to be temporarily cached on desktop computers, mobile phones or other Internet‐linked devices.
• Amazon’s Elastic Compute Cloud (EC2) and SimpleAmazon s Elastic Compute Cloud (EC2) and Simple Storage Solution (S3) are well known examples– Mechanical Turk
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,
2013/3/4
11
Software‐as‐a‐Service
• Ex. Google Apps– http://www.google.com/a/help/intl/zh‐TW/index.html
05/18/09Public
Infrastructure‐as‐a‐ServicePlatform‐as‐a‐Service
• Ex. Amazon EC2 (Elastic Compute Cloud)“a web service that provides resizable computea web service that provides resizable compute capacity in the cloud. ...”
– http://aws.amazon.com/ec2/
Copyright 2009 - Trend Micro Inc.
– 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
Amazon EC2 (cloud computing example…) • 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”.
EC2 – The Basics
• Load your image onto S3 and register it.
• Boot your image from the Web Service.Boot your image from the Web Service.
• Open up required ports for your image.
• Connect to your image through SSH.
• Execute you application…
2013/3/4
12
Utility Computing – EC2
• Amazon Elastic Compute Cloud (EC2):– Elastic, marshal 1 to 100+ PCs via WS,
M hi S– 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” of a virtual machine between hosts– Supports “Live Migration” of a 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”.the cloud .
– http://aws.amazon.com/
Copyright 2009 - Trend Micro Inc.05/18/09Classification
Challenging to Cloud Computing Did You Know
2013/3/4
13
Cloud User Surveys ‐ Benefits
Q: Rate the benefits commonly ascribed to the 'cloud'/on‐demand model
77.9%Pay only for what you use
63.9%
64.6%
67.0%
68.5%
75.3%
77.7%
Sharing systems with partners simpler
Always offers latest functionality
Requires less in‐house IT staff, costs
Encourages standard systems
Monthly payments
Easy/fast to deploy to end‐users
Source: IDC Enterprise Panel, 3Q09, n = 263, Septeber 2009
(Scale: 1 = Not at all important 5 = Very Important)
54.0%
0% 10% 20% 30% 40% 50% 60% 70% 80% 90%
Seems like the way of the future
Cloud User Surveys ‐ Challenges
Q: Rate the challenges/issues of the 'cloud'/on‐demand model
87.5%Security
76.8%
79.8%
80.2%
81.0%
82.9%
83.3%
Hard to integrate with in‐house IT
Bringing back in‐house may be difficult
Lack of interoperability standards
On‐demand paym’t model may cost more
Performance
Availability
Source: IDC Enterprise Panel, 3Q09, n = 263, September 2009
(Scale: 1 = Not at all concerned 5 = Very concerned)
76.0%
0% 10% 20% 30% 40% 50% 60% 70% 80% 90%
Not enough ability to customize
Market Estimation Obstacles & Opportunities