Skip to main content
Log in

How to adapt applications for the Cloud environment

Challenges and solutions in migrating applications to the Cloud

  • Published:
Computing Aims and scope Submit manuscript

Abstract

The migration of existing applications to the Cloud requires adapting them to a new computing paradigm. Existing works have focused on migrating the whole application stack by means of virtualization and deployment on the Cloud, delegating the required adaptation effort to the level of resource management. With the proliferation of Cloud services allowing for more flexibility and better control over the application migration, the migration of individual application layers, or even individual architectural components to the Cloud, becomes possible. Towards this goal, in this work we focus on the challenges and solutions for each layer when migrating different parts of the application to the Cloud. We categorize different migration types and identify the potential impact and adaptation needs for each of these types on the application layers based on an exhaustive survey of the State of the Art. We also investigate various cross-cutting concerns that need to be considered for the migration of the application, and position them with respect to the identified migration types. Finally, we present some of the open research issues in the field and position our future work targeting these research questions.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Notes

  1. See for example: http://www.xen.org, http://www.vmware.com/products/ and http://www.flexiant.com/.

  2. Amazon Web Services: http://aws.amazon.com/.

  3. Apache Deltacloud: http://deltacloud.apache.org.

  4. jclouds: http://www.jclouds.org.

  5. Apache Libcloud: http://libcloud.apache.org.

  6. The Data Liberation Front: http://www.dataliberation.org.

  7. http://code.google.com/p/scrawler/.

  8. http://aws.amazon.com/vpc/.

  9. The Transaction Processing Performance Council http://www.tpc.org/.

  10. http://www.windowsazure.com/en-us/pricing/purchase-options/.

  11. http://aws.amazon.com/directconnect/.

References

  1. Adler B (2011) Building scalable applications in the Cloud: reference architecture and best practices. RightScale Inc. http://www.rightscale.com/info_center/white-papers/building-scalable-applications-in-the-cloud.php

  2. Alexander C et al (1977) A pattern language: towns, buildings, construction. Oxford University Press, Oxford

    Google Scholar 

  3. Alexandrov A, Folkerts E, Sachs K, Iosup A, Markl V, Tosun C (2012) Benchmarking in the Cloud: what it should, can, and cannot be. In: 4th TPC Technology Conference on Performance Evaluation and Benchmarking (TPCTC), VLDB 2012

  4. Amazon Web Services (2012) How AWS pricing works. http://aws.amazon.com/whitepapers/

  5. Amazon.com, Inc. AWS case study: Alexa. http://aws.amazon.com/solutions/case-studies/alexa/

  6. Anand S (2010) Netflix’s transition to high-availability storage systems. https://sites.google.com/site/practicalcloudcomputing/index/Netflix%E2%80%99sTransitiontoaKey_v3.1.pdf?attredirects=0&d=1

  7. Anstett T, Leymann F, Mietzner R, Strauch S (2009) Towards BPEL in the Cloud: exploiting different delivery models for the execution of business processes. In: Proceedings of the international workshop on Cloud services (IWCS 2009) in conjunction with the 7th IEEE international conference on Web aervices (ICWS 2009), pp. 670–677. http://dx.doi.org/10.1109/SERVICES-I.2009.32

  8. Armbrust M et al (2009) Above the Clouds: a Berkeley view of Cloud computing. Technical Report, UCB/EECS-2009-28, EECS Department, University of California, Berkeley

  9. Arnold W, Eilam T, Kalantar M, Konstantinou AV, Totok AA (2007) Pattern based SOA deployment. In: Proceedings of the \(5^{\rm th}\) international onference on service-oriented computing. http://dx.doi.org/10.1007/978-3-540-74974-5_1

  10. Badger L, Grance T, Patt-Corner R, Voas J (2012) Cloud computing synopsis and recommendations. Recommendations of the National Institute of Standards and Technology. NIST Special, Publication, pp. 800–146

  11. Binz T, Breiter G, Leymann F, Spatzier T (2012) Portable cloud services using TOSCA. IEEE Internet Comput 16(03):80–85. http://doi.ieeecomputersociety.org/10.1109/MIC.2012.43

    Google Scholar 

  12. Binz T, Fehling C, Leymann F, Nowak A, Schumm D (2012) Formalizing the Cloud through enterprise topology graphs. In: Proceedings of 2012 IEEE international conference on Cloud computing. IEEE Computer Society Conference Publishing Services

  13. Binz T, Leymann F, Nowak A, Schumm D (2012) Improving the manageability of enterprise topologies through segmentation, graph transformation, and analysis strategies. In: Proceedings of 2012 enterprise distributed object computing conference (EDOC). IEEE Computer Society Conference Publishing Services

  14. Binz T, Leymann F, Schumm D (2011) CMotion: a framework for migration of applications into and between Clouds. In: Proceedings of the 2011 IEEE international conference on service-oriented computing and applications (SOCA). IEEE Computer Society Conference Publishing Services. http://dx.doi.org/10.1109/SOCA.2011.6166250

  15. Brandic I (2009) Towards self-manageable Cloud services. In: Computer software and applications conference, 2009. COMPSAC ’09. 33rd Annual IEEE International, vol 2, pp 128–133. http://dx.doi.org/10.1109/COMPSAC.2009.126

  16. Brebner P (2012) Is your cloud elastic enough?: performance modelling the elasticity of infrastructure as a service (IaaS) cloud applications. In: Third joint WOSP/SIPEW international conference on performance engineering, ICPE’12. ACM, pp 263–266

  17. Brebner P, Liu A (2010) Performance and cost assessment of cloud services. In: Michael EM, Rossi G, Yuan S, Ludwig H, Fantinato M (eds). Proceedings of the 2010 international conference on Service-oriented computing (ICSOC’10), Springer-Verlag, Berlin, Heidelberg, pp 39-50. http://dl.acm.org/citation.cfm?id=1987684.1987690

  18. Buckl S, Ernst A, Lankes J, Matthes F, Schweda C (2009) State of the art in enterprise architecture management. Techical report, Technische Universitt Mnchen, Chair for Informatics 19 (sebis)

  19. Buretta M (1997) Data replication: tools and techniques for managing distributed information. Wiley, London

    Google Scholar 

  20. Caracas A, Kind A, Gantenbein D, Fussenegger S, Dechouniotis D (2008) Mining semantic relations using netflow. In: BDIM’08, pp 110–111

  21. Cate F (1994) The EU data protection directive, information privacy, and the public interest. Iowa L. Rev. 80:431

    Google Scholar 

  22. Chandrasekaran S, Miller JA, Silver GA, Arpinar IB, Sheth AP (2003) Performance analysis and simulation of composite web services. Electronic Markets 13(2):120–132

    Article  Google Scholar 

  23. Curino C, Jones E, Popa R, Malviya N, Wu E, Madden S, Balakrishnan H, Zeldovich N et al. (2011) Relational cloud: a database service for the cloud. In: 5th biennial conference on innovative data systems research. Asilomar, CA

  24. Decker G, Kopp O, Barros A (2008) An introduction to service choreographies. Inform Technol 50(2):122–127. http://dx.doi.org/10.1524/itit.2008.0473

    Google Scholar 

  25. Durkee D (2010) Why Cloud computing will never be free. Queue 8(4), 20:20–20:29. http://doi.acm.org/10.1145/1755884.1772130

    Google Scholar 

  26. Fowler M et al (2002) Patterns of enterprise application architecture. Addison-Wesley Professional, Reading

    Google Scholar 

  27. Gentry C (2009) Fully homomorphic encryption using ideal lattices. In: Proceedings of the 41st annual ACM symposium on Theory of computing. ACM, pp 169–178

  28. Gray J (2008) Distributed computing economics. Queue 6(3):63–68. http://doi.acm.org/10.1145/1394127.1394131

    Google Scholar 

  29. Guo C, Sun W, Huang Y, Wang Z, Gao B (2007) A framework for native multi-tenancy application development and management. In: Proceedings of the 9th IEEE international conference on E-commerce technology and the 4th IEEE international conference on enterprise computing, E-Commerce, and E-Services (CEC/EEE’07). IEEE

  30. Hajjat M, Sun X, Sung Y, Maltz D, Rao S, Sripanidkulchai K, Tawarmalani M (2010) Cloudward bound: planning for beneficial migration of enterprise applications to the cloud. In: ACM SIGCOMM Computer Communication Review, vol 40. ACM, pp 243–254

  31. Höfer C, Karagiannis G (2011) Cloud computing services: taxonomy and comparison. J Internet Serv Appl 2(2):81–94. http://dx.doi.org/10.1007/s13174-011-0027-x

    Google Scholar 

  32. Hohpe G, Woolf B (2003) Enterprise integration patterns: designing, building, and deploying messaging solutions. Addison-Wesley, Reading

    Google Scholar 

  33. Iosup A, Yigitbasi N, Epema D (2011) On the performance variability of production cloud services. In: 11th IEEE/ACM international symposium on Cluster, cloud and grid computing (CCGrid). IEEE, pp 104–113

  34. Mendel Jean-Pierre Garbani Thomas, ER, (2010) The Writing on IT’s Complexity Wall. Technical report Forrester Research, Inc

  35. Joukov N, Pfitzmann B, Ramasamy HV, Devarakonda MV (2010) Application-storage discovery. In: Proceedings of the 3rd annual Haifa experimental systems conference, SYSTOR ’10, pp 19:1–19:14. ACM, New York, NY, USA. http://doi.acm.org/10.1145/1815695.1815720

  36. Joukov N, Tarasov V, Ossher J, Pfitzmann B, Chicherin S, Pistoia M, Tateishi T (2011) Static discovery and remediation of code-embedded resource dependencies. In: 2011 IFIP/IEEE international symposium on integrated network management (IM), pp 233–240. http://dx.doi.org/10.1109/INM.2011.5990696

  37. Karastoyanova D, Leymann F (2009) Making scientific applications on the grid reliable through flexibility approaches borrowed from service compositions, handbook of research on P2P and grid systems for service-Oriented computing: models, methodologies and applications. Information Science Publishing, UK

    Google Scholar 

  38. Kephart J, Chess D (2003) The vision of autonomic computing. Computer 36(1):41–50. http://dx.doi.org/10.1109/MC.2003.1160055

    Google Scholar 

  39. Khajeh-Hosseini A, Greenwood D, Smith JW, Sommerville I (2012) The cloud adoption toolkit: supporting cloud adoption decisions in the enterprise. Software: Practice and Experience 42(4):447–465

    Article  Google Scholar 

  40. Khajeh-Hosseini A, Sommerville I, Bogaerts J, Teregowda P (2011) Decision support tools for cloud migration in the enterprise. In: 2011 IEEE international conference on cloud computing (CLOUD). IEEE, pp 541–548

  41. Khalaf R, Leymann F (2006) Role-based decomposition of business processes using BPEL. In: International conference on web services (ICWS 2006). IEEE Computer Society, pp 770–780. http://dx.doi.org/10.1109/ICWS.2006.56

  42. Klems M, Nimis J, Tai S (2009) Do clouds compute? a framework for estimating the value of cloud computing. Designing E-Business Systems. Markets, Services and Networks, pp 110–123

  43. Kopp O, Khalaf R, Leymann F (2008) Deriving explicit data links in WS-BPEL processes. In: Proceedings of the international conference on services computing, SCC 2008. IEEE Computer Society Press, Honolulu, Hawaii, USA, pp 367–376. http://dx.doi.org/10.1109/SCC.2008.122

  44. Kossmann D, Kraska T (2010) Data management in the cloud: promises, state-of-the-art, and open questions. Datenbank Spektrum 10(3):121–129

    Article  Google Scholar 

  45. Krebs R, Momm C, Konev S (2012) Architectural concerns in multi-tenant SaaS applications. In: Proceedings of the 2nd international conference on cloud computing and service science (CLOSER’12). SciTePress

  46. Krebs R, Momm C, Kounev S (2012) Metrics and techniques for quantifying performance isolation in Cloud environments. In: Buhnova B, Vallecillo A (eds) Proceedings of the 8th international ACM SIGSOFT conference on the quality of software architectures, CBSE’12. ACM Press, New York, USA, pp 91–100

  47. Laszewski T, Nauduri P (2011) Migrating to the Cloud: Oracle Client/Server Modernization. Syngress

  48. Leitner P, Wetzstein B, Karastoyanova D, Hummer W, Dustdar S, Leymann F (2010) Preventing SLA violations in service compositions using aspect-based fragment substitution. In Maglio PP, Weske M, Yang J, Fantinato M (eds) Service-Oriented Computing. Springer, Berlin, Heidelberg 365–380. http://dx.doi.org/10.1007/978-3-642-17358-5_25

  49. Li A, Yang X, Kandula S, Zhang M (2010) CloudCmp: comparing public cloud providers. In: Proceedings of the 10th annual conference on internet measurement, IMC ’10. ACM, New York, NY, USA, pp 1–14. http://doi.acm.org/10.1145/1879141.1879143

  50. Lloyd W, Pallickara S, David O, Lyon J, Arabi M, Rojas K (2011) Migration of multi-tier applications to infrastructure-as-a-service Clouds: an investigation using Kernel-based virtual machines. In: Proceedings of the 12th IEEE/ACM international conference on grid computing (GRID 2011). IEEE, pp 137–144

  51. Louridas P (2010) Up in the air: moving your applications to the Cloud. Software IEEE 27(4):6–11

    Article  Google Scholar 

  52. Machiraju V, Dekhil M, Wurster K, Garg P, Griss M, Holland J (2000) Towards generic application auto-discovery. In: IEEE/IFIP network operations and management symposium. http://dx.doi.org/10.1109/NOMS.2000.830376

  53. Martin D, Wutke D, Leymann F (2008) A novel approach to decentralized workflow enactment. In: Proceedings of the 12th international IEEE enterprise distributed object computing conference (EDOC 2008). Munich, Germany, September 15–19, 2008. IEEE Computer Society, pp 127–136

  54. Mell P, Grance T (2009) Cloud computing definition. National Institute of Standards and Technology (NIST), Gaithersburg

    Google Scholar 

  55. Menzel M, Ranjan R (2012) CloudGenius: decision support for web server cloud migration. In: Proceedings of the 21st international conference on World Wide Web, WWW ’12. ACM, New York, NY, USA, pp 979–988. http://doi.acm.org/10.1145/2187836.2187967

  56. Mietzner R, Fehling C, Karastoyanova D, Leymann F (2011) Combining horizontal and vertical composition of services. In: Service-oriented computing and applications (SOCA), 2010 IEEE International Conference on. IEEE, pp 1–8

  57. Mietzner R, Unger T, Leymann F (2009) Cafe: a generic configurable customizable composite cloud application framework. In: Meersman R, Dillon T, Herrero P (eds) CoopIS 2009 (OTM 2009), Lecture notes in computer science, vol 5870, Springer-Verlag, Berlin, Heidelberg, pp 357–364

  58. Mietzner R, et al. (2009) Combining different multi-tenancy patterns in service-oriented applications. EDOC’09. IEEE

  59. Motahari-Nezhad HR, Stephenson B, Singha S (2009) Outsourcing business to cloud computing services: opportunities and challenges. IEEE IT Professional, Special Issue on cloud computing 11

  60. Nguyen DK, Taher Y, Papazoglou MP, van den Heuvel WJ (2012) Service-based application development on the cloud—state of the art and shortcomings analysis. In: Proceedings of the 2nd international conference on cloud computing and service science (CLOSER’12). SciTePress

  61. Nowak A, Binz T, Fehling C, Kopp O, Leymann F, Wagner S (2012) Pattern-driven green adaptation of process-based applications and their runtime infrastructure. Computing, pp 1–25. http://dx.doi.org/10.1007/s00607-012-0188-x

  62. OASIS (2007) Web services business process execution language Version 2.0 - OASIS Standard

  63. OASIS (2012) Topology and orchestration specification for cloud applications Version 1.0 Working Draft 06. http://www.tosca-open.org

  64. Object Management Group (OMG) (2011) Business process model and notation (BPMN) version 2.0. http://www.omg.org/spec/BPMN/2.0/. OMG Document Number: formal/2011-01-03

  65. OMG (2011) Unified modeling language (UML). http://www.omg.org/spec/UML

  66. OpenCrowd: Cloud computing vendors taxonomy. http://cloudtaxonomy.opencrowd.com/

  67. Papazoglou MP, Traverso P, Dustdar S, Leymann F (2007) Service-oriented omputing: state of the art and research challenges. Computer 40:38–45. http://doi.ieeecomputersociety.org/10.1109/MC.2007.400

    Google Scholar 

  68. Patel P, Ranabahu A, Sheth A (2009) Service level agreement in cloud computing. In: Cloud Workshops at OOPSLA

  69. Pritchett D (2008) BASE: an ACID alternative. Queue 6(3):48–55

    Article  Google Scholar 

  70. Reese G (2009) Cloud application architectures. O’Reilly Media, Inc., Sebastopol

  71. Ristenpart T, Tromer E, Shacham H, Savage S (2009) Hey, you, get off of my Cloud: exploring information leakage in third-party compute Clouds. In: Proceedings of the 16th ACM Conference on Computer and Communications Security (CCS), pp 199–212

  72. Schad J, Dittrich J, Quiané-Ruiz J (2010) Runtime measurements in the Cloud: observing, analyzing, and reducing variance. Proc VLDB Endo 3(1–2):460–471

    Google Scholar 

  73. Schuler C, Weber R, Schuldt H, Schek HJ (2003) PeertoPeer Process execution with osiris. In: Orlowska M, Weerawarana S, Papazoglou M, Yang J (eds). Service-oriented computing, ICSOC 2003, Lecture notes in computer science, vol 2910. Springer Berlin/Heidelberg, pp.483–498

  74. Sonntag M, Karastoyanova D (2012) Ad hoc iteration and re-execution of activities in workflows. Int J Adv Softw 5(1 and 2):91–109

    Google Scholar 

  75. SPEC open systems group, cloud computing working group (2012) Report on Cloud computing to the OSG steering committee. http://www.spec.org/osgcloud/docs/osgcloudwgreport20120410.pdf

  76. Edlich S (2011) List of NoSQL databases. http://nosql-database.org

  77. Strauch C (2011) NoSQL databases. http://www.christof-strauch.de/nosqldbs.pdf

  78. Strauch S, Andrikopoulos V, Breitenbücher U, Kopp O, Leymann F (2012) Non-functional data layer patterns for Cloud applications. In: Proceedings of the 4th IEEE international conference on Cloud computing technology and science (CloudCom’12). IEEE Computer Society Press

  79. Strauch S, Andrikopoulos V, Gómez Sáez S, Leymann F, Muhler D (2012) Enabling tenant-aware administration and management for JBI environments. In: Proceedings of the 5th international conference on service-oriented computing and applications (SOCA’12). IEEE Computer Society Conference Publishing Services

  80. Strauch S, Breitenbücher U, Kopp O, Leymann F, Unger T (2012) Cloud data patterns for confidentiality. In: Proceedings of the 2nd international conference on Cloud computing and service science (CLOSER’12). SciTePress

  81. Strauch S, Kopp O, Leymann F, Unger T (2011) A taxonomy for Cloud data hosting solutions. In: Proceedings of the international conference on Cloud and green computing (CGC ’11). IEEE Computer Society. http://dx.doi.org/10.1109/DASC.2011.106

  82. Subashini S, Kavitha V (2011) A survey on security issues in service delivery models of cloud computing. J Netw Comput Appl 34(1):1–11

    Article  Google Scholar 

  83. Suleiman B, Sakr S, Jeffery R, Liu A (2011) On understanding the economics and elasticity challenges of deploying business applications on public cloud infrastructure. J Internet Serv Appl 1:1–21

    Google Scholar 

  84. Sun Microsystems (2007) JSR 154: Java Servlet specification, Version 2.5. http://jcp.org/en/jsr/detail?id=154

  85. System Virtualization, Partitioning and Clustering Working Group (2009) Open virtualization format specification (DSP0243), Distributed Management Task Force

  86. Tak B, Urgaonkar B, Sivasubramaniam A (2011) To move or not to move: the economics of Cloud computing. In: Third USENIX Workshop on Hot Topics in Cloud Computing (HOTCLOUD 2011)

  87. Hoff T (2011) 35+ use cases for choosing your next NoSQL database. http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html

  88. US Congress (2001) Uniting and strengthening America by providing appropriate tools required to intercept and obstruct terrorism (USA PATRIOT Act) Act of 2001. Enrolled Bill (Final as Passed Both House and Senate)—ENR. http://thomas.loc.gov/cgi-bin/t2GPO/; http://www.gpo.gov/fdsys/pkg/BILLS-107hr3162enr/pdf/BILLS-107hr3162enr.pdf

  89. Vaquero L, Rodero-Merino L, Buyya R (2011) Dynamically scaling applications in the Cloud. ACM SIGCOMM Comput Commun Rev 41(1):45–52

    Article  Google Scholar 

  90. Vogels W (2009) Eventually consistent. Commun ACM 52(1):40–44. http://portal.acm.org/citation.cfm?id=1435432

    Google Scholar 

  91. Wagner S, Kopp O, Leymann F (2011) Towards choreography-based process distribution in the Cloud. In: Proceedings of the 2011 IEEE international conference on Cloud computing and intelligence systems. IEEE Xplore, Bejing, China, pp 490–494. http://dx.doi.org/10.1109/CCIS.2011.6045116

  92. Walker E (2009) The real cost of a CPU hour. Computer 42(4):35–41

    Article  Google Scholar 

  93. Walraven S, et al (2011) A middleware layer for flexible and cost-efficient multi-tenant applications. Middleware’11

  94. Wetzstein B, Leitner P, Rosenberg F, Brandic I, Dustdar S, Leymann F (2009) Monitoring and analyzing influential factors of business process performance. In: Proceedings of the IEEE international enterprise distributed object computing conference (EDOC ’09), pp 141–150. http://dx.doi.org/10.1109/EDOC.2009.18

  95. Winter K, Buckl S, Matthes F, Schweda CM (2010) Investigating the state-of-the-art in enterprise architecture management methods in literature and practice. In: MCIS, p 90

  96. Winter R, Fischer R (2006) Essential layers, artifacts, and dependencies of enterprise architecture. In: Proceedings of the 10th IEEE on international enterprise distributed object computing conference workshops, EDOCW ’06, pp. 30-. IEEE Computer Society, Washington, DC, USA. http://dx.doi.org/10.1109/EDOCW.2006.33

  97. Zawodny J, Balling D (2004) High performance MySQL: optimization, backups, replication, load-balancing, and more. O’Reilly & Associates, Inc., Sebastopol

    Google Scholar 

Download references

Acknowledgments

The research leading to these results has received funding from the 4CaaSt project (http://www.4caast.eu) part of the European Union’s Seventh Framework Programme (FP7/2007-2013) under grant agreement no. 258862 and BMWi project CloudCycle (01MD11023). The company, product, and service logos used for identification purposes only. All trademarks and registered trademarks are the property of their respective owners. The authors would like to thank the reviewers for their insightful comments that contributed towards improving the quality of this work, and Dimka Karastoyanova for her invaluable help and feedback.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vasilios Andrikopoulos.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Andrikopoulos, V., Binz, T., Leymann, F. et al. How to adapt applications for the Cloud environment. Computing 95, 493–535 (2013). https://doi.org/10.1007/s00607-012-0248-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-012-0248-2

Keywords

Mathematics Subject Classification

Navigation