Skip to content

SPACE4Cloud short tutorial

miciav edited this page Oct 13, 2015 · 15 revisions

SPACE4Cloud short tutorial

Objective of this tutorial

Cloud Computing is assuming a relevant role in the ICT world, changing the way applications are designed, developed, and operated.

The cloud offers many useful services which application developers and operators can rely upon, but the adoption of such services requires specific expertise. As a matter of fact, given the heterogeneous technology offer and the pricing models currently available in the cloud market it is extremely complex and time consuming to design a cloud application choosing the most suitable services in order to fit functional and non-functional requirements while providing the best Quality of Service (QoS) and costs trade-offs Such situation calls for an integrated approach and special tools to guide designers, developers and operators through the adoption of specific cloud solutions. Within the framework of MODAClouds EU FP7 project, we propose, following the directives of Model-Driven Engineering, a state-of-the-art IDE (Creator 4Clouds) to design, by means of three levels of meta-models, a cloud application both in terms of architecture (components, interfaces, relationships) and QoS, expressing cloud-specific attributes and constraints. Among other things, such models include architectural and QoS constraints (e.g., VM utilisation or average application response time are lower than given thresholds), and a user-defined workload [detailed here], necessary to assess both performance and cost of the application under different load conditions.

Creator 4Clouds seamlessly interfaces with SPACE 4Clouds, the tool this tutorial focuses on, which has been specially designed for the assessment and optimisation of QoS characteristics for Cloud applications. It allows software architects to analyse and optimise cloud applications during the early stages of design and implementation. Internally it employs performance models and and a metaheuristic engine to explore the space of cloud service alternatives seeking for the configuration that minimises the leasing costs of resources while meeting the QoS requirements.

These two tools, used together, represent a powerful Decision Support System at the service of the application designer, allowing him/her to make informed decisions and, ultimately, save time and money.

Case study: MiC Application

MiC is a web application for social networking that allows the user to profile his/her topics of interest and to share them with similar users. Moreover, MiC identifies the most similar users in the network according to the registered users’ preferences. More specifically, during the registration process, the new user selects her topics of interest from a set of alternatives, providing a preference for each of them in the range 1 to 5. At the end of the registration, MiC calculates the Pearson coefficient based on the preferences expressed, identifies the users in the system with the most similar interests, and creates a list of contacts for the newcomer.

After the registration process, the user can log in into the MiC portal and interact with her Best Contacts by writing and reading posts on the selected topics. Users can also change their interests refining their profiles; in this case the system reacts re-evaluating the similarity and updating the list of recommended contacts. The application comprises two components deployed on the same tier, a Frontend to process the incoming http requests and a Backend running a Mysql database to stores users’ profiles, messages, and best contacts lists.

Space4Cloud installation

Space4Cloud is implemented as an Eclipse plugin running atop Palladio Bench. It requires the installation of external libraries and solvers. The reader can refer to this short installation guide to install it.

Alternatively, SPACE4Cloud, Creator 4Clouds, Eclipse, Palladio and all the other components have been dockerized and can be quickly installed following this wiki.

Short usage tutorial

Space 4Clouds can be used in two main ways: to analyse the application architecture modelled in Creator 4Clouds and derive performance metrics like CPU utilisation of resources used to host the application or Response Time of the functionalities offered by the application to the user. Space 4Clouds can also be used to optimise the deployment of the application in the Cloud environment in order to minimise the cost of the infrastructure and guarantee QoS.

h3. Application Assessment

The most basic functionality of Space 4Cloud is to assess a fully specified application deployment in order to evaluate how the application react to different working conditions.

The first step toward this analysis is the specification of the models exported by Creator 4Cloud in the user interface (UI) of Space 4Cloud.

To launch the Space 4Cloud UI click on the cloud shaped [add icon] in the top bar.

The UI will be shown with the "Model" tab selected. In this tab the user can load the five models representing the application in the PCM language.

Clone this wiki locally