Abstract
This chapter describes the challenges related to the software deployment and configuration activities, which could be addressed through AI techniques. Additionally, we illustrate the application of such techniques with two specific problems: the QoS-aware binding of web services, and the selection of the optimal configuration in highly-configurable systems. The AI techniques applied to solve such problems are GRASP with Path Relinking and Multi-Objective Evolutionary Algorithms, respectively. These techniques will be applied to deployment scenarios based on empirically obtained data from real-world web services and highly-configurable software systems. These examples are implemented in Java and C, respectively, providing the source code, build scripts and data sets for the sake of reproducibility.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
For instance the availability of Dropbox was taken form https://digitalfirst.com/dropbox-availability-finally-revealed/.
- 2.
Note that it makes no sense to explore more neighbours since the maximum size of the paths is 3 (the number of different services to bind).
- 3.
- 4.
- 5.
- 6.
Editors note: The source code linked in this chapter could change after publishing this book. A snapshot of the source code accompanying this chapter can be found at https://doi.org/10.5281/zenodo.6965479.
References
International standard—systems and software engineering—software life cycle processes. ISO/IEC/IEEE 12207:2017(E) First edition 2017-11 pp. 1–157 (2017). https://doi.org/10.1109/IEEESTD.2017.8100771
Debian Wheezy. http://www.debian.org/releases/wheezy/. Accesed July 2021
U. Afzal, T. Mahmood, Z. Shaikh, Intelligent software product line configurations: a literature review. Comput. Stand. Interfaces 48, 30–48 (2016). Special Issue on Information System in Distributed Environment
N. Arshad, D. Heimbigner, A. Wolf, Deployment and dynamic reconfiguration planning for distributed software systems, in Proceedings. 15th IEEE International Conference on Tools with Artificial Intelligence (2003), pp. 39–46
D. Benavides, S. Segura, A. Ruiz-Cortés, Automated analyses of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010)
G. Canfora, M. Di Penta, R. Esposito, M.L. Villani, Qos-aware replanning of composite web services, in IEEE International Conference on Web Services (ICWS’05) (IEEE, 2005), pp. 121–129
M.B. Cohen, M.B. Dwyer, J. Shi, Constructing interaction test suites for highly-configurable systems in the presence of constraints: a greedy approach. Trans. Softw. Eng. 34(5), 633–650 (2008)
K. Deb, H. Jain, An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part i: solving problems with box constraints. IEEE Trans. Evol. Comput. 18(4), 577–601 (2013)
K. Deb, A. Pratap, S. Agarwal, T. Meyarivan, A fast and elitist multiobjective genetic algorithm. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)
J. García-Galán, O. Rana, P. Trinidad, A. Ruiz-Cortés, Migrating to the cloud: a software product line based analysis, in 3rd International Conference on Cloud Computing and Services Science (2013), pp. 416–426
M. Harman, The role of artificial intelligence in software engineering, in 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE) (2012), pp. 1–6
M. Harman, K. Lakhotia, J. Singer, D.R. White, S. Yoo, Cloud engineering is search based software engineering too. J. Syst. Softw. 86(9), 2225–2241 (2013)
R.M. Hierons, M. Li, X. Liu, S. Segura, W. Zheng, Sip: optimal product selection from feature models using many-objective evolutionary optimization. ACM Trans. Softw. Eng. Methodol. 25(2) (2016)
R.M. Hierons, M. Li, X. Liu, S. Segura, W. Zheng, Sip: optimal product selection from feature models using many-objective evolutionary optimization. ACM Trans. Softw. Eng. Methodol. (TOSEM) 25(2), 1–39 (2016)
K. Kang, S. Cohen, J. Hess, W. Novak, S. Peterson, Feature–oriented domain analysis (foda) feasibility study, in SEI (1990)
B.A. Kitchenham, S.L. Pfleeger, Principles of survey research part 2: designing a survey. SIGSOFT Softw. Eng. Notes 27(1), 18–20 (2002)
M. Laguna, R. Marti, Grasp and path relinking for 2-layer straight line crossing minimization. INFORMS J. Comput. 11(1), 44–52 (1999)
W. Li, Z. Zhao, Automating dynamic reconfiguration for non-stop dataflow systems, in 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), vol. 1 (2007), pp. 260–267
J.A. Parejo, S. Segura, P. Fernandez, A. Ruiz-Cortés, Qos-aware web services composition using grasp with path relinking. Expert Syst. Appl. 41(9), 4211–4223 (2014)
J.A., Parejo, A.B. Sánchez, S. Segura, A. Ruiz-Cortés, R.E. Lopez-Herrejon, A. Egyed, Multi-objective test case prioritization in highly configurable systems: a case study. J. Syst. Softw. 122, 287–310 (2016)
M.G., Resende, C.C. Ribeiro, Greedy randomized adaptive search procedures: advances, hybridizations, and applications, in Handbook of Metaheuristics (Springer, Berlin, 2010), pp. 283–319
A. von Rhein, A. Grebhahn, S. Apel, N. Siegmund, D. Beyer, T. Berger, Presence-condition simplification in highly configurable systems, in International Conference on Software Engineering (2015)
A.B. Sánchez, S. Segura, A. Ruiz-Cortés, The drupal framework: a case study to evaluate variability testing techniques, in Workshop on Variability Modelling of Software-Intensive Systems (ACM, 2014), pp. 11:1–11:8
A.B. Sánchez, S. Segura, J.A. Parejo, A. Ruiz-Cortés, Variability testing in the wild: the drupal case study. Softw. Syst. Model. J. 1–22 (2015)
S. Satyal, I. Weber, L. Bass, M. Fu, Scalable rollback for cloud operations using AI planning, in 2015 24th Australasian Software Engineering Conference (2015), pp. 195–202
K. Schwaber, J. Sutherland, The scrum guide. Technical report, Scrum.org (2020). https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-US.pdf
M.J. Scott, E.K. Antonsson, Compensation and weights for trade-offs in engineering design: beyond the weighted sum. J. Mech. Des. 127(6), 1045–1055 (2005)
S. Segura, A.B. Sánchez, A. Ruiz-Cortés, Automated variability analysis and testing of an e-commerce site: an experience report, in International Conference on Automated Software Engineering (ACM, 2014), pp. 139–150
B. Thurgood, R.G. Lennon, Cloud computing with kubernetes cluster elastic scaling, in Proceedings of the 3rd International Conference on Future Networks and Distributed Systems (ICFNDS ’19, Association for Computing Machinery, New York, NY, USA, 2019)
L. Toka, G. Dobreff, B. Fodor, B. Sonkoly, Machine learning-based scaling management for kubernetes edge clusters. IEEE Trans. Netw. Serv. Manage. 18(1), 958–972 (2021)
Q. Zhang, H. Li, MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Trans. Evol. Comput. 11(6), 712–731 (2007)
E. Zitzler, M. Laumanns, L. Thiele, Spea2: improving the strength pareto evolutionary algorithm. TIK-Report 103 (2001)
Acknowledgements
Authors of this chapter are especially thankful to Miqing Li, which provided the C implementation of the NSGA-II algorithm applied to solve the Optimal Configuration Problem. Additionally, the authors are thankful to Sergio Segura for their support during the elaboration of this chapter. This work has been partially supported by FEDER/Ministerio de Ciencia e Innovación—Agencia Estatal de Investigación under projects HORATIO (RTI2018101204-B-C21) and OPHELIA (RTI2018101204-B-C22); and by FEDER/Junta de Andalucía under the project APOLO (US-1264651). PID2021-126227NB-C22 funded by MCIN/AEI/10.13039/501100011033/FEDER, UE and by grant TED2021-131023B-C21 funded by MCIN/AEI/10.13039/501100011033 and by NextGeneration EU.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.
About this chapter
Cite this chapter
Antonio Parejo, J., Sánchez, A.B. (2023). Cloud Development and Deployment. In: Romero, J.R., Medina-Bulo, I., Chicano, F. (eds) Optimising the Software Development Process with Artificial Intelligence. Natural Computing Series. Springer, Singapore. https://doi.org/10.1007/978-981-19-9948-2_6
Download citation
DOI: https://doi.org/10.1007/978-981-19-9948-2_6
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-19-9947-5
Online ISBN: 978-981-19-9948-2
eBook Packages: Computer ScienceComputer Science (R0)