Heterogeneous Cloud Computing for Research

Similar documents
ConPaaS: an integrated runtime environment for elastic cloud applications

Con PaaS. ConPaaS: a Platform as a Service for Multi-clouds. Guillaume Pierre Rennes 1 University, France

Cloud computing opens new perspectives for hosting

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

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

CloudFTP: A free Storage Cloud

Eclipse Exam Tutorial - Pros and Cons

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

Cloud Hosting. QCLUG presentation - Aaron Johnson. Amazon AWS Heroku OpenShift

w w w. u l t i m u m t e c h n o l o g i e s. c o m Infrastructure-as-a-Service on the OpenStack platform

User Manual: ConPaaS Web Hosting Service

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

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

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

Certified Cloud Computing Professional VS-1067

Cloud Models and Platforms

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

Développement logiciel pour le Cloud (TLC)

ur skills.com

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

OpenNebula Open Souce Solution for DC Virtualization

Scalable Architecture on Amazon AWS Cloud

THE EUCALYPTUS OPEN-SOURCE PRIVATE CLOUD

OpenNebula Open Souce Solution for DC Virtualization

Getting Started Hacking on OpenNebula

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

Cloud Computing. Technologies and Types

A Gentle Introduction to Cloud Computing

Cloud Computing An Elephant In The Dark

How To Compare Cloud Computing To Cloud Platforms And Cloud Computing

Chapter 9 PUBLIC CLOUD LABORATORY. Sucha Smanchat, PhD. Faculty of Information Technology. King Mongkut s University of Technology North Bangkok

Users VM A A A. Application. Compute/Storage/Network. VM Virtual Machine. On-Premises Data Center

Cloud Computing Overview

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

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

Assignment # 1 (Cloud Computing Security)

Cloud Courses Description

Cloud computing for research

OpenNebula Cloud Platform for Data Center Virtualization

Towards a New Model for the Infrastructure Grid

Administrative Issues

Cloud Courses Description

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

Cloud Computing. Lecture 24 Cloud Platform Comparison

OpenStack Introduction. November 4, 2015

Course 20533: Implementing Microsoft Azure Infrastructure Solutions

Architecture Overview

2) Xen Hypervisor 3) UEC

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

Written examination in Cloud Computing

OpenNebula The Open Source Solution for Data Center Virtualization

Cloud Computing. Adam Barker

How To Choose Cloud Computing

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

Virtualization and Cloud Computing

McAfee Public Cloud Server Security Suite

Implementing Microsoft Azure Infrastructure Solutions

Cloud Computing: Making the right choices

FREE AND OPEN SOURCE SOFTWARE FOR CLOUD COMPUTING SERENA SPINOSO FULVIO VALENZA

Building an AWS-Compatible Hybrid Cloud with OpenStack

Deployment of Private, Hybrid & Public Clouds with OpenNebula

Model-driven Performance Estimation, Deployment, and Resource Management for Cloud-hosted Services

Introduction to Cloud computing. Viet Tran

Standards and Open Source: Trends Affecting Microsoft and You. October 9, :00 am 8:50 am

Cloud Computing Architecture with OpenNebula HPC Cloud Use Cases

Mobile Cloud Computing T Open Source IaaS

WINDOWS AZURE EXECUTION MODELS

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

4 SCS Deployment Infrastructure on Cloud Infrastructures

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

Amazon Elastic Beanstalk

Sistemi Operativi e Reti. Cloud Computing

Networks and Services

Chapter 3 Cloud Infrastructure. Cloud Computing: Theory and Practice. 1

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

Introduction to Cloud Computing

Multi-Cloud Portable Application Deployment with VEP

MyCloudLab: An Interactive Web-based Management System for Cloud Computing Administration

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

Modeling Public Pensions with Mathematica and Python II

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

Fundamental Concepts and Models

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

CLOUD CRUISER FOR WINDOWS AZURE PACK

Infrastructure as a Service


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

DESIGN OF A PLATFORM OF VIRTUAL SERVICE CONTAINERS FOR SERVICE ORIENTED CLOUD COMPUTING. Carlos de Alfonso Andrés García Vicente Hernández

CLEVER: a CLoud-Enabled Virtual EnviRonment

PaaS - Platform as a Service Google App Engine

Li Sheng. Nowadays, with the booming development of network-based computing, more and more

The Cloud to the rescue!

HP OO 10.X - SiteScope Monitoring Templates

Outline. What is cloud computing? History Cloud service models Cloud deployment forms Advantages/disadvantages

Comparing Ganeti to other Private Cloud Platforms. Lance Albertson

Sun Cloud API: A RESTful Open API for Cloud Computing

The OpenNebula Cloud Platform for Data Center Virtualization

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

Comparison of Several Cloud Computing Platforms

Transcription:

Heterogeneous Cloud Computing for Research Managing Cloud Services with ConPaaS Guillaume Pierre http://www.conpaas.eu/ Heterogeneous Cloud Computing for Research 1 / 34

Table of Contents 1 Introduction 2 ConPaaS usage 3 ConPaaS architecture 4 Conclusion Heterogeneous Cloud Computing for Research Introduction 1 / 34

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 Heterogeneous Cloud Computing for Research Introduction 2 / 34

Applications running at Amazon Web Services Sample: 50 applications from the AWS Customer App Catalog. Heterogeneous Cloud Computing for Research Introduction 3 / 34

Many Cloud applications are alike Many cloud applications are alike Web servers Application servers Database servers High-performance frameworks (MapReduce, MPI, Workows)... and every application has something dierent To be deployed on a wide variety of cloud resources Cloud application developers often rebuild the same types of frameworks again and again and again... Heterogeneous Cloud Computing for Research Introduction 4 / 34

Deploying an application in the Cloud can be easy 1 Choose a cloud provider 2 Start one virtual machine using a ready-made image 3 Install your software in the virtual machine 4 Snapshot the VM Heterogeneous Cloud Computing for Research Introduction 5 / 34

What about a slightly more complex application? Heterogeneous Cloud Computing for Research Introduction 6 / 34

Heterogeneous Cloud Computing for Research Introduction 7 / 34

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 Deployment Software upgrades Fault-tolerance Performance monitoring Resource provisioning Dynamic reconguration orchestration etc. 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 Heterogeneous Cloud Computing for Research Introduction 8 / 34

Main PaaS environments Google AppEngine Microsoft Azure Amazon Beanstalk RightScale OpenShift ConPaaS etc. Dierent PaaS environments address dierent types of applications Heterogeneous Cloud Computing for Research Introduction 9 / 34

ConPaaS takes care of your applications Heterogeneous Cloud Computing for Research Introduction 10 / 34

ConPaaS takes care of your applications Heterogeneous Cloud Computing for Research Introduction 10 / 34

ConPaaS in a nutshell Broad range of functionalities Application servers, databases, high-performance computing, other 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 Runs over Amazon EC2, OpenNebula, OpenStack and HARNESS, of course :-) Open-source http://www.conpaas.eu Heterogeneous Cloud Computing for Research Introduction 11 / 34

Table of Contents 1 Introduction 2 ConPaaS usage 3 ConPaaS architecture 4 Conclusion Heterogeneous Cloud Computing for Research ConPaaS usage 12 / 34

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) Heterogeneous Cloud Computing for Research ConPaaS usage 13 / 34

ConPaaS Services Web hosting (PHP, Java) Databases (MySQL, Scalarix) File system (XtreemFS) High-performance computations (MapReduce, TaskFarming) Functional testing (Selenium) Heterogeneous Cloud Computing for Research ConPaaS usage 14 / 34

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 Heterogeneous Cloud Computing for Research ConPaaS usage 15 / 34

The ConPaaS Front-End Heterogeneous Cloud Computing for Research ConPaaS usage 16 / 34

The ConPaaS Front-End Heterogeneous Cloud Computing for Research ConPaaS usage 16 / 34

The ConPaaS Front-End Heterogeneous Cloud Computing for Research ConPaaS usage 16 / 34

The ConPaaS Front-End Heterogeneous Cloud Computing for Research ConPaaS usage 16 / 34

The ConPaaS Front-End Heterogeneous Cloud Computing for Research ConPaaS usage 16 / 34

The ConPaaS Front-End Heterogeneous Cloud Computing for Research ConPaaS usage 16 / 34

The ConPaaS Front-End Heterogeneous Cloud Computing for Research ConPaaS usage 16 / 34

The ConPaaS Front-End Heterogeneous Cloud Computing for Research ConPaaS usage 16 / 34

Uploading new application versions Heterogeneous Cloud Computing for Research ConPaaS usage 17 / 34

Uploading new application versions Heterogeneous Cloud Computing for Research ConPaaS usage 17 / 34

Uploading new application versions Heterogeneous Cloud Computing for Research ConPaaS usage 17 / 34

Scaling a service Heterogeneous Cloud Computing for Research ConPaaS usage 18 / 34

Scaling a service Heterogeneous Cloud Computing for Research ConPaaS usage 18 / 34

The ConPaaS command-line interface Heterogeneous Cloud Computing for Research ConPaaS usage 19 / 34

The ConPaaS command-line interface Heterogeneous Cloud Computing for Research ConPaaS usage 19 / 34

The ConPaaS command-line interface Heterogeneous Cloud Computing for Research ConPaaS usage 19 / 34

Table of Contents 1 Introduction 2 ConPaaS usage 3 ConPaaS architecture 4 Conclusion Heterogeneous Cloud Computing for Research ConPaaS architecture 20 / 34

ConPaaS Services A ConPaaS service is composed of 1 Manager and n Agents One Python class running in the Manager VM One Python class running in the Agent VM Heterogeneous Cloud Computing for Research ConPaaS architecture 21 / 34

The ConPaaS Director The single entry point to the system Keeps tracks of users, credentials, services Handles the life-cycle of ConPaaS applications Heterogeneous Cloud Computing for Research ConPaaS architecture 22 / 34

ConPaaS clients Clients make it easy to send commands to the Director Command-line interface Web-based GUI Heterogeneous Cloud Computing for Research ConPaaS architecture 23 / 34

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 Heterogeneous Cloud Computing for Research ConPaaS architecture 24 / 34

Example: 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 Web Manager Proxy Web PHP +1 Web Manager Proxy Manager Proxy PHP +1 PHP Web PHP Web Heterogeneous Cloud Computing for Research ConPaaS architecture 25 / 34

Session handling in the PHP service PHP has built-in support for sessions Normally stored in main memory of the PHP server 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 Heterogeneous Cloud Computing for Research ConPaaS architecture 26 / 34

What we want to avoid Heterogeneous Cloud Computing for Research ConPaaS architecture 27 / 34

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 Heterogeneous Cloud Computing for Research ConPaaS architecture 28 / 34

Building new ConPaaS services Building new ConPaaS services from scratch was 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 Performance monitoring mechanisms Each service can specialize the service core Implement the service-specic parts Heterogeneous Cloud Computing for Research ConPaaS architecture 29 / 34

Structure of a service implementation Building a new ConPaaS service from the service core is now 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 Adding functionality to all services is quite easy as well Secure internal communication Support for new clouds Performance monitoring Heterogeneous Cloud Computing for Research ConPaaS architecture 30 / 34

Our latest baby: the Generic service Package any application, provide 5 scripts: init.sh: install the application run.sh: start the application interrupt.sh: stop the application cleanup.sh: uninstall the application notify.sh: handle the arrival/departure of another VM in this service Heterogeneous Cloud Computing for Research ConPaaS architecture 31 / 34

Table of Contents 1 Introduction 2 ConPaaS usage 3 ConPaaS architecture 4 Conclusion Heterogeneous Cloud Computing for Research Conclusion 32 / 34

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 We will use the public ConPaaS installation for practical assignments: https://online.conpaas.eu Heterogeneous Cloud Computing for Research Conclusion 33 / 34

Credits Ismail El Helw Emanuele Rocca Adriana Szekeres (services, (director, (security) managers, agents) networking) Francesco Allertsen (manifests) Claudiu Gheorghe (web frontend) Yann Radenac (multi-cloud) Genc Tato (nutshell, app managers) Teodor Criv µ (nutshell, disk volumes) Heterogeneous Cloud Computing for Research Conclusion 34 / 34