appscale: open-source platform-level cloud computing

Similar documents
HYBRID CLOUD SUPPORT FOR LARGE SCALE ANALYTICS AND WEB PROCESSING. Navraj Chohan, Anand Gupta, Chris Bunch, Kowshik Prakasam, and Chandra Krintz

AppScale: Open-Source Platform-As-A-Service

Neptune. A Domain Specific Language for Deploying HPC Software on Cloud Platforms. Chris Bunch Navraj Chohan Chandra Krintz Khawaja Shams

Open Cloud System. (Integration of Eucalyptus, Hadoop and AppScale into deployment of University Private Cloud)

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

THE EUCALYPTUS OPEN-SOURCE PRIVATE CLOUD

Private Clouds with Open Source

Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

PaaS - Platform as a Service Google App Engine

Cloud Computing Training

COMPARISON OF OPEN-SOURCE PAAS ARCHITECTURAL COMPONENTS

Cloud Computing: Making the right choices

Modeling Public Pensions with Mathematica and Python II

Data Centers and Cloud Computing

Cloud Computing. Technologies and Types

Comparing Open Source Private Cloud (IaaS) Platforms

NoSQL Data Base Basics

Last time. Today. IaaS Providers. Amazon Web Services, overview

A Comparison of Clouds: Amazon Web Services, Windows Azure, Google Cloud Platform, VMWare and Others (Fall 2012)

24/11/14. During this course. Internet is everywhere. Frequency barrier hit. Management costs increase. Advanced Distributed Systems Cloud Computing

Lecture 6 Cloud Application Development, using Google App Engine as an example

Platforms in the Cloud

Data Centers and Cloud Computing. Data Centers

Public Cloud Offerings and Private Cloud Options. Week 2 Lecture 4. M. Ali Babar

Elastic Cloud Computing in the Open Cirrus Testbed implemented via Eucalyptus

Analysis and Research of Cloud Computing System to Comparison of Several Cloud Computing Platforms

Cover Story. Cloud Computing: A Paradigm Shift in IT Infrastructure

Data Centers and Cloud Computing. Data Centers. MGHPCC Data Center. Inside a Data Center

Aneka: A Software Platform for.net-based Cloud Computing

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Cloud computing - Architecting in the cloud

A programming model in Cloud: MapReduce

Cloud Computing. Chapter 3 Platform as a Service (PaaS)

Cloud Computing an introduction

The Cloud to the rescue!

Scalable Architecture on Amazon AWS Cloud

Cloud Computing. Adam Barker

Performance measurement of a private Cloud in the OpenCirrus Testbed

Unified API Governance in the New API Economy

Ø Teaching Evaluations. q Open March 3 through 16. Ø Final Exam. q Thursday, March 19, 4-7PM. Ø 2 flavors: q Public Cloud, available to public

Eucalyptus: An Open-source Infrastructure for Cloud Computing. Rich Wolski Eucalyptus Systems Inc.

CLOUD COMPUTING. When It's smarter to rent than to buy

Comparing Ganeti to other Private Cloud Platforms. Lance Albertson

Cloud Computing. Lecture 24 Cloud Platform Comparison

Cloudy with a chance of 0-day

Written examination in Cloud Computing

Sistemi Operativi e Reti. Cloud Computing

LARGE-SCALE DATA STORAGE APPLICATIONS

Business Process Management in the cloud: Business Process as a Service (BPaaS)

How To Understand The History Of Cloud Computing

References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline

Introduction to Database Systems CSE 444

Eucalyptus: An Open-source Infrastructure for Cloud Computing. Rich Wolski Eucalyptus Systems Inc.

Introduction to Cloud Computing

Aneka: A Software Platform for.net-based Cloud Computing

Introduction to Cloud computing. Viet Tran

Cloud Computing. Up until now

Large-Scale Web Applications

Lecture 10 Fundamentals of GAE Development. Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Drive new Revenue With PaaS/IaaS. Ruslan Synytsky CTO, Jelastic

Contents. Preface Acknowledgements. Chapter 1 Introduction 1.1

Evaluating Google App Engine for Enterprise Application Development

Cloud Computing and Open Source: Watching Hype meet Reality

4 SCS Deployment Infrastructure on Cloud Infrastructures

Stackato PaaS Architecture: How it works and why.

Data Centers and Cloud Computing. Data Centers

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Mobile Cloud Computing T Open Source IaaS

Getting Started Hacking on OpenNebula

Cloud Models and Platforms

How To Use Arcgis For Free On A Gdb (For A Gis Server) For A Small Business

wu.cloud: Insights Gained from Operating a Private Cloud System

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

Last time. Today. IaaS Providers. Amazon Web Services, overview

2) Xen Hypervisor 3) UEC

Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344

Chapter 2 Cloud Computing

How To Compare Cloud Computing To Cloud Platforms And Cloud Computing

VMware on VMware: Private Cloud Case Study Customer Presentation

Cloud Service Models. Seminar Cloud Computing and Web Services. Eeva Savolainen

Transcription:

: open-source platform-level cloud computing I2 Joint Techs February 2 nd, 2010 Chandra Krintz Computer Science Dept. Univ. of California, Santa Barbara

cloud computing Remote access to distributed and shared cluster resources Potentially owned by someone else (e.g. Amazon, Google, ) Users rent access to vast resources Advertised service-level-agreements (SLAs) Resources are opaque and isolated Highly scalable, fault tolerant Service-oriented, utility computing Relies on OS, network, and storage virtualization SLAs Virtualization Web Services

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 Azure Scalable program-level abstractions via well-defined interfaces Enable construction of network-accessible applications Process-level (sandbox) isolation, complete software stack Software: Salesforce.com Applications provided to thin clients over a network Customizable

an opening in the clouds Open-source cloud computing systems from the UCSB Computer Science Department Goal: Bring popular cloud fabrics to on-premise clusters that are easy to use and are transparent To facilitate investigation of Energy-efficient cloud computing Services, underlying device technology, support technologies Customization (availability, performance, application behavior) Hybrid cloud solutions (public and on-premise)

an opening in the clouds Open-source cloud computing systems from the UCSB Computer Science Department Goal: Bring popular cloud fabrics to on-premise clusters that are easy to use and are transparent To facilitate investigation of Energy-efficient cloud computing Services, underlying device technology, support technologies Customization (availability, performance, application behavior) Hybrid cloud solutions (public and on-premise) By emulating key cloud layers from the commercial sector Engender user community, access to real applications/users Leverage extant software technologies Not a replacement technology for any Public Cloud service

cloud computing from UCSB IaaS: Open-source implementation of all AWS APIs Robust, highly-available, scalable emulation Cluster/data center support over Xen, KVM, VMWare PaaS: Open-source implementation of Google App Engine APIs Pluggable (services), scalable, fault tolerant Runs over virtualization or IaaS layer: AWS, Eucalyptus

google app engine private, enterprise data SDC Google App Engine (GAE) MyApp.appspot.com GAE Application (Python, Java) Administrator Console Images Cron Memcache URL Fetch Services Tasks Blob store Users IM Mail Protobuf Data APIs Data Store

google app engine: the sdk Google App Engine (GAE) Images python2.5 dev_appserver.py port=8181 MyApp URL Fetch GAE Application (Python, Java) Blob Users Mail IM Tasks Cron Store Mem Cache Data store Open-source Google App Engine Software Development Kit (SDK)

google app engine: run/test locally Google App Engine (GAE) Images framework lib python2.5 dev_appserver.py port=8181 MyApp URL Fetch curl /wget GAE Application (Python, Java) Blob Users Mail IM Store Tasks no auth sendon mail console on console Cron on console Mem Cache Data store Open-source Google App Engine Software Development Kit (SDK) = simulation of actual API functionality using localhost (flat file, in-memory hash (Memcache))

google app engine: upload to google private, enterprise data SDC GAE app users via the Internet Google App Engine (GAE) Images URL Fetch appcfg.py update MyApp/ GAE Application (Python, Java) Blob Users Mail IM Tasks Cron Store Mem Cache Data store Administrator Console MyApp.appspot.com Free w/ quotas Pay for additional scale: CPU, BW, emails, data BigTable Automatic scaling High availability

sandbox restrictions Google App Engine (GAE) MyApp.appspot.com GAE Application (Python, Java) Pure Python or Java, white list of library calls to framework No thread/subprocess spawning, system calls No writes to file system, reads only to static files uploaded w/app Storage using key-value, schema-free datastore (Bigtable-based) HTTP/S communication only, CGI to handle page requests Limit on number of datastore elements accessed per request Limit on response duration, task frequency, request rate Enforced quotas (BW, CPU, requests/s, files, app size, ) Other things to consider Your code and data on Google resources APIs customized for MVC applications Other application domains not supported

from gae to GAE SDK extensions Data store Mem Cache Tasks Pluggable using open-source distributed database technologies HBase, Hypertable, Cassandra, Voldemort, MongoDB, MemcacheDB, MySQL MemcacheD library (Python and Java) From console or as background thread (automatically) Interface to Hadoop (MapReduce) Multi-language support: Python, Java, Ruby, Perl, soon: X10 Cron Users Translator to Linux Cron job, similar to Tasks Pluggable: built-in cloud-wide authentication via Rails, support for Eucalyptus and EC2 credentials

Distributed system with four key components AppLoadBalancer (ALB) Database Master/Peer (DB M/P) AppServer (AS) Services GAE App Developer (AppScale Admin) GAE GAE App GAE App Users Users ALB AS Database Slave/Peer (DB S/P) Automatic deployment, database replication, node & front-end scaling Over Eucalyptus, EC2, and virtualization (Xen, KVM) System-wide performance/availability monitoring, user/admin console AppScale Cloud Tasks DB M/P (e.g. Map Reduce) DB S/P App Controller HTTPS AppScale tools

Implements every AppScale component Can instantiate as a particular role (ALB, AS, DB) Can change functionality and instantiate itself as another AppScale tools deploy/control cloud GAE App Developer (AppScale Admin) GAE GAE App GAE App Users Users AppScale Cloud ALB AS DB M/P DB S/P Tasks (e.g. Map Reduce) App Controller HTTPS AppScale tools

performance 2 VCPUs 2.83GHz, 4GB RAM, 16GB disk Average Time to Query a Database of Size 1000 7 6 HBase (1 accessor) MongoDB (1 accessor) MemcacheDB (1 accessor) Google (1 accessor) HBase (3 accessors) MongoDB (3 accessors) MemcacheDB (3 accessors) Google (3 accessors) 5 Query Time [s] 4 3 2 1 0 1 2 3 4 Number of Nodes

projects: http://.cs.ucsb.edu Open-source community management Bug fixes, feature additions, releases, user support Research (currently only internally available) Automatic scaling of load, demand, other metrics Scheduling and load balancing of apps, tasks, components Hybrid cloud solutions (public/private, multi-zone) Tunable fault-tolerance and availability Efficient communication across isolation boundaries Alternative application domains (streaming, HPC) Distributed profiling/sampling, feedback-driven optimization Paas/IaaS integration and co-operation Customized, dynamic/adaptive SLAs Platform-aware resource scheduling, isolation, provisioning

projects: http://.cs.ucsb.edu Open-source community management Bug fixes, feature additions, releases, user support Research (currently only internally available) Automatic scaling of load, demand, other metrics Scheduling and load balancing of apps, tasks, components Hybrid cloud solutions (public/private, multi-zone) Tunable fault-tolerance and availability Efficient communication across isolation boundaries Alternative application domains (streaming, HPC) Distributed profiling/sampling, feedback-driven optimization Paas/IaaS integration and co-operation Customized, dynamic/adaptive SLAs Platform-aware resource scheduling, isolation, provisioning

http://.cs.ucsb.edu Thanks! Leads: Chris Bunch, Navraj Chohan Development and research team: Jovan Chohan, Nupur Garg, Matt Hubert, Jonathan Kupferman, Puneet Lakhina, Yiming Li, Nagy Mostafa, Yoshihide Nomura (Fujitsu), Michal Weigel Support NSF, Google, IBM Research