the cloud platform: a vision for the science of cloud computing for the next decade chandra krintz...

13
The Cloud Platform: A Vision for the Science of Cloud Computing for the Next Decade Chandra Krintz Computer Science Dept. Univ. of California, Santa Barbara http://www.cs.ucsb.edu/~ckrintz http://appscale.cs.ucsb.edu NSF Cloud Workshop March 17, 2011

Upload: ethel-clarke

Post on 29-Dec-2015

223 views

Category:

Documents


0 download

TRANSCRIPT

The Cloud Platform: A Vision for the Science of Cloud Computing for the Next Decade

Chandra KrintzComputer Science Dept.

Univ. of California, Santa Barbarahttp://www.cs.ucsb.edu/~ckrintz

http://appscale.cs.ucsb.edu

NSF Cloud WorkshopMarch 17, 2011

appscale

public cloud computing

• 3 types: as-a-Service (aaS) Infrastructure: Amazon Web Services (EC2, S3, EBS)

Virtualized, isolated (CPU, Network, Storage) systems on which users execute entire runtime stacks

Fully customer self-serviceOpen APIs (IaaS standard), scalable services

Platform: Google App Engine, Microsoft Azure

Software: Salesforce.com

appscale

private / open-source cloud computing

• 3 types: as-a-Service (aaS) Infrastructure: Amazon Web Services (EC2, S3, EBS)

Open IaaS offerings exist for private/hybrid useEucalyptus – Amazon AWS API emulation on private

cluster, transparent hybrid solutionOther APIs: Rackspace/OpenStack, CloudStack,

OpenNebula

Platform: Google App Engine, Microsoft Azure

Software: Salesforce.com

appscale

public cloud computing• 3 types: as-a-Service (aaS)

Infrastructure: Amazon Web Services (EC2, S3, EBS)Virtualized, isolated (CPU, Network, Storage) systems on which

users execute entire runtime stacks Fully customer self-service

Open APIs (IaaS standard), scalable services

Platform: Google App Engine, Microsoft AzureScalable program-level abstractions via well-defined interfacesEnable construction of network-accessible applicationsProcess-level (sandbox) isolation, complete software stack

Software: Salesforce.comApplications provided to thin clients over a networkCustomizable

appscale

why focus on the platform (PaaS) ?

• The platform is the cloud runtime Just as IaaS (infrastructure) is the cloud operating

system (OS)Platform abstracts complex, low-level details of IaaS Impacts development as well as system/application

behavior

appscale

why focus on the platform (PaaS) ?

• The platform is the cloud runtime; IaaS is the cloud “OS” Platform abstracts complex, low-level details of IaaS Impacts development and system/application behavior

• Programmer productivity (target: developer vs sys admin) Development, debugging, testing, configuration,

deployment “Write-once/Run-anywhere” for the cloud

Portability (across an growing sea of IaaS APIs / consoles)Lockin avoidance and ability to “test-drive” public cloud

offeringsPublic/private/hybrid choice, thus competition

Broaden developer base: scientists, financial experts, data analysts, educators, …Via a variety of high-level programming languages,

frameworks, and IDE support

appscale

why focus on the platform (PaaS) ?

• The platform is the cloud runtime; IaaS is the cloud “OS” Platform abstracts complex, low-level details of IaaS Impacts development and system/application behavior

• Availability of application-level knowledge/behavior/events Profiling/monitoring/sampling

Individual services, applications, application workloads Bug isolation and debugging support Security and performance anomolies Multi-tenent interference and compatibility

System wide resource availability, capability, performance Control: dynamic performance and cost adaptation

SW updates, scheduling, placement, cost, optimize/specializeCross-cloud (hybrid) execution and service useCan coordinate with & provide feedback to IaaS layer

appscale

platform design• Cloud platform provides

Multi-language API implementation Local/private implementations Via available public cloud services

App/Resource monitoring Optimization/adapation Elasticity (growing/shrinking of

application components on demand)

Interoperation with IaaS SLA (re-)negotiation VM starting/stoping VM reuse

Configuration/deployment of and access to services

Cross/multi-cloud (hybrid) support Backup/recover of data Access to different services User locality

Fault tolerance, high availability

• Pluggable, extensible, scalable, performant

cloud platform

apps & appcomponents

APIsAPI imple-mentation

IaaS,virtualized

clusters

…Java

Python

Ruby. .

.

appscale

platform design• APIs

Emulate popular/standard public cloud interfaces

Engender user community Evaluate using real applications Initial app domain: web services

Data management Database, key-value store,

files/blobs, transactional semantics, caching

Users Messaging, email, authentication

Tasking Response-driven Background / periodic

Web access Fetch, export, user interaction

Data analytics Map-reduce

cloud platform

apps & appcomponents

APIsAPI imple-mentation

IaaS,virtualized

clusters

…Java

Python

Ruby. .

.

Monitoring ElasticityOpt/adaptation Service config Hybrid support VM/IAAS controlFault tolerance Backup/recovery

appscale

appscale: enabling cloud platform research

appscale

apps & appcomponents

APIsAPI imple-mentation

Monitoring ElasticityOpt/adaptation Service config Hybrid support VM/IAAS controlFault tolerance Backup/recovery

EucalyptusAmazon AWSXen, KVM, …

• Scalable, extensible distributed system

• Open source, extant community

• Emulates Google App Engine

• Leverages existing tools/services

• Automates distributed configuration and deployment using private clusters

• Hybrid (public/private) cloud support

JavaPyt

hon

*Ruby

R X10C++/M

PI

appscale

appscale: enabling cloud platform research

• APIs Data management

MySql, Cassandra, HBase, Hypertable AWS SimpleDB, Azure SQL, Bigtable Distributed transaction support Memcache, blobstore

Users Messaging, email, authentication

Tasking Cron, task queues

Web access Fetch, export, user interaction

Computationally intensive Parallel/concurrency support

MPI, X10 Distributed simulation (biochemistry)

Data analytics Map-reduce (hadoop, pig, hive) R, Matlab Yahoo! S4 (streaming)

Steering: Elasticity control

appscale

apps & appcomponents

APIsAPI imple-mentation

Monitoring ElasticityOpt/adaptation Service config Hybrid support VM/IAAS controlFault tolerance Backup/recovery

EucalyptusAmazon AWSXen, KVM, …

• Scalable, extensible distributed system

• Open source, extant community

• Emulates Google App Engine

• Leverages existing tools/services

• Automates distributed configuration and deployment using private clusters

• Hybrid cloud support

JavaPyt

hon

*Ruby

R X10C++/M

PI

appscale

appscale: enabling cloud platform research

• Potential key research directions Data management

Multi-tenency Specialized for domain

Optimization, specialization Components, services, system, cloud

Programming language support Interpreter and JIT optimizations Cloud-aware language extensions Debugging and testing Software evolution and live updates

Support for other application domains

Computationally and data intensive Fault tolerance Elasticity, placement, scheduling

Energy awareness Hybrid cloud support PaaS / IaaS interoperation Mobile device integration Software stewardship/VM

management

appscale

apps & appcomponents

APIsAPI imple-mentation

Monitoring ElasticityOpt/adaptation Service config Hybrid support VM/IAAS controlFault tolerance Backup/recovery

EucalyptusAmazon AWSXen, KVM, …

…Java

Python

*Ruby

R X10C++/M

PI

appscale

appscale http://appscale.cs.ucsb.edu• Thanks!

Leads: Chris Bunch, Navraj Chohan Development and research team: Maciej Baranski, Jovan

Chohan, Nupur Garg, Jonathan Kupferman, Yiming Li, Nagy Mostafa, Yoshihide Nomura (Fujitsu), Kowshik Prakasam, Bing Wei, Michal Weigel

• UCSB Cloud Computing Divy Agrawal, Amr El Abbadi, Chandra Krintz, Rich Wolski,

Ben Zhao, and others http://www.cs.ucsb.edu

• Support Google, IBM Research, National Science Foundation