D1.1 Design support, initial version Download file

This first WP1 deliverable summarises CloudScale’s results for the design support of scalable cloud computing services. CloudScale’s design support results include:

  • Concepts and terminology on scalability-relevant issues: we describe our scalability definition and its relation to quality.
  • The CloudScale Method, a collection of concrete process steps to engineer scalable cloud systems at design time and as the system evolves. This method has six main process steps where especially the system construction and analysis step are decomposed further.
  • ScaleDL represents a family of four sub languages including ScaleDL Usage Evolution and ScaleDL Architectural Template, which is described in this deliverable. In addition, ScaleDL Overview described in D3.1, is also part of ScaleDL. Finally, the forth ScaleDL sub language is Extended PCM building on the Palladio Component Model (PCM) and SimuLizar.
  • ScaleDL Usage Evolution, a sub language of ScaleDL, for service providers to specify scalability properties of their offered services modelled by the usage evolution. In this section it is also described how scalability can be connected to cost.
  • ScaleDL Architectural Templates, a sub language of ScaleDL, manifesting best practices (in the form of design patterns) for scalable cloud computing applications
  • The Analyser using ScaleDL Usage Evolution specifications as an input to predict the scalability of cloud computing applications at design time. Analyser will also use PCM for representing the components within a service, how these components relate with each other and how these components invoke lower level services.
We discuss each of these six results in a separate chapter. In addition, this deliverable also contains a glossary defining key CloudScale terms.

D1.2 Design support, second version Download file

This second WP1 deliverable summarises CloudScale’s results for the design support of scalable, efficiency and elastic cloud computing services. CloudScale’s design support results include:

  • Concepts and terminology on scalability-relevant issues: we describe our scalability, efficiency and elasticity metrics and their relation to quality.
  • Scalability Evaluation Method describing how to measure the scalability of a service deployed on cloud resources.
  • Elasticity Evaluation Method describing how to measure the elasticity of a service deployed on cloud resources.
  • The CloudScale Method, a collection of concrete process steps to engineer scalable cloud systems at design time and as the system evolves. This method has six main process steps where especially the system construction and analysis step are decomposed further.
  • ScaleDL represents a family of four sub languages including ScaleDL Usage Evolution and ScaleDL Architectural Template, which is described in this deliverable. In addition, ScaleDL Overview described in D3.1, is also part of ScaleDL. Finally, the forth ScaleDL sub language is Extended PCM building on the Palladio Component Model (PCM) and SimuLizar.
  • ScaleDL Usage Evolution, a sub language of ScaleDL, for service providers to specify scalability properties of their offered services modelled by the usage evolution. In this section it is also described how scalability can be connected to cost.
  • HowTos a list of design recommendations and patterns we suggest for scalability, elasticity, and efficiency.
  • ScaleDL Architectural Templates a sub language of ScaleDL, manifesting HowTos such that they can be used for engineering ScaleDL models.
  • The Analyser using ScaleDL Usage Evolution specifications as an input to analyze the scalability, elasticity, and efficiency of cloud computing applications at design time. Analyser also uses the PCM for representing the components within a service, how these components relate with each other, and how these components invoke lower level services.
We discuss each of these results in a separate chapter. In addition, this deliverable also contains a test plan for the Analyser as well as a glossary defining key CloudScale terms.

D2.1 Evolution support, initial version Download file

In this WP2 deliverable, we summarize our results of the evolution support in the CloudScale method. The evolution support focuses on migrating the existing system to the cloud computing environments. The results of the evolution support include:

  • Overview of the evolution support. In this chapter, we describe how we support software evolution within the CloudScale method and its processes. There are four tools in the processes. The Extractor extracts software architecture from source codes and visualizes with ScaleDL models. The Analyser is a tool that can automatically check whether a modelled system meets the scalability requirements in the requirement specification. The Dynamic Spotter finds components responsible for hindering scalability by inspecting source codes, while the Static Spotter inspecting software architecture.
  • Modelling and analysing scalability anti-patterns (HowNotTo, bad practices). In this chapter, we present our idea of how to model and analyze scalability anti-patterns as well as provide a concrete example, “the Blob” anti-pattern, and model it in our anti-pattern template.
  • Extractor methodology. In this chapter, we talk about our approach of the Extractor and the generated result from the Extractor, the partial ScaleDL model.
  • Scalability analysis by systematic experimentation. In this chapter, we introduce our idea of the Spotting by Measuring method and its complementing tool, the Dynamic Spotter.
  • Use cases of scalability anti-pattern detection. In this chapter, we briefly present a summary of our achievements with validation of the Spotter and our plan to apply in the context of the SAP use case.

D2.2 Evolution support, second version Download file

In this WP2 deliverable, we summarize our results of the evolution support in the CloudScale method. The evolution support focuses on migrating the existing system to the cloud computing environments. The results of the evolution support with focus on Y2 include:

  • Overview of the evolution support. In this chapter, we describe how we support software evolution within the CloudScale method and its progress. There are three tools related to Evolution Support: The Extractor extracts software architecture from source codes and visualizes with ScaleDL models. The Dynamic Spotter finds components responsible for hindering scalability by systematically executing the implemented system, while the Static Spotter inspects the software architecture and the system’s source code.
  • Modelling and analysing scalability anti-patterns (HowNotTo, bad practices). In this chapter, we document an example anti-pattern, which we formalised in the Static Spotter in Year 2.
  • The Static Spotter. In this chapter, we report on the methodology of the Static Spotter and the test results by applying ENT use cases.
  • The Dynamic Spotter. In this chapter, we refine our tool of the Spotting by Measuring method and its complementing tool, the Dynamic Spotter.
  • The Extractor. We report the test results by applying ENT use cases on the Extractor.

D3.1 First version of Integrated Tools Download file

This deliverable focuses in the definition, description and development efforts of the CloudScale Environment that integrates the CloudScale tool-chain (Analyser, Extractor and Spotter), methods and models created during the CloudScale project. For the development of the CloudScale Environment, a development platform has been deployed, which provides continuous integration builds with running unit-tests, source code quality checks, task and issue tracking ,and source version control. All used technologies are described in detail at the end of the deliverable.

The CloudScale Environment is a desktop application we developed in order to gather the tools (Extractor, Analyser, Spotter), models and defined methodology into a single consistent user interface. During this first phase of the project, the visual elements of the application have been created, as well as the CloudeScale Model editor, which allows to visually defining deployment architectures.

Of the tools to be integrated, the Palladio Analyser tool has been included, and its integration includes the user interface integration (Palladio is being run from within the application), and two way translation between the ScaleDL Overview and the Palladio Component Model. This allows for using all analysis features of Palladio on models created by the interface, as well as importing PCM models into the CloudScale Environment. This in turn will permit the integration of the Extractor, based on an extension for Archimetrix, which will make use of the PCM format.

D3.2 Second version of Integrated Tools Download file

This deliverable focuses in the definition, description and development efforts of the CloudScale Environment that integrates the CloudScale tool-chain (Analyser, Extractor and Spotter), methods and models created during the CloudScale project. For the development of the CloudScale Environment, a development platform has been deployed, which provides continuous integration builds with running unit-tests, source code quality checks, task and issue tracking,and source version control. All used technologies are described in detail at the end of the deliverable.
The complete CloudScale Environment (CSE) code source is now available on the GitHub project repository 2 , along with the project page, describing the environment and serving releases and latest builds. In aim to build an open-source community we have also migrated the CSE project structure to the Palladio community where it is now built and made available along with other Palladio projects. For supporting the community we have also prepared update sites for each tool and model individually, and composed update sites containing all dependencies required for CloudScale Environment development.
The CloudScale Environment is a desktop application we developed in order to gather the tools (Extractor, Analyser and Spotter), models and defined methodology into a single consistent user interface. During the second phase of the project, we have integrated all the CloudScale tools and models, which are available through the project dashboard component and the workflow diagram, used to navigate user through the steps necessary to produce the results. In the next phase we will continue to make CloudScale Environment user-friendly and feature-full, with focus on integrating tools results between each other, in order to simplify the user experience and minimize the effort needed to fully analyse the system.

D4.1 Requirements and validation, first version Download file

This document describes CloudScale environment and all the stakeholders involved in CloudScale project. The stakeholders are identified in terms of stakeholders who are responsible for providing the results of the CloudScale project and stakeholders who use the results of the CloudScale project in order to enable scalable services in the cloud environment.

The description of the CloudScale stakeholders is followed by description of industrial use cases provided by SAP and ENT partners and showcase example that will be used as a baseline for CloudScale validation and exploitation strategy. Other than that, the deliverable lists the identified requirements for the CloudScale project results. The requirements elicitation process is described in the document covering all CloudScale project results that have impact on CloudScale environment. At this project stage, CloudScale requirements are grouped into six main categories related to the CloudScale results. Currently we have collected 131 requirements (68 Accepted, 29 Review and 34 Rejected).

This deliverable also presents initial validation strategies for each industrial partner with plans that define which CloudScale result will be covered and validated in which validation phase.

D4.2 Requirements and validation, second version Download file

This document brings an overview of the WP4 achievements, with the focus on the result of the validation phase 2. The deliverable describes CloudScale requirements and validation process based on all the stakeholders involved in CloudScale project. The stakeholders are grouped into internal project stakeholders (responsible for providing the results of the CloudScale project) and external project stakeholders (stakeholders that use the results of the CloudScale project).
The description of the CloudScale stakeholders is followed by description of updated industrial use cases provided by SAP and ENT partners and showcase example that are used as a baseline for CloudScale validation and exploitation strategy. For each use case, we provide an overview of the metrics used during validation, and an example of their validation. Other than that, the deliverable lists the accepted requirements for the CloudScale project results. The CloudScale requirements are grouped into six main categories related to the CloudScale results. In the previous requirement collection phase we have collected 131 requirements, the state of the requirements was reviewed in the second phase which led to the current number of 91 Accepted requirements. This version of deliverable brings updated requirements’ status, validation criteria for each requirement, and information about partners responsible for validation of each requirement. An overview of the current requirement validation achievements is also presented in this document.
This deliverable also presents validation strategies for each industrial partner with plans that define which CloudScale result will be covered and validated in which validation phase. Validation results obtained during first and second validation phase are presented.

D5.1 First version of Showcase Download file

This deliverable presents the work related to the Showcase and its importance towards the project. The goals of the Showcase have been clearly defined as the usage of the CloudScale Method and CloudScale Environment in the analysis of use cases that are not covered by ENT and SAP case studies, as well as the creation of an ad-hoc use case that covers most of the necessities of enterprises looking into moving their solutions to the cloud, and those looking to improve the scalability and cost-effectiveness of their cloud deployments. To that end, the specifications for the TPC-W e-Commerce standard application's functional and non-functional requirements will be used as base for different user scenarios in the cloud environment, and its benchmark definition for comparing them. The base TPC-W application will be re-implemented and improved throughout the duration of the project by using the tools created during the CloudScale project.

This process begins with the modernization of the architecture described in TPC-W and the existing implementation by recreating the designed functionalities using modern tools and frameworks in order to modernize an existing standalone solution. A second step focuses on migration of the newly created implementation into the cloud environment by the usage of several development techniques and architecture solutions to finally enable the TPC-W application to have a fully automatically scalable elastic deployment. Finally, the last part of the experiment will focus on maximizing the cost-effectiveness of a deployment given a set of quality specifications.

Throughout the process of improving the system, benchmarks and statistics will be collected from the created systems in order to be able to compare them, following the TPC-W benchmark definitions with additional metrics such as costs effectiveness.

D5.2 Second version of Showcase Download file

The main objective of work package 5 is to develop a showcase that lends itself well to demonstrate the benefits of the CloudScale tools and methods for (i.e. prediction, analysis, metrics, measurement, anti-patterns, etc.), offering a convincing story line to support dissemination and providing a platform for exploitation. The showcase aims to be realistic, while completely open, thus overcoming any issues that the use-case partners (SAP and ENT) have regarding confidentiality in connection with the evaluation work in WP4.
To this end, the project has developed a showcase we call CloudStore. This is a free and open scenario definition and implementation of a typical web application, with some inherent scalability and performance issues that demonstrate the merits of CloudScale. CloudStore also allows one to measure and compare different cloud providers, architectures and deployment in terms of capacity, elasticity and costs. CloudStore is based on the functional and non-functional specification of TPC-W 2 ; giving it a different name than the well-known benchmark is intentional, i.e. to avoid confusion as to what it is.
The work performed during the second year of the Showcase work package focused on the CloudStore implementations, creating a distributed load platform, defining the cloud-related metrics we measured during this second year and their methodologies, and facilitating the usage of the Showcase as a tool for testing both the CloudScale tools and cloud applications and their deployments.
The CloudScale tools where applied to analyse CloudStore. The Showcase implementations were migrated to both private and public clouds, namely to OpenStack and Amazon’s cloud platforms, and used to measure and compare different deployment options. To that end a methodology of measurement for capacity and elasticity was defined, including a Usage Evolution schema that mimics the expected changes in the user load in real life of our on-line book sell application. Given the methodology defined to test these metrics, in conjunction with a “usage evolution” to be used as scenario, we performed the measurement steps to provide with a comparison of the different deployment setups for the CloudStore application.
A set of tools to facilitate this test were created, including a load generation that is distributed in order to produce any kind of volume given the necessary resources, a set of scripts for the deployment in both aforementioned private and public clouds, and a user interface for the flexible and rapid definition and instantiation of a 3-tier application on the cloud.
All these tools are made available through the project’s GitHub repository 3 , and include instructions of how to make use of them.