Advertisement

Computing

, Volume 95, Issue 6, pp 493–535 | Cite as

How to adapt applications for the Cloud environment

Challenges and solutions in migrating applications to the Cloud
  • Vasilios AndrikopoulosEmail author
  • Tobias Binz
  • Frank Leymann
  • Steve Strauch
Article

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.

Keywords

Cloud migration Application adaptation Cloud-enabled applications Data Layer Business Layer Migration types 

Mathematics Subject Classification

68M01 68P99 

Notes

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.

References

  1. 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. 2.
    Alexander C et al (1977) A pattern language: towns, buildings, construction. Oxford University Press, OxfordGoogle Scholar
  3. 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 2012Google Scholar
  4. 4.
    Amazon Web Services (2012) How AWS pricing works. http://aws.amazon.com/whitepapers/
  5. 5.
    Amazon.com, Inc. AWS case study: Alexa. http://aws.amazon.com/solutions/case-studies/alexa/
  6. 6.
  7. 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. 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, BerkeleyGoogle Scholar
  9. 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. 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–146Google Scholar
  11. 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. 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 ServicesGoogle Scholar
  13. 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 ServicesGoogle Scholar
  14. 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. 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. 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–266Google Scholar
  17. 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. 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)Google Scholar
  19. 19.
    Buretta M (1997) Data replication: tools and techniques for managing distributed information. Wiley, LondonGoogle Scholar
  20. 20.
    Caracas A, Kind A, Gantenbein D, Fussenegger S, Dechouniotis D (2008) Mining semantic relations using netflow. In: BDIM’08, pp 110–111Google Scholar
  21. 21.
    Cate F (1994) The EU data protection directive, information privacy, and the public interest. Iowa L. Rev. 80:431Google Scholar
  22. 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–132CrossRefGoogle Scholar
  23. 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, CAGoogle Scholar
  24. 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. 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. 26.
    Fowler M et al (2002) Patterns of enterprise application architecture. Addison-Wesley Professional, ReadingGoogle Scholar
  27. 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–178Google Scholar
  28. 28.
    Gray J (2008) Distributed computing economics. Queue 6(3):63–68. http://doi.acm.org/10.1145/1394127.1394131 Google Scholar
  29. 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). IEEEGoogle Scholar
  30. 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–254Google Scholar
  31. 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. 32.
    Hohpe G, Woolf B (2003) Enterprise integration patterns: designing, building, and deploying messaging solutions. Addison-Wesley, ReadingGoogle Scholar
  33. 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–113Google Scholar
  34. 34.
    Mendel Jean-Pierre Garbani Thomas, ER, (2010) The Writing on IT’s Complexity Wall. Technical report Forrester Research, IncGoogle Scholar
  35. 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. 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. 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, UKGoogle Scholar
  38. 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. 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–465CrossRefGoogle Scholar
  40. 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–548Google Scholar
  41. 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. 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–123Google Scholar
  43. 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. 44.
    Kossmann D, Kraska T (2010) Data management in the cloud: promises, state-of-the-art, and open questions. Datenbank Spektrum 10(3):121–129CrossRefGoogle Scholar
  45. 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 Google Scholar
  46. 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–100Google Scholar
  47. 47.
    Laszewski T, Nauduri P (2011) Migrating to the Cloud: Oracle Client/Server Modernization. SyngressGoogle Scholar
  48. 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. 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. 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–144Google Scholar
  51. 51.
    Louridas P (2010) Up in the air: moving your applications to the Cloud. Software IEEE 27(4):6–11CrossRefGoogle Scholar
  52. 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. 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–136Google Scholar
  54. 54.
    Mell P, Grance T (2009) Cloud computing definition. National Institute of Standards and Technology (NIST), GaithersburgGoogle Scholar
  55. 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. 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–8Google Scholar
  57. 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–364Google Scholar
  58. 58.
    Mietzner R, et al. (2009) Combining different multi-tenancy patterns in service-oriented applications. EDOC’09. IEEEGoogle Scholar
  59. 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 11Google Scholar
  60. 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). SciTePressGoogle Scholar
  61. 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. 62.
    OASIS (2007) Web services business process execution language Version 2.0 - OASIS StandardGoogle Scholar
  63. 63.
    OASIS (2012) Topology and orchestration specification for cloud applications Version 1.0 Working Draft 06. http://www.tosca-open.org
  64. 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. 65.
    OMG (2011) Unified modeling language (UML). http://www.omg.org/spec/UML
  66. 66.
    OpenCrowd: Cloud computing vendors taxonomy. http://cloudtaxonomy.opencrowd.com/
  67. 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. 68.
    Patel P, Ranabahu A, Sheth A (2009) Service level agreement in cloud computing. In: Cloud Workshops at OOPSLA Google Scholar
  69. 69.
    Pritchett D (2008) BASE: an ACID alternative. Queue 6(3):48–55CrossRefGoogle Scholar
  70. 70.
    Reese G (2009) Cloud application architectures. O’Reilly Media, Inc., SebastopolGoogle Scholar
  71. 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–212Google Scholar
  72. 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–471Google Scholar
  73. 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–498Google Scholar
  74. 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–109Google Scholar
  75. 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. 76.
    Edlich S (2011) List of NoSQL databases. http://nosql-database.org
  77. 77.
    Strauch C (2011) NoSQL databases. http://www.christof-strauch.de/nosqldbs.pdf
  78. 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 PressGoogle Scholar
  79. 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 ServicesGoogle Scholar
  80. 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). SciTePressGoogle Scholar
  81. 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. 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–11CrossRefGoogle Scholar
  83. 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–21Google Scholar
  84. 84.
    Sun Microsystems (2007) JSR 154: Java Servlet specification, Version 2.5. http://jcp.org/en/jsr/detail?id=154
  85. 85.
    System Virtualization, Partitioning and Clustering Working Group (2009) Open virtualization format specification (DSP0243), Distributed Management Task ForceGoogle Scholar
  86. 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)Google Scholar
  87. 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. 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. 89.
    Vaquero L, Rodero-Merino L, Buyya R (2011) Dynamically scaling applications in the Cloud. ACM SIGCOMM Comput Commun Rev 41(1):45–52CrossRefGoogle Scholar
  90. 90.
    Vogels W (2009) Eventually consistent. Commun ACM 52(1):40–44. http://portal.acm.org/citation.cfm?id=1435432 Google Scholar
  91. 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. 92.
    Walker E (2009) The real cost of a CPU hour. Computer 42(4):35–41CrossRefGoogle Scholar
  93. 93.
    Walraven S, et al (2011) A middleware layer for flexible and cost-efficient multi-tenant applications. Middleware’11Google Scholar
  94. 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. 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 90Google Scholar
  96. 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. 97.
    Zawodny J, Balling D (2004) High performance MySQL: optimization, backups, replication, load-balancing, and more. O’Reilly & Associates, Inc., SebastopolGoogle Scholar

Copyright information

© Springer-Verlag Wien 2012

Authors and Affiliations

  • Vasilios Andrikopoulos
    • 1
    Email author
  • Tobias Binz
    • 1
  • Frank Leymann
    • 1
  • Steve Strauch
    • 1
  1. 1.University of StuttgartStuttgartGermany

Personalised recommendations