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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
See for example: http://www.xen.org, http://www.vmware.com/products/ and http://www.flexiant.com/.
Amazon Web Services: http://aws.amazon.com/.
Apache Deltacloud: http://deltacloud.apache.org.
jclouds: http://www.jclouds.org.
Apache Libcloud: http://libcloud.apache.org.
The Data Liberation Front: http://www.dataliberation.org.
The Transaction Processing Performance Council http://www.tpc.org/.
References
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
Alexander C et al (1977) A pattern language: towns, buildings, construction. Oxford University Press, Oxford
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
Amazon Web Services (2012) How AWS pricing works. http://aws.amazon.com/whitepapers/
Amazon.com, Inc. AWS case study: Alexa. http://aws.amazon.com/solutions/case-studies/alexa/
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
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
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
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
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
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
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
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
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
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
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
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
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)
Buretta M (1997) Data replication: tools and techniques for managing distributed information. Wiley, London
Caracas A, Kind A, Gantenbein D, Fussenegger S, Dechouniotis D (2008) Mining semantic relations using netflow. In: BDIM’08, pp 110–111
Cate F (1994) The EU data protection directive, information privacy, and the public interest. Iowa L. Rev. 80:431
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
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
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
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
Fowler M et al (2002) Patterns of enterprise application architecture. Addison-Wesley Professional, Reading
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
Gray J (2008) Distributed computing economics. Queue 6(3):63–68. http://doi.acm.org/10.1145/1394127.1394131
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
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
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
Hohpe G, Woolf B (2003) Enterprise integration patterns: designing, building, and deploying messaging solutions. Addison-Wesley, Reading
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
Mendel Jean-Pierre Garbani Thomas, ER, (2010) The Writing on IT’s Complexity Wall. Technical report Forrester Research, Inc
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
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
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
Kephart J, Chess D (2003) The vision of autonomic computing. Computer 36(1):41–50. http://dx.doi.org/10.1109/MC.2003.1160055
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
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
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
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
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
Kossmann D, Kraska T (2010) Data management in the cloud: promises, state-of-the-art, and open questions. Datenbank Spektrum 10(3):121–129
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
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
Laszewski T, Nauduri P (2011) Migrating to the Cloud: Oracle Client/Server Modernization. Syngress
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
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
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
Louridas P (2010) Up in the air: moving your applications to the Cloud. Software IEEE 27(4):6–11
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
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
Mell P, Grance T (2009) Cloud computing definition. National Institute of Standards and Technology (NIST), Gaithersburg
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
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
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
Mietzner R, et al. (2009) Combining different multi-tenancy patterns in service-oriented applications. EDOC’09. IEEE
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
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
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
OASIS (2007) Web services business process execution language Version 2.0 - OASIS Standard
OASIS (2012) Topology and orchestration specification for cloud applications Version 1.0 Working Draft 06. http://www.tosca-open.org
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
OMG (2011) Unified modeling language (UML). http://www.omg.org/spec/UML
OpenCrowd: Cloud computing vendors taxonomy. http://cloudtaxonomy.opencrowd.com/
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
Patel P, Ranabahu A, Sheth A (2009) Service level agreement in cloud computing. In: Cloud Workshops at OOPSLA
Pritchett D (2008) BASE: an ACID alternative. Queue 6(3):48–55
Reese G (2009) Cloud application architectures. O’Reilly Media, Inc., Sebastopol
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
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
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
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
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
Edlich S (2011) List of NoSQL databases. http://nosql-database.org
Strauch C (2011) NoSQL databases. http://www.christof-strauch.de/nosqldbs.pdf
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
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
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
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
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
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
Sun Microsystems (2007) JSR 154: Java Servlet specification, Version 2.5. http://jcp.org/en/jsr/detail?id=154
System Virtualization, Partitioning and Clustering Working Group (2009) Open virtualization format specification (DSP0243), Distributed Management Task Force
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)
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
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
Vaquero L, Rodero-Merino L, Buyya R (2011) Dynamically scaling applications in the Cloud. ACM SIGCOMM Comput Commun Rev 41(1):45–52
Vogels W (2009) Eventually consistent. Commun ACM 52(1):40–44. http://portal.acm.org/citation.cfm?id=1435432
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
Walker E (2009) The real cost of a CPU hour. Computer 42(4):35–41
Walraven S, et al (2011) A middleware layer for flexible and cost-efficient multi-tenant applications. Middleware’11
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
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
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
Zawodny J, Balling D (2004) High performance MySQL: optimization, backups, replication, load-balancing, and more. O’Reilly & Associates, Inc., Sebastopol
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
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-012-0248-2
Keywords
- Cloud migration
- Application adaptation
- Cloud-enabled applications
- Data Layer
- Business Layer
- Migration types