Abstract
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
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