Skip to main content
Log in

Estimating costs of multi-component enterprise applications

  • Original Article
  • Published:
Formal Aspects of Computing

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

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

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

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

  4. Apptio. Bill of IT. https://www.apptio.com/products/bill-it. Accessed 22 May 2019

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

    Google Scholar 

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

  7. Brogi, A., Canciani, A., Soldani, J.: Fault-aware management protocols for multi-component applications. J Syst Softw 139, 189–210 (2018)

    Article  Google Scholar 

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

  9. Brogi, A., Forti, S.: QoS-aware deployment of IoT applications through the fog. IEEE Internet Things J 4(5), 1185–1192 (2017)

    Article  Google Scholar 

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

    Google Scholar 

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

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

  13. Brunnert, A., Krcmar, H.: Continuous performance evaluation and capacity planning using resource profiles for enterprise applications. J Syst Softw 123, 239–262 (2017)

    Article  Google Scholar 

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

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

    Google Scholar 

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

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

    Article  Google Scholar 

  18. Changchit, C., Chuchuen, C.: Cloud computing: an examination of factors impacting users adoption. J Comput Inf Syst 58(1), 1–9 (2018)

    Google Scholar 

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

  20. App Centrica. The rise of microservices. https://www.appcentrica.com/the-rise-of-microservices. Accessed 22 May 2019

  21. CUBEBilling. https://www.cubebilling.com. Accessed 22 May 2019

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

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

    Book  Google Scholar 

  24. Di Cosmo R, Mauro J, Zacchiroli S, Zavattaro G (2014) Aeolus. Inf Comput 239(C):100–121

  25. FastConnect, Bull, and Atos. Alien4cloud.http://alien4cloud.github.io. Accessed 22 May 2019

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

  27. HP. Cloud Cruiser.https://www.hpe.com/emea_europe/en/services/cloud-cost-management.html. Accessed 22 May 2019

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

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

  30. Josyula V, Orr M, Page G (2011) Cloud computing: automating the virtualized data center, 1st edn. WebEx Communications

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

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

    Article  Google Scholar 

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

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

    Article  MATH  Google Scholar 

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

  36. Lu, Y.: Industry 4.0: a survey on technologies, applications and open research issues. J Indus Inf Integr 6, 1–10 (2017)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  38. Newman, M.H.A.: On theories with a combinatorial definition of "equivalence". Ann Math 43(2), 223–243 (1942)

    Article  MathSciNet  MATH  Google Scholar 

  39. OASIS (2014) TOSCA Simple Profile in YAML

  40. SmartBear. Why you can't talk about microservices without mentioning Netflix. Accessed 22 May 2019

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

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

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

    Article  Google Scholar 

  44. Terese, : In: Bezem, M., Klop, J.W., de Vrijer, R. (eds.) Term rewriting systems. Cambridge University Press, Cambridge tracts in theoretical computer science (2003)

    Google Scholar 

  45. VMWare. vRealize Business for Cloud.https://www.vmware.com/it/products/vrealize-business-for-cloud.html. Accessed 22 May 2019

  46. West, D.B.: Introduction to graph theory, 2nd edn. Prentice Hall (2001)

  47. Weaveworks and Container Solutions. Sock Shop.https://microservices-demo.github.io. Accessed 22 May 2019

Download references

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

Authors

Corresponding author

Correspondence to Jacopo Soldani.

Additional information

Heike Wehrheim

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-019-00491-2

Keywords

Navigation