Overview of CloudScale Results

CloudScale enables the modelling of design alternatives and the analysis of their effect on scalability and cost. Best practices for scalability further guide the design process.

CloudScale provides tools and methods that detect scalability problems by analysing code. Based on the detected problems, CloudScale offers guidance on the resolution of bad practice. As a basis for all of this is a language (ScaleDL) that service providers use to specify the scalability properties of basic and composed cloud services. 

The CloudScale Method describes the steps for the design process. Each of these steps is supported by CloudScale languages, tools, and best practices. The CloudScale Method itself is structured in four high-level steps we describe in Deliverable D1.1 in detail:


Extracting Model:  CloudScale’s Extractor tool allows an automated transformation from existing code to a model instance of CloudScale’s ScaleDL language. The result is a partially specified ScaleDL instance that needs to be enriched in the second step.


Engineering Scalability:  In this step, the partial ScaleDL instance from the first step is enriched by context information that cannot be automatically extracted. For instance, used cloud computing providers as well as the expected load on the system are specified. Afterwards, CloudScale’s Analyser can predict the scalebility (e.g., the costs for serving an increasing number of customers) of the modeled system – at design time.


Detecting Scalability Problems:  Based on the the results from the Analyser, CloudScale’s Spotter can automatically detect scalability problems and their root causes. CloudScale’s Scalability Anti-Patterns make possible and detectable scalability problems explicit. CloudScale not only provides the detection of scalability problems based on the output, but also based on (1) directly analysing existing code (Static Spotter) and (2) measuring scalability properties at run-time (Dynamic Spotter).


Resolving Problems: CloudScales’s HowTos provide guidelines for solving the scalability issues detected in the third step.