C LAUDIO A A RDAGNA, E RNESTO D AMIANI, F ULVIO F RATE, D AVIDE R EBECCANI Universita degli Studi di Milano, Italy M ARCO U GHETTI Telecom Italia, TILab,

Slides:



Advertisements
Similar presentations
By Adam Balla & Wachiu Siu
Advertisements

SLA Basics Describes a set of non functional requirements of the service. Example : RTO time – Return to Operation Time if case of failure SLO – Service.
PaaS Design and Architecture: A Deep Dive into Apache Stratos Samisa Abeysinghe VP Delivery, WSO2 Member Apache Software Foundation 10 th June 2014.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
FI-WARE – Future Internet Core Platform FI-WARE Cloud Hosting July 2011 High-level description.
Locality-Aware Request Distribution in Cluster-based Network Servers 1. Introduction and Motivation --- Why have this idea? 2. Strategies --- How to implement?
What is Cloud Computing? o Cloud computing:- is a style of computing in which dynamically scalable and often virtualized resources are provided as a service.
CS218 – Final Project A “Small-Scale” Application- Level Multicast Tree Protocol Jason Lee, Lih Chen & Prabash Nanayakkara Tutor: Li Lao.
A T AXONOMY AND S URVEY OF C LOUD C OMPUTING S YSTEMS Reporter: Steven Chen Date: 2010/10/27 1.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 4.
Presented by Sujit Tilak. Evolution of Client/Server Architecture Clients & Server on different computer systems Local Area Network for Server and Client.
SPRING 2011 CLOUD COMPUTING Cloud Computing San José State University Computer Architecture (CS 147) Professor Sin-Min Lee Presentation by Vladimir Serdyukov.
Travis, Stephanie, Alex.  Cloud computing is a general term for anything that involves delivering hosted services over the Internet.  These services.
Plan Introduction What is Cloud Computing?
Load Test Planning Especially with HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
VAP What is a Virtual Application ? A virtual application is an application that has been optimized to run on virtual infrastructure. The application software.
Cloud Computing All Copyrights reserved to Talal Abu-Ghazaleh Organization
3 Cloud Computing.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
Cloud Models – Iaas, Paas, SaaS, Chapter- 7 Introduction of cloud computing.
Use Case for Distributed Data Center in SUPA
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
Virtualization. Virtualization  In computing, virtualization is a broad term that refers to the abstraction of computer resources  It is "a technique.
DISTRIBUTED COMPUTING
Introduction to Cloud Computing
Improving Network I/O Virtualization for Cloud Computing.
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
Cloud Use Cases, Required Standards, and Roadmaps Excerpts From Cloud Computing Use Cases White Paper
What is the cloud ? IT as a service Cloud allows access to services without user technical knowledge or control of supporting infrastructure Best described.
Visual Studio Windows Azure Portal Rest APIs / PS Cmdlets US-North Central Region FC TOR PDU Servers TOR PDU Servers TOR PDU Servers TOR PDU.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Cloud Computing Lecture 5-6 Muhammad Ahmad Jan.
Web Technologies Lecture 13 Introduction to cloud computing.
Ensieea Rizwani An energy-efficient management mechanism for large-scale server clusters By: Zhenghua Xue, Dong, Ma, Fan, Mei 1.
Microsoft Cloud Solution.  What is the cloud?  Windows Azure  What services does it offer?  How does it all work?  How to go about using it  Further.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-2.
CLOUD COMPUTING WHAT IS CLOUD COMPUTING?  Cloud Computing, also known as ‘on-demand computing’, is a kind of Internet-based computing,
Ram Kumar - Director – Product Management techcello (A Division of Asteor Software Inc) MultiTenancy Basics.
Submitted to :- Neeraj Raheja Submitted by :- Ghelib A. Shuaib (Asst. Professor) Roll No : Class :- M.Tech(CSE) 2 nd Year.
If you have a transaction processing system, John Meisenbacher
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
© 2012 Eucalyptus Systems, Inc. Cloud Computing Introduction Eucalyptus Education Services 2.
Cloud Computing 3. TECHNOLOGY GUIDE 3: Cloud Computing 2 Copyright John Wiley & Sons Canada.
Page 1 Cloud Computing JYOTI GARG CSE 3 RD YEAR UIET KUK.
CS 6027 Advanced Networking FINAL PROJECT ​. Cloud Computing KRANTHI ​ CHENNUPATI PRANEETHA VARIGONDA ​ SANGEETHA LAXMAN ​ VARUN ​ DENDUKURI.
CLOUD ARCHITECTURE Many organizations and researchers have defined the architecture for cloud computing. Basically the whole system can be divided into.
Chapter 6: Securing the Cloud
The Future? Or the Past and Present?
Affinity Depending on the application and client requirements of your Network Load Balancing cluster, you can be required to select an Affinity setting.
N-Tier Architecture.
Integrating HA Legacy Products into OpenSAF based system
Prepared by: Assistant prof. Aslamzai
6WIND MWC IPsec Demo Scalable Virtual IPsec Aggregation with DPDK for Road Warriors and Branch Offices Changed original subtitle. Original subtitle:
The Future? Or the Past and Present?
VIDIZMO Deployment Options
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Cloud Computing By P.Mahesh
Oracle Solaris Zones Study Purpose Only
Introduction to Cloud Computing
Replication Middleware for Cloud Based Storage Service
Cloud Computing Dr. Sharad Saxena.
Distributed System Structures 16: Distributed Structures
Specialized Cloud Mechanisms
Brandon Hixon Jonathan Moore
Cloud computing mechanisms
Cloud Computing Architecture
Client/Server Computing and Web Technologies
Presentation transcript:

C LAUDIO A A RDAGNA, E RNESTO D AMIANI, F ULVIO F RATE, D AVIDE R EBECCANI Universita degli Studi di Milano, Italy M ARCO U GHETTI Telecom Italia, TILab, Italy 13 th November, Presented By, Chidambara Nadig IEEE 5 TH I NTERNATIONAL C ONFERENCE ON C LOUD C OMPUTING

Abstract Platform as a Service is a cloud based approach where enterprises have little to do with the underlying cloud infrastructure. Installing, configuring and managing the underlying middleware, operating system and hardware is done by the cloud provider. Thus, Scalability becomes an important factor to decide, The capabilities of each virtual resource in the cloud. The number of resources in the cloud. This paper presents few Scalability Patterns for PAAS infrastructure and a method to automatically manage scalability. 2Scalability Patterns for Platform-as-a-Service

IAAS – Infrastructure as a Service. PAAS – Platform as a Service. SAAS – Software as a Service. 3Scalability Patterns for Platform-as-a-Service IAAS, PAAS and SAAS

Scalability Patterns for Platform-as-a-Service4

Levels of Abstraction in Cloud Services. Scalability Patterns for Platform-as-a-Service5

Some examples Scalability Patterns for Platform-as-a-Service6

Actions on Resource Scaling Vertical Scaling – Scale Up – Additional Resources are added to a single machine when the load increases. The resources can be either physical resources added to a server, or virtual resources dynamically assigned to a virtual machine or its applications. Horizontal Scaling – Scale Out – New machines are added to the system providing more software and hardware resources. Scale Down – Releasing Resources when they are not necessary. Scalability Patterns for Platform-as-a-Service7

Scalability Patterns 1. Single Platform Pattern (SPP) 2. Shared Platform Pattern (ShPP) 3. Clustered Platform Pattern (CPP) 4. Multiple Shared Platform Patter (MShPP) 5. Multiple Clustered Platform Patter (MCPP) Scalability Patterns for Platform-as-a-Service8

Single Platform Pattern (SPP) Each customer is given a complete virtual machine with a platform installed on it. SPP is single tenant scenario. Resource Utilization is scarce. Scalability is low because the number of virtual machines and platforms is linear in the number of customers. Scalability Patterns for Platform-as-a-Service9

Shared Platform Pattern (ShPP) A Multitenant scenario. One platform is installed on a set of virtual machines and is shared by multiple tenants. Each tenant has a right to manage a portion of the platform and deploy their services on it independently. Performance of the platform is maintained by up-scaling and down- scaling the resources assigned to the virtual machine. Scalability Patterns for Platform-as-a-Service10

Whenever the load increases – degrading the performance metrics of the platform – RAM, CPU, or bandwidth can be increased. On the other hand, when the load decreases, resources can be freed and made available to other processes in the architecture. In ShPP resources are shared and therefore need to be managed to ensure security and isolation among tenants. Provides High utilization. However, ShPP doesn’t provide linear scalability increase due to increased overheads for resource management. Scalability Patterns for Platform-as-a-Service11

Clustered Platform Pattern (CPP) A single platform is deployed supporting clustering and is shared by all tenants. Multiple instances of the platform components can be deployed in different machines of the cluster. Similar to ShPP, CPP manages shared resources preserving security and isolation among tenants. This pattern also implements load balancing, PAAS monitoring, and elastic auto-scaling. Scalability Patterns for Platform-as-a-Service12

CPP provides high resource utilization, since the machines in the cluster are shared among different tenants. CPP provides some scalability as system resources can be incrementally extended. The Clustered Platform Pattern also promises high reliability and availability due to increased redundancy. Scalability Patterns for Platform-as-a-Service13

Multiple Shared Platform Pattern (MShPP) MShPP is an extension of ShPP. Initially a single Shared Platform is deployed. Upon an increase in the load, additional resources (CPU, RAM or bandwidth) are assigned to maintain the performance metrics. In case additional resources are not sufficient, a new platform is deployed and a part of the existing tenants are migrated to the new platform along with the resources they own. Scalability Patterns for Platform-as-a-Service14

When the load decreases, the additional platforms can be removed causing the tenants to migrate back to the available platforms. MShPP has lower manageability than ShPP owing to the fact that tenants have to be migrated from one platform to another when a new platform is deployed. MShPP provides high resource utilization. Its scalability depends on the specific scenario and number of deployed platforms.  In the worst case, when all tenants experienced a traffic peak, a platform is deployed for each tenant and therefore scalability of MShPP is equivalent to the one of SPP.  In the average case, MShPP provides high scalability. Scalability Patterns for Platform-as-a-Service15

Multiple Clustered Platform Pattern (MCPP) MCPP is an extension of CPP. At initialization time, a single, shared, multi-tenant platform supporting clustering is deployed. Upon an increase in the load, additional resources (i.e., machines in the cluster) are added to maintain the performance level. In case the extended cluster is not sufficient to manage the new load, a new platform supporting clustering is deployed, and a part of the existing tenants are migrated to the new clustered platform together with the services they own. Scalability Patterns for Platform-as-a-Service16

When the load decreases, the additional platforms can be removed causing the tenants to migrate back to the available platforms. MCPP has the lowest manageability among patterns. MCPP usually provides high utilization of resources, although utilization may decrease in case of multiple platform deployments. Promises  High Scalability.  High Availability.  High Reliability. Scalability Patterns for Platform-as-a-Service17

Overview Scalability Patterns for Platform-as-a-Service18

Performance Measurement 1. Performance Metrics at the Platform Level Total Count (TC) – Number of messages forwarded to a given end point. If the metrics exceeds a known threshold, the performance could be affected and an alarm is raised. Fault Count (FC) – Number of messages that resulted in a fault while being forwarded to the end point. Minimum Time (MinT) Maximum Time (MaxT) Average Time (AveT) Time Taken to send a request to an end point and receive a response. Scalability Patterns for Platform-as-a-Service19

2. Performance Metrics at the Host Level CPU Load (CL) – CPU Utilization on host and guest systems. High values of CL in a Virtual Machine signifies a problem in the fulfillment of request messages backlog. Memory Occupancy (MO) – Memory Utilization on host and guest systems. Services that require a huge amount of data may require substantial portions of memory at the detriment of other services. Network Utilization (NU) – Utilization of the network bandwidth. High values of NU may suggest re-allocation of external resources to manage a peak of requests. Host Availability (HA) – Number of virtual machines available and accessible through the network. The falling of the HA under a pre-defined threshold indicates the new for new machines. Scalability Patterns for Platform-as-a-Service20

Performance Monitoring Based on the certain measurements of the Performance metrics, certain alarms are raised. Two Categories of Alarms: 1. Message Alarm – A message alarm is raised when: System is not able to manage the message queue efficiently. Average message delivery time is above a preset threshold. The difference between the maximum and minimum message time is above a preset threshold. 2. Processing Alarm – A process alarm is raised when service execution may involve high execution time or a lot of resources. Scalability Patterns for Platform-as-a-Service21

Alarm Rules Scalability Patterns for Platform-as-a-Service22 HIGH and LOW thresholds in the above table can be defined on the basis of previous experimental tests and/or expert knowledge.

Alarm-driven selection of scalability patterns Scalability Patterns for Platform-as-a-Service23 The initial node ∗ represents the basic installation scenario in which different tenants share the same platform with default configurations.

The two-fold Monitoring Approach Upon an increase in the load that raises a message alarm, the algorithm moves to node ShPP and applies a ShPP pattern If a processing alarm is raised, the algorithm moves to node CPP and applies a CPP pattern. When the ShPP pattern is not sufficient to solve further alarms, it moves to node MShPP in case of message alarms or to node CPP in case of processing alarms. The algorithm moves from CPP to MCPP for both types of alarms, while it moves from MShPP to MCCP in case of processing alarms. Scalability Patterns for Platform-as-a-Service24

Experimental Setting WSO2 Platform is a cloud-deployable, Java-based service-oriented platform. A WSO2 platform with default configurations is used as the experimental environment. A realistic scenario is simulated where concurrent requests come from different clients. Each test case starts with 20 active clients sending SOAP (Simple Object Access Protocol) requests, which ramp up to a maximum of 100 clients. All test cases have a duration of 60 seconds. Load Varying is done by increasing the requests per second (rps) from 10rps to 500 rps. Scalability Patterns for Platform-as-a-Service25

Baseline Measurement without security Scalability Patterns for Platform-as-a-Service26 RT – Response Time (in a logarithmic scale) TPS – Transactions per Second rps – Requests per second

Baseline Measurement with security Scalability Patterns for Platform-as-a-Service27 RT – Response Time (in a logarithmic scale) TPS – Transactions per Second rps – Requests per second

Performance of ShPP without security Scalability Patterns for Platform-as-a-Service28

Performance of ShPP with security Scalability Patterns for Platform-as-a-Service29

Performance of CPP without security Scalability Patterns for Platform-as-a-Service30

Performance of CPP with security Scalability Patterns for Platform-as-a-Service31

Comment.. Result 1 – Security causes a substantial decrease in the performance of a SOA deployed on the cloud. Result 2 – ShPP results in a performance gain both on TPS and RT with respect to the baseline. Result 3 – CPP provides a further improvement with respect to ShPP. Scalability Patterns for Platform-as-a-Service32

THANK YOU! Scalability Patterns for Platform-as-a-Service33