Abstract
While modern systems are often built in a way that respects cloud computing requirements, the majority of existing systems have been built before dynamically allocatable resources became mainstream. Those systems have been designed and implemented for dedicated hardware, often large-scale servers, which had been sized to the maximum workload the systems were expected to face. This approach led to a high amount of wasted resources, which were operated in a stand-by fashion only to deal with seldom high-load situations. Therefore, it is desirable to migrate legacy systems in a way that they can benefit from the cloud computing approach. However, several issues arise. Legacy systems were often built without upfront modeling or the models became outdated over time. Additionally, while there are several tools that analyze legacy systems to detect insufficient coding style or bad designs, almost no tooling exists that spots defects in the systems. This deficiency hinders systems to smoothly operate in cloud computing environments, i.e., these systems have a limited scalability. In CloudScale, we address this issue by dedicated, built-in method support for system evolution, i.e., for migrating legacy systems to cloud computing environments. In this chapter, we outline CloudScale’s evolution support and present tools which help software architects to migrate legacy systems to scalable, cloud computing applications.
Section 7.2 describes the process steps when spotting HowNotTos. Statical detection of HowNotTos is further elaborated in Sect. 7.3, while dynamic detection is discussed in Sect. 7.4. Section 7.5 links HowNotTos with best-practice HowTos. An example is described in Sect. 7.6.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
CloudScale: User Manual of the CloudScale Environment. http://www.cloudscale-project.eu/media/filer_public/2016/02/01/cloudscaleenvironment-userguide_1_1.pdf [Visited on 12/19/2016]
von Detten, M., Meyer, M., Travkin, D.: Reverse engineering with the reclipse tool suite. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (ICSE 2010), Cape Town, 2–8 May 2010
Wert, A.: Performance problem diagnostics by systematic experimentation. Karlsruhe Institut fur Technologie, Technical Report (2015)
Wert, A., Happe, J., Happe, L.: Supporting swift reaction: automatically uncovering performance problems by systematic experiments. In: Proceedings of the 2013 International Conference on Software Engineering, ser. ICSE’13, pp. 552–561. IEEE Press, San Francisco (2013). [Online] Available: http://dl.acm.org/citation.cfm?id=2486788.2486861
Wert, A., Oehler, M., Heger, C., Farahbod, R.: Automatic detection of performance anti-patterns in inter-component communications. In: Proceedings of the 10th International ACM Sigsoft Conference on Quality of Software Architectures, ser. QoSA’14, pp. 3–12. ACM, Marcq-en-Bareul, France (2014). [Online] Available: http://doi.acm.org/10.1145/2602576.2602579
Smith, C.U., Williams, L.G.: Software performance antipatterns. In: Proceedings of the 2nd International Workshop on Software and Performance, ser. WOSP’00, pp. 127–136. ACM, Ottawa (2000). [Online] Available: http://doi.acm.org/10.1145/350391.350420
CloudScale Wiki: HowNotTos, wiki.cloudscale-project.eu/HowNotTos:_Anti-Patterns [Visited on 12/19/2016].
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Becker, S., Lehrig, S. (2017). Analyzing and Migrating an Implemented System. In: Becker, S., Brataas, G., Lehrig, S. (eds) Engineering Scalable, Elastic, and Cost-Efficient Cloud Computing Applications. Springer, Cham. https://doi.org/10.1007/978-3-319-54286-7_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-54286-7_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-54285-0
Online ISBN: 978-3-319-54286-7
eBook Packages: Computer ScienceComputer Science (R0)