Introduction.- CloudScale Method Quick View.- Cloud Computing Applications.- ScaleDL.- The CloudScale Method.- Analyzing a Modeled System.- Analyzing and Migrating an Implemented System.- The CloudScale Method for Managers.- Case Studies.
Steffen Becker is a full professor for software engineering at the University of Technology Chemnitz. His area of expertise is the quantitative analysis of software systems based on models. He participated in a number of projects in this area including the Q-ImPrESS, CloudScale, and NetIDE FP7 STREPs. In CloudScale, he managed the activities focusing on the evolution of legacy systems into scalable cloud applications.
Gunnar Brataas is a Senior Engineer at SINTEF Digital in Trondheim, Norway. He was the Technical Manager of CloudScale and has been working with scalability for the past 20 years in EU-projects, as well as with Norwegian industry. Currently, he is the Scientific Project Leader of ScrumScale, funded by the Norwegian Research Council under grant #256669. The overall objective of ScrumScale is to reduce the total cost of handling scalability by extending agile development methods.
Sebastian Lehrig is a research engineer at IBM with focus on big data and machine learning technologies. Before, he worked as a research assistant within the EU FP7 STREP project “CloudScale” and the German BMBF project “Securing the Financial Cloud”. Sebastian’s research has focused on design and analysis methods for distributed and cloud computing applications. His research results help software architects in efficiently modeling and analyzing software applications for these domains, e.g., by providing modeling and analysis templates for reusable architectural knowledge.
This book provides an overview of the problems involved in engineering scalable, elastic, and cost-efficient cloud computing services and describes the CloudScale method — a description of rescuing tools and the required steps to exploit these tools. It allows readers to analyze the scalability problem in detail and identify scalability anti-patterns and bottlenecks within an application. With the CloudScale method, software architects can analyze both existing and planned IT services.
The method allows readers to answer questions like:
• With an increasing number of users, can my service still deliver acceptable quality of service? • What if each user uses the service more intensively? Can my service still handle it with acceptable quality of service? • What if the number of users suddenly increases? Will my service still be able to handle it? • Will my service be cost-efficient?
First the book addresses the importance of scalability, elasticity, and cost-efficiency as vital quality-related attributes of modern cloud computing applications. Following a brief overview of CloudScale, cloud computing applications are then introduced in detail and the aspects that need to be captured in models of such applications are discussed. In CloudScale, these aspects are captured in instances of the ScaleDL modeling language. Subsequently, the book describes the forward engineering part of CloudScale, which is applicable when developing a new service. It also outlines the reverse and reengineering parts of CloudScale, which come into play when an existing (legacy) service is modified. Lastly, the book directly focuses on the needs of both business-oriented and technical managers by providing guidance on all steps of implementing CloudScale as well as making decisions during that implementation. The demonstrators and reference projects described serve as a valuable starting point for learning from experience.
This book is meant for all stakeholders interested in delivering scalable, elastic, and cost-efficient cloud computing applications: managers, product owners, software architects and developers alike. With this book, they can both see the overall picture as well as dive into issues of particular interest.
Features and Benefits
Provides an overview of the CloudScale method to enable scalable, elastic and cost-efficient cloud computing applications
A valuable guide to both the development of new software via forward engineering and the modification of existing services using reverse engineering
Includes descriptions of two case studies to allow managers and software professionals to learn from both theory and real-world experience