Skip to main content

Part of the book series: Natural Computing Series ((NCS))

  • 485 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 149.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 199.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    For instance the availability of Dropbox was taken form https://digitalfirst.com/dropbox-availability-finally-revealed/.

  2. 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. 3.

    https://pantheon.io/blog/drupal-service.

  4. 4.

    https://git.drupalcode.org/project/drupal.

  5. 5.

    https://www.drupal.org/project/issues.

  6. 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

  1. 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

  2. Debian Wheezy. http://www.debian.org/releases/wheezy/. Accesed July 2021

  3. 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

    Google Scholar 

  4. 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

    Google Scholar 

  5. 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)

    Article  Google Scholar 

  6. 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

    Google Scholar 

  7. 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)

    Article  Google Scholar 

  8. 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)

    Article  Google Scholar 

  9. K. Deb, A. Pratap, S. Agarwal, T. Meyarivan, A fast and elitist multiobjective genetic algorithm. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)

    Article  Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. 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)

    Article  Google Scholar 

  13. 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)

    Google Scholar 

  14. 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)

    Article  Google Scholar 

  15. K. Kang, S. Cohen, J. Hess, W. Novak, S. Peterson, Feature–oriented domain analysis (foda) feasibility study, in SEI (1990)

    Google Scholar 

  16. B.A. Kitchenham, S.L. Pfleeger, Principles of survey research part 2: designing a survey. SIGSOFT Softw. Eng. Notes 27(1), 18–20 (2002)

    Article  Google Scholar 

  17. M. Laguna, R. Marti, Grasp and path relinking for 2-layer straight line crossing minimization. INFORMS J. Comput. 11(1), 44–52 (1999)

    Article  MATH  Google Scholar 

  18. 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

    Google Scholar 

  19. 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)

    Article  Google Scholar 

  20. 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)

    Google Scholar 

  21. 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

    Google Scholar 

  22. 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)

    Google Scholar 

  23. 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

    Google Scholar 

  24. 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)

    Google Scholar 

  25. 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

    Google Scholar 

  26. K. Schwaber, J. Sutherland, The scrum guide. Technical report, Scrum.org (2020). https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-US.pdf

  27. 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)

    Article  Google Scholar 

  28. 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

    Google Scholar 

  29. 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)

    Google Scholar 

  30. 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)

    Article  Google Scholar 

  31. Q. Zhang, H. Li, MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Trans. Evol. Comput. 11(6), 712–731 (2007)

    Article  Google Scholar 

  32. E. Zitzler, M. Laumanns, L. Thiele, Spea2: improving the strength pareto evolutionary algorithm. TIK-Report 103 (2001)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to José Antonio Parejo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics