ConPaaS: an integrated runtime environment for elastic cloud applications



Similar documents
Developer support in a federated Platform-as-a-Service environment

Work in Progress on Cloud Computing in Myriads Team and Contrail European Project Christine Morin, Inria

Cloud Federations in Contrail

User Manual: ConPaaS Web Hosting Service

Cloud Models and Platforms

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

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

CloudFTP: A free Storage Cloud

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

Networks and Services

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

IBM Bluemix. The Digital Innovation Platform. Simon

Leveraging BlobSeer to boost up the deployment and execution of Hadoop applications in Nimbus cloud environments on Grid 5000

Research Paper Available online at: A COMPARATIVE STUDY OF CLOUD COMPUTING SERVICE PROVIDERS

Virtualization and Cloud Computing

Cloud Computing. Technologies and Types

Scalable Architecture on Amazon AWS Cloud

Assignment # 1 (Cloud Computing Security)

Google Cloud Platform The basics

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

The Cloud to the rescue!

Fundamental Concepts and Models

IaaS Federation. Contrail project. IaaS Federation! Objectives and Challenges! & SLA management in Federations 5/23/11

ur skills.com

Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

ASCETiC Whitepaper. Motivation. ASCETiC Toolbox Business Goals. Approach

Introduction to Cloud Computing

Implementing Microsoft Azure Infrastructure Solutions

PLATFORM-AS-A-SERVICE: ADOPTION, STRATEGY, PLANNING AND IMPLEMENTATION

Développement logiciel pour le Cloud (TLC)

THE EUCALYPTUS OPEN-SOURCE PRIVATE CLOUD

Sun Cloud API: A RESTful Open API for Cloud Computing

Data Storage in Clouds

A Monitored Student Testing Application Using Cloud Computing

Architecture Overview

Cloud Computing. Lecture 24 Cloud Platform Comparison

Course 20533: Implementing Microsoft Azure Infrastructure Solutions

Stackato PaaS Architecture: How it works and why.

Learning Management Redefined. Acadox Infrastructure & Architecture

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

PipeCloud : Using Causality to Overcome Speed-of-Light Delays in Cloud-Based Disaster Recovery. Razvan Ghitulete Vrije Universiteit

Collaborative Open Market to Place Objects at your Service

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

Cloud Courses Description

Getting Started Hacking on OpenNebula

Enterprise PaaS Evaluation Guide

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

Cloud Computing and Amazon Web Services. CJUG March, 2009 Tom Malaher

Cloud computing - Architecting in the cloud

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

OpenNebula Open Souce Solution for DC Virtualization

Comparing Open Source Private Cloud (IaaS) Platforms

Cloud-pilot.doc SA1 Marcus Hardt, Marcin Plociennik, Ahmad Hammad, Bartek Palak E U F O R I A

Cloud Courses Description

Auto-Scaling Model for Cloud Computing System

Cloud Computing Architecture with OpenNebula HPC Cloud Use Cases

Cisco Hybrid Cloud Solution: Deploy an E-Business Application with Cisco Intercloud Fabric for Business Reference Architecture

OpenNebula Open Souce Solution for DC Virtualization. C12G Labs. Online Webinar

OpenNebula Cloud Platform for Data Center Virtualization

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

OpenNebula Open Souce Solution for DC Virtualization

Certified Cloud Computing Professional VS-1067

TECHNOLOGY WHITE PAPER Jan 2016

Fundamentals of Cloud Computing

ABSTRACTION LAYER FOR DEVELOPMENT AND DEPLOYMENT OF CLOUD SERVICES

Enabling Database-as-a-Service (DBaaS) within Enterprises or Cloud Offerings

Drupal in the Cloud. Scaling with Drupal and Amazon Web Services. Northern Virginia Drupal Meetup

The OpenNebula Cloud Platform for Data Center Virtualization

Building Success on Acquia Cloud:

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

EMC Enterprise Hybrid Cloud 2.5, Federation Software-Defined Data Center Edition

Oracle Applications and Cloud Computing - Future Direction

How To Choose Cloud Computing

Building an AWS-Compatible Hybrid Cloud with OpenStack

Jfokus PaaS Hands-On Lab

Getting Started with Google Cloud Platform

WINDOWS AZURE EXECUTION MODELS

Planning, Provisioning and Deploying Enterprise Clouds with Oracle Enterprise Manager 12c Kevin Patterson, Principal Sales Consultant, Enterprise

What is new for HP LoadRunner and Performance Center 11.52

OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

What Is It? Business Architecture Research Challenges Bibliography. Cloud Computing. Research Challenges Overview. Carlos Eduardo Moreira dos Santos

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

Deploying Business Virtual Appliances on Open Source Cloud Computing

Transcription:

ConPaaS: an integrated runtime environment for elastic cloud applications Guillaume Pierre Vrije Universiteit Amsterdam July 24th 2012 contrail is co-funded by the EC 7th Framework Programme under Grant Agreement nr. 257438 1

Typical Cloud Applications (according to AWS) Application Hosting Backup and Storage Content Delivery E-Commerce High Performance Computing Media Hosting On-Demand Workforce Search Engines Web Hosting 1

Applications running at Amazon Web Services Sample: 50 applications from the AWS Customer App Catalog. 2

Many Cloud applications are alike Web servers Application servers Database servers High-performance frameworks (MapReduce, MPI, Workows)... and a few percents of miscellaneous programs Cloud application developers often rebuild the same types of frameworks again and again and again... 3

Can the Cloud help support common types of applications? Infrastructure-as-a-Service provides basic computing resources Absolute exibility: you can build anything you want But it can be very complex and time consuming Platform-as-a-Service provides high-level services Each PaaS service targets a specic family of applications Provide a simple deployment environment for applications Provide high-level guarantees for applications using these services 4

Contrail is composed of three main layers Infrastructure-as-a-Service Virtual machines, disks, networks Cloud federation Allow multiple IaaS providers to join forces Platform-as-a-Service (a.k.a. ConPaaS) Web servers static content and dynamic web applications MapReduce for data-intensive computing TaskFarming for scientic applications Databases (SQL and NoSQL) for everybody 5

ConPaaS in a nutshell Goal: provide a fully-featured PaaS environment for Contrail Broad range of functionalities Web application hosting (static les, PHP, Java,... ) Databases (SQL and NoSQL) High-performance execution frameworks (MapReduce, TaskFarming) Fully integrated Applications can compose any set of services together Easy to use but also very powerful Simple Web GUI + powerful command-line tool Services are highly customizable Cutting-edge SLA enforcement technologies Elasticity and resource provisioning techniques to guarantee performance at the lowest possible cost Making full use of Contrail's IaaS and federation functionalities But also platform-independent 6

ConPaaS Applications A ConPaaS application is dened as a composition of multiple service instances For example: web hosting service + MySQL database + logging service (to store access logs) End user PHP service (using 1 or more machine instances) Logging service (using 1 or more machine instances) SQL data service (using 1 or more machine instances) 7

ConPaaS Operation Users access ConPaaS thanks to a Web interface Login Start new services (i.e., start a standard VM image with the service implementation) Manage existing services (i.e., communicate with the service's manager to issue commands) Stop services (i.e., stop all service instances except the service manager) Terminate services (i.e., destroy a service completely) An extended set of functionalities is available through a command-line interface All commands from the Web interface are available (except starting a new service) Additional commands may be implemented for expert users The command-line interface makes it easy to script service management 8

The ConPaaS Front-End 9

The ConPaaS Front-End 9

The ConPaaS Front-End 9

The ConPaaS Front-End 9

The ConPaaS Front-End 9

The ConPaaS Front-End 9

The ConPaaS Front-End 9

The ConPaaS Front-End 9

The ConPaaS Front-End 9

The ConPaaS Front-End 9

The ConPaaS Front-End 9

The ConPaaS Front-End 9

The ConPaaS Front-End 9

Architecture of a ConPaaS service A ConPaaS service is implemented as one or more virtual machine instances dedicated to a single user Single-tenant: each VM belongs to a single user No VM sharing between services (even for the same user) ConPaaS services are elastic: we can grow/shrink their capacity at runtime with no service disruption Horizontal provisioning: add/remove virtual machines ConPaaS services will support dynamic resource provisioning: automatic capacity adjustment to support performance guarantees at minimum cost 10

ConPaaS Organization Legend End users Virtual machine Management traffic Application trafic PHP service Manager Load Balancer PHP service Service admin Frontend GUI Frontend Logic Web servers (static pages) PHP servers (dynamic pages) MySQL service Manager Load Balancer MySQL service MySQL master MySQL slaves Control plane Data plane 11

ConPaaS Organization Legend End users Virtual machine Service admin Management traffic Application trafic PHP service Manager Web servers (static pages) Load Balancer PHP servers (dynamic pages) PHP service Frontend Logic Frontend GUI MySQL service Manager Load Balancer MySQL service MySQL master MySQL slaves Control plane Data plane Each manager VM contains a manager process Each agent VM contains an agent process 12

Lifecycle of a ConPaaS service No service Create Terminate Service created (1 manager VM) Start Stop Service started (1 manager VM + N agent VMs) Scale up/down Service specific operations 13

The Web hosting service The service exists in two versions: PHP and Java Initially the service has 2 VMs 1 VM running the manager 1 VM running a load balancer, a web server and a PHP backend When adding VMs each VM becomes specialized (load balancer VMs, web server VMs, PHP backend VMs) Manager Proxy Web PHP +1 PHP +1 PHP Manager Proxy Web Web +1 Web Manager Proxy Manager Proxy PHP +1 PHP Web PHP PHP 14

Session handling in the PHP service PHP has built-in support for sessions We must share session state between multiple PHP backends (otherwise users would logout at each request) We use the Scalaris key-value store for that One Scalaris server inside the manager VM Making use of the Scalaris session storage is totally transparent to the applications 15

Service reconguration When the user scales the service up: 1. The front-end sends a request to the service manager to scale up 2. The service manager creates a new VM with proper contextualization information, then starts polling 3. The agent VM boots, then starts its manager process 4. When the manager establishes a connection with the agent, it requests it to start one or more roles 5. The manager uploads code/data as necessary 6. The manager recongures other VMs as necessary When scaling down: Same story in opposite order 16

Building new ConPaaS services Building new ConPaaS services from scratch is HARD Build a proper VM image with contextualization Develop new manager and agent deamons Implement a standardized protocol between the front-end and the agents All communication goes over SSL with custom security checks Solution: the service core All ConPaaS services use a single VM image All ConPaaS services use the same manager and agent deamons The service core implements shared functionality between all services Start/stop/contextualize virtual machines Secure communication primitives Each service can specialize the service core Implement the service-specic parts 17

Structure of a service implementation Building a new ConPaaS service from the service core is EASY (optional) Provide shell scripts to be executed when VMs start and stop Write a manager and an agent class in Python Extend one Python le to register the new service Extend the front-end with one service-specic page in PHP 18

Conclusion ConPaaS is a platform-as-a-service environment Designed to facilitate elastic application hosting in the cloud Designed to be easily extensible ConPaaS addresses two major classes of applications: Web applications Scientic applications Combinations of both Future plans: Automatic performance control Application manifests Better developer support More services :-) 19

Credits Adriana Szekeres (server side) Ismail El Helw (server side) Claudiu Gheorghe (Web GUI) 20

About the hands-on session All support documents can be found at http://bit.ly/mcktil Presentation slides, exercises, support programs etc. Please work in groups of two Make sure your Web browser is congured to use the SOCKS proxy at http://130.37.30.108:80/ The ConPaaS front-end is located at http://10.100.0.97:9999/ 21

contrail is co-funded by the EC 7th Framework Programme Funded under: FP7 (Seventh Framework Programme) Area: Internet of Services, Software & Virtualization (ICT-2009.1.2) Project reference: FP7-IST-257438 Total cost: 11.29 million euro EU contribution: 8.3 million euro Execution: From 2010-10-01 till 2013-09-30 Duration: 36 months Contract type: Collaborative project (generic) 22