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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Thoughtworks Tech Radar, May 2015: https://assets.thoughtworks.com/assets/technology-radar-may-2015-en.pdf.
- 2.
Jenkinks: https://jenkins.io/.
- 3.
Chef: https://www.chef.io/.
- 4.
Ansible: https://www.ansible.com/.
- 5.
Docker: https://www.docker.com/.
- 6.
For example: Microservices, by James Lewis and Martin Fowler (March 2014): https://martinfowler.com/articles/microservices.html.
- 7.
- 8.
- 9.
Netflix Global Cloud Architecture: https://www.slideshare.net/adrianco/netflix-global-cloud, slide 26.
- 10.
Amazon Relational Database Service: https://aws.amazon.com/rds/.
- 11.
JBoss: http://www.jboss.org/.
- 12.
Amazon EC2: https://aws.amazon.com/ec2/.
References
Aceto, G., Botta, A., De Donato, W., Pescapè, A.: Cloud monitoring: a survey. Comput. Netw. 57(9), 2093–2115 (2013)
Andrikopoulos, V., Binz, T., Leymann, F., Strauch, S.: How to adapt applications for the cloud environment. Computing 95(6), 493–535 (2013)
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_8
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_6
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)
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
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)
Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, Old Tappan (2015)
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)
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)
Cavage, M.: There’s just no getting around it: you’re building a distributed system. Queue 11(4), 30 (2013)
Erl, T.: SOA: Principles of Service Design. Prentice Hall Press, Upper Saddle River (2007)
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_9
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_12
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)
Hüttermann, M.: Infrastructure as Code, pp. 135–156. Apress, Berkeley (2012)
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)
Jula, A., Sundararajan, E., Othman, Z.: Cloud computing service composition: a systematic literature review. Expert Syst. Appl. 41(8), 3809–3824 (2014)
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_4
Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)
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)
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
Linthicum, D.S.: Moving to autonomous and self-migrating containers for cloud applications. IEEE Cloud Comput. 3(6), 6–9 (2016)
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
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)
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)
Newman, S.: Building microservices. O’Reilly Media, Inc., Sebastopol (2015)
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)
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_17
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)
RightScale: RightScale 2017 State of the Cloud Report (2017). https://www.rightscale.com/lp/state-of-the-cloud
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)
van Steen, M., Tanenbaum, A.S.: A brief introduction to distributed systems. Computing 98(10), 967–1009 (2016)
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)
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)
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_12
Walker, E.: The real cost of a CPU hour. Computer 42(4), 35–41 (2009)
Weinman, J.: Cloudonomics: a rigorous approach to cloud benefit quantification. J. Softw. Technol. 14(4), 10–18 (2011)
Zhang, Q., Cheng, L., Boutaba, R.: Cloud computing: state-of-the-art and research challenges. J. Internet Serv. Appl. 1(1), 7–18 (2010)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Andrikopoulos, V. (2018). Engineering Cloud-Based Applications: Towards an Application Lifecycle. In: Mann, Z., Stolz, V. (eds) Advances in Service-Oriented and Cloud Computing. ESOCC 2017. Communications in Computer and Information Science, vol 824. Springer, Cham. https://doi.org/10.1007/978-3-319-79090-9_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-79090-9_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-79089-3
Online ISBN: 978-3-319-79090-9
eBook Packages: Computer ScienceComputer Science (R0)