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. Not considering the impact of implementations can lead either to low performance (under-provisioning, resulting in high response times or low throughput) or high costs (over-provisioning, caused by low utilisation of resources).
CloudScale is an engineering approach for building scalable cloud applications and services. Our objectives are to:
- Make cloud systems scalable by design so that they can exploit the elasticity of the cloud. CloudScale helps in both maintaining and improving scalability during system evolution while also using a minimum amount of computational resources.
- Enable analysis of scalability 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.
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.
The engineering approach for scalable applications and services will enable small and medium enterprises as well as large players to fully benefit from the cloud paradigm by building scalable and cost-efficient applications and services based on state-of-the-art cloud technology. What's more, our engineering approach reduces risks as well as costs for companies newly entering the cloud market.
Open Source software available on