Abstract
Estimating the cost of a multi-component application (e.g., its resource or energy consumption) is fundamental in nowadays enterprise IT, especially if we consider that current pricing models are mainly pay per-use. While this is still manageable on small applications, it is really hard to manually estimate the cost of large-scale enterprise applications involving hundreds of interdependent application components. In this article, we formalise the problem of estimating costs of multi-component applications, by representing the structure of an application as a typed directed graph, and by allowing to associate different types of costs with different application components. We show that costs can be fully customised, and that associating different costs with the same application leads to different cost estimation problems defined on that application.We then present an approach for solving cost estimation problems on multi-component applications, which is based on terminating and confluent graph transformations. We also present a prototype implemenation of our approach, which we use to run a case study based on a third-party application.
Similar content being viewed by others
References
Ábrahám, E., Corzilius, F., Johnsen, E.B., Kremer, G., Mauro, J.: Zephyrus2: on the fly deployment optimization using SMT and CP technologies. In: Fränzle, M., Kapur, D., Zhan, N. (eds.) Dependable software engineering: theories, tools, and applications, volume of 9984 Lecture Notes in Computer Science, pp. 229–245. Springer (2016)
Albert, E., Correas, J., Román-Díez, G.: Peak cost analysis of distributed systems. In: Müller-Olm, M., Seidl, H. (eds.) Static analysis, volume of 8723 Lecture Notes in Computer Science, pp. 18–33. Springer (2014)
Andrikopoulos, V., Gómez Sáez, S., Leymann, F., Wettinger, J.: Optimal distribution of applications in the cloud. In: Jarke, M., Mylopoulos, J., Quix, C., Rolland, C., Manolopoulos, Y., Mouratidis, H., Horkoff, J. (eds.) Advanced information systems engineering, volume of 8484 Lecture Notes in Computer Science, pp. 75–90. Springer (2014)
Apptio. Bill of IT. https://www.apptio.com/products/bill-it. Accessed 22 May 2019
Binz, T., Breitenbücher, U., Kopp, O., Leymann, F.: TOSCA: portable automated deployment and management of cloud applications, pp. 527–549. Springer, New York (2014)
Brogi, A., Carrasco, J., Cubo, J., D'Andria, F., Di Nitto, E., Guerriero, M., Pérez, D., Pimentel, E., Soldani, J.: SeaClouds: an open reference architecture for multi-cloud governance. In: Tekinerdogan, B., Zdun, U., Babar, A. (eds.) Software architecture, volume of 9839 Lecture Notes in Computer Science, pp. 334–338. Springer (2016)
Brogi, A., Canciani, A., Soldani, J.: Fault-aware management protocols for multi-component applications. J Syst Softw 139, 189–210 (2018)
Brogi, A., Di Tommaso, A., Soldani, J.: Sommelier: a tool for validating TOSCA application topologies. In: Luís Ferreira, P., Hammoudi, S., Selic, B. (eds.) Model-driven engineering and software development, volume of 880 Communications in Computer and Information Science, pp. 1–22. Springer (2018)
Brogi, A., Forti, S.: QoS-aware deployment of IoT applications through the fog. IEEE Internet Things J 4(5), 1185–1192 (2017)
Brogi, A., Fazzolari, M., Ibrahim, A., Soldani, J., Carrasco, J., Cubo, J., Durán, F., Pimentel, E., Di Nitto, E., Andria, D., F, : Adaptive management of applications across multiple clouds: the seaclouds approach. CLEI Electron J 18(1), 1–14 (2015)
Brogi A, Forti S, Ibrahim A (2018) Deploying fog applications: How much does it cost, by the way? In: Víctor Méndez M, Ferguson D, Helfert M, Pahl C (eds) Proceedings of the 8th international conference on cloud computing and services science, CLOSER 2018. SciTePress, pp 68–77
Binz T, Fehling C, Leymann F, Nowak A, Schumm D (2012) Formalizing the cloud through enterprise topology graphs. In: 2012 IEEE 5th international conference on cloud computing. IEEE, pp 742–749
Brunnert, A., Krcmar, H.: Continuous performance evaluation and capacity planning using resource profiles for enterprise applications. J Syst Softw 123, 239–262 (2017)
Binz T, Leymann F, Nowak A, Schumm D (2012) Improving the manageability of enterprise topologies through segmentation, graph transformation, and analysis strategies. In: 2012 IEEE 16th international enterprise distributed object computing conference. IEEE, pp 61–70
Brogi, A., Rinaldi, L., Soldani, J.: Tosker: a synergy between TOSCA and Docker for orchestrating multicomponent applications. Softw Pract Exp 48(11), 2061–2079 (2018)
Brogi, A., Soldani, J., Wang, P.: TOSCA in a nutshell: Promises and perspectives. In: Villari, M., Zimmermann, W., Lau, K.-K. (eds.) Service-Oriented and cloud computing, volume of 8745 Lecture Notes in Computer Science, pp. 171–186. Springer (2014)
Bi, J., Yuan, H., Tie, M., Tan, W.: SLA-based optimisation of virtualised resource for multi-tier web applications in cloud data centres. Enterp Inf Syst 9(7), 743–767 (2015)
Changchit, C., Chuchuen, C.: Cloud computing: an examination of factors impacting users adoption. J Comput Inf Syst 58(1), 1–9 (2018)
Chen X, Chen H, Zheng Q, Wang W, Liu G (2011) Characterizing web application performance for maximizing service providers' profits in clouds. In: Proceedings of the 2011 international conference on cloud and service computing. IEEE, pp 191–198
App Centrica. The rise of microservices. https://www.appcentrica.com/the-rise-of-microservices. Accessed 22 May 2019
CUBEBilling. https://www.cubebilling.com. Accessed 22 May 2019
Dutta S, Gera S, Verma A, Viswanathan B (2012) Smartscale: automatic application scaling in enterprise clouds. In: Proceedings of the 2012 IEEE 5th international conference on cloud computing (CLOUD 12). IEEE, pp 221–228
Di Nitto, E., Matthews, P., Petcu, D., Solberg, A.: Model-driven development and operation of multi-cloud applications: the MODAClouds approach, 1st edn. Springer, PoliMI SpringerBriefs (2017)
Di Cosmo R, Mauro J, Zacchiroli S, Zavattaro G (2014) Aeolus. Inf Comput 239(C):100–121
FastConnect, Bull, and Atos. Alien4cloud.http://alien4cloud.github.io. Accessed 22 May 2019
Hoffmann J, Aehlig K, Hofmann M (2011) Multivariate amortized resource analysis. In: Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL '11. ACM, pp 357–370
HP. Cloud Cruiser.https://www.hpe.com/emea_europe/en/services/cloud-cost-management.html. Accessed 22 May 2019
Huang X, Wang W, Zhang W, Wei J, Huang T (2011) An adaptive performance modeling approach to performance profiling of multi-service web applications. In: Proceedings of the 2011 IEEE 35th annual computer software and applications conference. IEEE, pp 4–13
Jonkers H, Iacob M-E (2009) Performance and cost analysis of service-oriented enterprise architectures. In: Gunasekaran A (ed.) Global implications of modern enterprise information systems: technologies and applications, pp 49–73. (Information Science Reference)
Josyula V, Orr M, Page G (2011) Cloud computing: automating the virtualized data center, 1st edn. WebEx Communications
Juan-Verdejo A, Zschaler S, Surajbali B, Baars H, Kemper H-G (2014) InCLOUDer: a formalised decision support modelling approach to migrate applications to cloud environments. In: Proceedings of the 40th EUROMICRO conference on software engineering and advanced applications. IEEE, pp 467–474
Kim, N.S., Austin, T., Blaauw, D., Mudge, T., Flautner, K., Hu, J.S., Irwin, M.J., Kandemir, M., Narayanan, V.: Leakage current: Moore's law meets static power. Computer 36(12), 68–75 (2003)
Kopp O, Binz T, Breitenbücher U, Leymann F (2013) Winery: a modeling tool for TOSCA-based cloud applications. In: Proceedings of the 11th international conference on service-oriented computing, volume of 8274 Lecture Notes in Computer Science. Springer, pp 700–704
Krause, C., Maraikar, Z., Lazovik, A., Arbab, F.: Modeling dynamic reconfigurations in reo using high-level replacement systems. Sci Comput Program 76(1), 23–36 (2011)
Liew SH, Su Y-Y (2012) CloudGuide: helping users estimate cloud deployment cost and performance for legacy web applications. In: Proceedings of the 4th IEEE international conference on cloud computing technology and science proceedings. IEEE, pp 90–98
Lu, Y.: Industry 4.0: a survey on technologies, applications and open research issues. J Indus Inf Integr 6, 1–10 (2017)
Menzel, M., Ranjan, R., Wang, L., Khan, S.U., Chen, J.: CloudGenius: a hybrid decision support method for automating the migration of web application clusters to public clouds. IEEE Trans Comput 64(5), 1336–1348 (2015)
Newman, M.H.A.: On theories with a combinatorial definition of "equivalence". Ann Math 43(2), 223–243 (1942)
OASIS (2014) TOSCA Simple Profile in YAML
SmartBear. Why you can't talk about microservices without mentioning Netflix. Accessed 22 May 2019
Stewart C, Shen K (2005) Performance modeling and system management for multi-component online services. In: Proceedings of the 2nd conference on symposium on networked systems design & implementation, vol 2. USENIX Association, pp 71–84
Sharma U, Shenoy P, Sahu S, Shaikh A (2011) A cost-aware elasticity provisioning system for the cloud. In: Proceedings of the 31st international conference on distributed computing systems (ICDCS 11). IEEE, pp 559–570
Soldani, J., Tamburri, D.A., Van Den Heuvel, W.-J.: The pains and gains of microservices: a systematic grey literature review. J Syst Softw 146, 215–232 (2018)
Terese, : In: Bezem, M., Klop, J.W., de Vrijer, R. (eds.) Term rewriting systems. Cambridge University Press, Cambridge tracts in theoretical computer science (2003)
VMWare. vRealize Business for Cloud.https://www.vmware.com/it/products/vrealize-business-for-cloud.html. Accessed 22 May 2019
West, D.B.: Introduction to graph theory, 2nd edn. Prentice Hall (2001)
Weaveworks and Container Solutions. Sock Shop.https://microservices-demo.github.io. Accessed 22 May 2019
Acknowledgements
This work is partly funded by the project “AMaCA” funded by Regione Toscana under the framework POR-FSE 2014-2020, and by the project by “DECLware” (PRA 2018 66) funded by the University of Pisa.
Author information
Authors and Affiliations
Corresponding author
Additional information
Heike Wehrheim
Rights and permissions
About this article
Cite this article
Brogi, A., Corradini, A. & Soldani, J. Estimating costs of multi-component enterprise applications. Form Asp Comp 31, 421–451 (2019). https://doi.org/10.1007/s00165-019-00491-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-019-00491-2