Engineering Cloud-Based Applications: Towards an Application Lifecycle

Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 824)

Abstract

The adoption of cloud computing by organizations of all sizes and types in the recent years has created multiple opportunities and challenges for the development of software to be used in this environment. In this work-in-progress paper, the focus is on the latter part, providing a view on the main research challenges that are created for software engineering by cloud computing. These challenges stem from the inherent characteristics of the cloud computing paradigm, and require a multi-dimensional approach to address them. Towards this goal, a lifecycle for cloud-based applications is presented, as the foundation for further work in the area.

Keywords

Cloud computing Software engineering Cloud-based applications Software lifecycle 

References

  1. 1.
    Aceto, G., Botta, A., De Donato, W., Pescapè, A.: Cloud monitoring: a survey. Comput. Netw. 57(9), 2093–2115 (2013)CrossRefGoogle Scholar
  2. 2.
    Andrikopoulos, V., Binz, T., Leymann, F., Strauch, S.: How to adapt applications for the cloud environment. Computing 95(6), 493–535 (2013)CrossRefGoogle Scholar
  3. 3.
    Andrikopoulos, V., Bucchiarone, A., Di Nitto, E., Kazhamiakin, R., Lane, S., Mazza, V., Richardson, I.: Service engineering. In: Papazoglou, M.P., Pohl, K., Parkin, M., Metzger, A. (eds.) Service Research Challenges and Solutions for the Future Internet. LNCS, vol. 6500, pp. 271–337. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-17599-2_8CrossRefGoogle Scholar
  4. 4.
    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.) CAiSE 2014. LNCS, vol. 8484, pp. 75–90. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-07881-6_6Google Scholar
  5. 5.
    Ardagna, D., Di Nitto, E., Casale, G., Petcu, D., et al.: MODACLOUDS: a model-driven approach for the design and execution of applications on multiple clouds. In: Proceedings of the 4th International Workshop on Modeling in Software Engineering, MiSE 2012, pp. 50–56. IEEE Press, Piscataway (2012)Google Scholar
  6. 6.
    Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., et al.: Above the clouds: a Berkeley view of cloud computing. Technical report UCB/EECS-2009-28, EECS Department, University of California, Berkeley, February 2009. http://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.html
  7. 7.
    Baryannis, G., Garefalakis, P., Kritikos, K., Magoutis, K., et al.: Lifecycle management of service-based applications on multi-clouds: a research roadmap. In: Proceedings of the 2013 International Workshop on Multi-cloud Applications and Federated Clouds, pp. 13–20. ACM (2013)Google Scholar
  8. 8.
    Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, Old Tappan (2015)Google Scholar
  9. 9.
    Binnig, C., Kossmann, D., Kraska, T., Loesing, S.: How is the weather tomorrow?: towards a benchmark for the cloud. In: Proceedings of the Second International Workshop on Testing Database Systems, p. 9. ACM (2009)Google Scholar
  10. 10.
    Bouguettaya, A., Singh, M., Huhns, M., Sheng, Q.Z., et al.: A service computing manifesto: the next 10 years. Commun. ACM 60(4), 64–72 (2017)CrossRefGoogle Scholar
  11. 11.
    Cavage, M.: There’s just no getting around it: you’re building a distributed system. Queue 11(4), 30 (2013)Google Scholar
  12. 12.
    Erl, T.: SOA: Principles of Service Design. Prentice Hall Press, Upper Saddle River (2007)Google Scholar
  13. 13.
    Ferry, N., Solberg, A.: Models@ runtime for continuous design and deployment. In: Di Nitto, E., Matthews, P., Petcu, D., Solberg, A. (eds.) Model-Driven Development and Operation of Multi-Cloud Applications, pp. 81–94. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-46031-4_9CrossRefGoogle Scholar
  14. 14.
    Folkerts, E., Alexandrov, A., Sachs, K., Iosup, A., Markl, V., Tosun, C.: Benchmarking in the cloud: what it should, can, and cannot be. In: Nambiar, R., Poess, M. (eds.) TPCTC 2012. LNCS, vol. 7755, pp. 173–188. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-36727-4_12CrossRefGoogle Scholar
  15. 15.
    Heinrich, R., Schmieders, E., Jung, R., Rostami, K., et al.: Integrating run-time observations and design component models for cloud system analysis. In: Proceedings of the 9th Workshop on Models@run.time, vol. 1270, pp. 41–46. CEUR (2014)Google Scholar
  16. 16.
    Hüttermann, M.: Infrastructure as Code, pp. 135–156. Apress, Berkeley (2012)Google Scholar
  17. 17.
    Iosup, A., Yigitbasi, N., Epema, D.: On the performance variability of production cloud services. In: 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), pp. 104–113. IEEE (2011)Google Scholar
  18. 18.
    Jula, A., Sundararajan, E., Othman, Z.: Cloud computing service composition: a systematic literature review. Expert Syst. Appl. 41(8), 3809–3824 (2014)CrossRefGoogle Scholar
  19. 19.
    Kashef, M.M., Altmann, J.: A cost model for hybrid clouds. In: Vanmechelen, K., Altmann, J., Rana, O.F. (eds.) GECON 2011. LNCS, vol. 7150, pp. 46–60. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-28675-9_4CrossRefGoogle Scholar
  20. 20.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Kratzke, N., Quint, P.C.: Understanding cloud-native applications after 10 years of cloud computing-a systematic mapping study. J. Syst. Softw. 126, 1–16 (2017)CrossRefGoogle Scholar
  22. 22.
    Li, A., Yang, X., Kandula, S., Zhang, M.: CloudCmp: comparing public cloud providers. In: Proceedings of the 10th Annual Conference on Internet Measurement, IMC 2010, pp. 1–14. ACM, New York (2010). http://doi.acm.org/10.1145/1879141.1879143
  23. 23.
    Linthicum, D.S.: Moving to autonomous and self-migrating containers for cloud applications. IEEE Cloud Comput. 3(6), 6–9 (2016)CrossRefGoogle Scholar
  24. 24.
    Mell, P., Grance, T., et al.: The NIST definition of cloud computing. NIST Special Publication 800–145 (2011). http://dx.doi.org/10.6028/NIST.SP.800-145
  25. 25.
    Moldovan, D., Truong, H.L., Dustdar, S.: Cost-aware scalability of applications in public clouds. In: 2016 IEEE International Conference on Cloud Engineering (IC2E), pp. 79–88. IEEE (2016)Google Scholar
  26. 26.
    Munteanu, V.I., Fortis, T.F., Negru, V.: Service lifecycle in the cloud environment. In: 2012 14th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), pp. 457–464. IEEE (2012)Google Scholar
  27. 27.
    Newman, S.: Building microservices. O’Reilly Media, Inc., Sebastopol (2015)Google Scholar
  28. 28.
    Nguyen, D.K., Lelli, F., Papazoglou, M.P., Van Den Heuvel, W.J.: Blueprinting approach in support of cloud computing. Future Internet 4(1), 322–346 (2012)CrossRefGoogle Scholar
  29. 29.
    Pahl, C., Jamshidi, P.: Software architecture for the cloud – a roadmap towards control-theoretic, model-based cloud architecture. In: Weyns, D., Mirandola, R., Crnkovic, I. (eds.) ECSA 2015. LNCS, vol. 9278, pp. 212–220. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-23727-5_17CrossRefGoogle Scholar
  30. 30.
    Papazoglou, M.P., Traverso, P., Dustdar, S., Leymann, F.: Service-oriented computing: state of the art and research challenges. Computer 40(11), 38–45 (2007)CrossRefGoogle Scholar
  31. 31.
    RightScale: RightScale 2017 State of the Cloud Report (2017). https://www.rightscale.com/lp/state-of-the-cloud
  32. 32.
    Schad, J., Dittrich, J., Quiané-Ruiz, J.A.: Runtime measurements in the cloud: observing, analyzing, and reducing variance. Proc. VLDB Endow. 3(1–2), 460–471 (2010)CrossRefGoogle Scholar
  33. 33.
    van Steen, M., Tanenbaum, A.S.: A brief introduction to distributed systems. Computing 98(10), 967–1009 (2016)MathSciNetCrossRefMATHGoogle Scholar
  34. 34.
    Sun, L., Dong, H., Hussain, F.K., Hussain, O.K., Chang, E.: Cloud service selection: state-of-the-art and future research directions. J. Netw. Comput. Appl. 45, 134–150 (2014)CrossRefGoogle Scholar
  35. 35.
    Tang, K., Zhang, J.M., Feng, C.H.: Application centric lifecycle framework in cloud. In: 2011 IEEE 8th International Conference on e-Business Engineering (ICEBE), pp. 329–334. IEEE (2011)Google Scholar
  36. 36.
    Tran, H.T., Feuerlicht, G.: Service repository for cloud service consumer life cycle management. In: Dustdar, S., Leymann, F., Villari, M. (eds.) ESOCC 2015. LNCS, vol. 9306, pp. 171–180. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-24072-5_12CrossRefGoogle Scholar
  37. 37.
    Walker, E.: The real cost of a CPU hour. Computer 42(4), 35–41 (2009)CrossRefGoogle Scholar
  38. 38.
    Weinman, J.: Cloudonomics: a rigorous approach to cloud benefit quantification. J. Softw. Technol. 14(4), 10–18 (2011)Google Scholar
  39. 39.
    Zhang, Q., Cheng, L., Boutaba, R.: Cloud computing: state-of-the-art and research challenges. J. Internet Serv. Appl. 1(1), 7–18 (2010)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Johann Bernoulli Institute for Mathematics and Computer ScienceUniversity of GroningenGroningenThe Netherlands

Personalised recommendations