Abstract
The so-called API economy has popularised the consumption of APIs and their payment through pricing plans. This trend is very much in line with and particularly beneficial for systems with a microservices architecture that makes use of external APIs. In these cases, more and more often, the design of the system is based on the premise that its functionality is offered to its users within certain operating conditions, which implies that its architecture is aware of both the plans of external APIs and its capacity limits. We have coined these architectures as limitation-aware microservices architectures (LAMA). Furthermore, in case of a Software as a Service (SaaS) model implemented with a LAMA, the operating conditions would be explicitly grounded in the specific plans agreed with the SaaS customers. In such a context, to design a set of potential pricing plans for the LAMA and predict the expected operating conditions, it is necessary to determine the capacity limits that the architecture will offer and the cost of using external API. This is a tedious, time-consuming, and error-prone activity, so its automation would be of great value to software architects.
In this paper, we coin the term LAMA, describe the problem of automated capacity analysis of LAMAs, present a first approach to solving it by interpreting it as an optimisation problem implementable as a constraint satisfaction and optimisation problem and introduce three basic analysis operations from which any number of other operations can be modelled. Finally, a tooling support is also introduced.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Available at https://smart-lama-api-beta.herokuapp.com/api/v2.
References
Andreo, S., Calà, A., Bosch, J.: OpEx driven software architecture a case study. In: Proceedings of the 15th European Conference on Software Architecture (ECSA) (Companion) (2021)
Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010)
Canfora, G., Di Penta, M., Esposito, R., Villani, M.L.: A lightweight approach for QoS-aware service composition. In: Proceedings of the 2nd International Conference on Service Oriented Computing (ICSOC 2004)-short papers. Citeseer (2004)
How to build an API economy for your enterprise - Capgemini. https://www.capgemini.com/2020/12/how-to-build-an-api-economy-for-your-enterprise/. Accessed 13 June 2022
Durán, A., Benavides, D., Segura, S., Trinidad, P., Ruiz-Cortés, A.: Flame: a formal framework for the automated analysis of software product lines validated by automated specification testing. Softw. Syst. Model. 16(4), 1049–1082 (2017)
Fowler, M.: Microservices. https://martinfowler.com/articles/microservices.html. Accessed 13 June 2022
Fresno-Aranda, R., Fernández, P., Durán, A., Ruiz-Cortés, A.: Notebook for automated analysis of a basic LAMA. https://bit.ly/smart-lama-api
Fresno-Aranda, R., Fernández, P., Ruiz-Cortés, A.: Smart LAMA API: automated capacity analysis of limitation-aware microservices architectures. In: Proceedings of the XVII Jornadas de Ingeniería de Ciencia e Ingeniería de Servicios (In press). SISTEDES (2022)
Fresno-Aranda, R., Fernández, P., Durán, A., Ruiz-Cortés, A.: Semi-Automated Capacity Analysis of Limitation- Aware Microservices Architectures (Supplementary Material) (2022). https://doi.org/10.5281/zenodo.7025641
Gamez-Diaz, A., Fernandez, P., Pautasso, C., Ivanchikj, A., Ruiz-Cortes, A.: ELeCTRA: induced usage limitations calculation in RESTful APIs. In: Liu, X., et al. (eds.) ICSOC 2018. LNCS, vol. 11434, pp. 435–438. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17642-6_39
Gamez-Diaz, A., Fernandez, P., Ruiz-Cortes, A.: An analysis of RESTful APIs offerings in the industry. In: Maximilien, M., Vallecillo, A., Wang, J., Oriol, M. (eds.) ICSOC 2017. LNCS, vol. 10601, pp. 589–604. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-69035-3_43
Gamez-Diaz, A., et al.: The role of limitations and SLAs in the API industry. In: Proceedings of the 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 1006–1014 (2019)
Harman, M., Lakhotia, K., Singer, J., White, D.R., Yoo, S.: Cloud engineering is search based software engineering too. J. Syst. Softw. 86(9), 2225–2241 (2013)
ter Hofstede, A.H., Proper, H.A.: How to formalize it?: formalization principles for information system development methods. Inf. Softw. Technol. 40(10), 519–540 (1998)
ITIL Capacity Management. https://www.smartsheet.com/content/itil-capacity-management. Accessed 13 June 2022
Martín-Díaz, O., Ruiz-Cortés, A., Durán, A., Müller, C.: An approach to temporal-aware procurement of web services. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 170–184. Springer, Heidelberg (2005). https://doi.org/10.1007/11596141_14
MiniZinc constraint modeling language. https://www.minizinc.org/. Accessed 13 June 2022
Müller, C., Gutierrez, A.M., Fernandez, P., Martín-Díaz, O., Resinas, M., Ruiz-Cortés, A.: Automated validation of compensable SLAs. IEEE Trans. Serv. Comput. 14(5), 1306–1319 (2018)
Müller, C., Resinas, M., Ruiz-Cortés, A.: Automated analysis of conflicts in WS-Agreement. IEEE Trans. Serv. Comput. 7(4), 530–544 (2013)
Parejo, J.A., Segura, S., Fernandez, P., Ruiz-Cortés, A.: QoS-Aware web services composition using GRASP with path relinking. Exp. Syst. Appl. 41(9), 4211–4223 (2014)
del Río-Ortega, A., Resinas, M., Cabanillas, C., Ruiz-Cortés, A.: On the definition and design-time analysis of process performance indicators. Inf. Syst. 38(4), 470–490 (2013)
How to Make the API Economy a Reality - WSO2. https://wso2.com/choreo/resources/how-to-make-the-api-economy-a-reality/. Accessed 13 June 2022
Zeng, L., Benatallah, B., Ngu, A.H., Dumas, M., Kalagnanam, J., Chang, H.: QoS-aware middleware for web services composition. IEEE Trans. Soft. Eng. 30(5), 311–327 (2004)
Acknowledgments
Grants RTI2018-101204-B-C21, RTI2018-101204-B-C22, PID2021-126227NB-C21, PID2021-126227NB-C22 funded by MCIN/AEI/10.13039/501100011033/ and “ERDF a way of making Europe”; grants P18-FR-2895, US-1264651 and US-1381595 funded by Junta de Andalucıa /ERDF, UE; and grant FPU19/00666 funded by MCIN/AEI/ 10.13039/501100011033 and by “ESF Investing in your future”.
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 Switzerland AG
About this paper
Cite this paper
Fresno–Aranda, R., Fernández, P., Durán, A., Ruiz–Cortés, A. (2023). Semi-automated Capacity Analysis of Limitation-Aware Microservices Architectures. In: Bañares, J.Á., Altmann, J., Agmon Ben-Yehuda, O., Djemame, K., Stankovski, V., Tuffin, B. (eds) Economics of Grids, Clouds, Systems, and Services. GECON 2022. Lecture Notes in Computer Science, vol 13430. Springer, Cham. https://doi.org/10.1007/978-3-031-29315-3_7
Download citation
DOI: https://doi.org/10.1007/978-3-031-29315-3_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-29314-6
Online ISBN: 978-3-031-29315-3
eBook Packages: Computer ScienceComputer Science (R0)