Cloud providers theoretically offer their customers unlimited resources for their applications on an on-demand basis. However, scalability is not only determined by the available resources, but also by how the control and data flow of the application or service is designed and implemented.
Implementations that do not consider their effects can either Iead to low performance (underprovisioning, resulting in high response times or low throughput) or high costs (over-provisioning, caused by low utilisation of resources).
- Make cloud systems scalable by design so that they can exploit the elasticity of the cloud, as well as maintaining and also improving scalability during system evolution. At the same time, a minimum amount of computational resources shall be used.
- Enable scalability analysis of basic and composed services in the cloud.
- Ensure industrial relevance and uptake of the CloudScale results so that scalability becomes less of a problem for cloud systems.
Scenario: Berlin, 2017
The start-up company SmartService has built an application allowing users to manage subscriptions to services, magazines etc. and to send out cancellations automatically and on time. The service is implemented based on Amazon EC2 and uses various 3rd party services, for example, a service to convert images of contracts uploaded by users to PDF. So far, SmartService assumed that using a cloud platform will allow them to scale their application as needed. With their service, SmartService have found a promising niche. Their application has spread rapidly showing a perfect growth of a hockey stick shaped curve.
Unfortunately, the rising number of users leads to higher and higher costs and, especially during peak loads, to high end-to-end response times which results in losing customers. Their application faces some severe scalability issues. If they cannot fix the problem soon the whole start-up will be at risk. SmartService needs to address the problem quickly. Due to the complexity of the application and the 3rd party services involved, they need a structured approach to identify the root causes of the scalability problems as well as engineering guidelines on how to restructure their application to cope with the increasing load.
They discover that the CloudScale tools and techniques allow SmartService to analyse the scalability problem in detail and identify scalability anti-patterns and bottlenecks within the application. Using these techniques, SmartService quickly realises that scalability problems are caused by their conservative handling of data. They use the CloudScale scalability patterns and engineering method to find the best scalable architecture. Equipped with this knowledge they swiftly restructure their application and continue their path of growth. In the future, CloudScale tools and technologies allow SmartService to avoid any such critical scalability problems.
SmartService was able to successfully address their scalability problems using the CloudScale approach.