2017 | OriginalPaper | Buchkapitel
Introduction
verfasst von : Steffen Becker, Gunnar Brataas, Mariano Cecowski, Darko Huljenić, Sebastian Lehrig, Ivana Stupar
Erschienen in: Engineering Scalable, Elastic, and Cost-Efficient Cloud Computing Applications
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
When building IT systems today, developers face a set of challenges unknown a few years ago. Systems have to operate in a much more dynamic world, with users coming and going in an unpredictable manner. User counts have exceeded the limit of billions of users, and the Internet of Things will even increase those numbers significantly. Hence, building scalable systems which can cope with their dynamic environment has become a major success factor for most IT service providers. Those systems are run on a vast amount of hardware and software resources offered by cloud providers. Therefore, this chapter gives an introduction into the world of cloud computing applications, the terminology and concepts used in this world, and the challenges developers face when building scalable cloud applications. Afterward, we outline our solution for engineering cloud computing applications on a very high level to give the reader a jump-start into the topic.This chapter is structured as follows. In Sect. 1.1 we sketch the world of cloud applications and motivate the need for engineering their scalability. For those who have not worked on a cloud system, we outline its characteristics in Sect. 1.2 and define its essential concepts in Sect. 1.3. As this book is about building scalable cloud computing applications, we introduce the most important quality properties (scalability, elasticity, and cost-efficiency) in Sect. 1.4. In Sect. 1.5 we describe what consequences you will face when failing to get the quality of your application right, while Sect. 1.6 explains reasons why developers fail to provide sufficient quality when not following specialized methods. As development efforts and methods need to be managed, Sect. 1.7 describes what it takes to manage scalability, elasticity, and cost-efficiency. Management can be done in two ways, i.e., reactively (cf. Sect. 1.8) or proactively (cf. Sect. 1.9). Once you have understood why you should care about scalability, we sketch our solution approach, the CloudScale method (cf. Sect. 1.10). We explain what it costs to introduce it in Sect. 1.11 and what is required to be successful (cf. Sect. 1.12).