Abstract
Multi-cloud computing is a promising paradigm to support very large scale world wide distributed applications. Multi-cloud computing is the usage of multiple, independent cloud environments, which assumed no priori agreement between cloud providers or third party. However, multi-cloud computing has to face several key challenges such as portability, provisioning, elasticity, and high availability. Developers will not only have to deploy applications to a specific cloud, but will also have to consider application portability from one cloud to another, and to deploy distributed applications spanning multiple clouds. This article presents soCloud a service-oriented component-based Platform as a Service for managing portability, elasticity, provisioning, and high availability across multiple clouds. soCloud is based on the OASIS Service Component Architecture standard in order to address portability. soCloud provides services for managing provisioning, elasticity, and high availability across multiple clouds. soCloud has been deployed and evaluated on top of ten existing cloud providers: Windows Azure, DELL KACE, Amazon EC2, CloudBees, OpenShift, dotCloud, Jelastic, Heroku, Appfog, and an Eucalyptus private cloud.
Similar content being viewed by others
Notes
CEP: computing that performs operations on complex events, including reading, creating, transforming, or abstracting them[25].
A checkpoint is a snapshot of the state of a process, saved on nonvolatile storage to survive process failures [41].
The flash crowd effect, also called the slash dot effect, result from a sudden increase in request traffic.
References
Lessons learned from recent cloud outages (2013). http://tinyurl.com/qz5maey
Anedda P, Leo S, Manca S, Gaggero M, Zanetti G (2010) Suspending, migrating and resuming HPC virtual clusters. Future Gener Comput Syst 26(8):1063–1072
Armbrust M, Fox A, Griffith R, Joseph AD, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I et al (2010) A view of cloud computing. Commun ACM 53(4):50–58
Birman KP, Van Renesse R et al (1994) Reliable distributed computing with the Isis toolkit, vol 85. IEEE Computer Society Press, Los Alamitos
Bouteiller A, Lemarinier P, Krawezik K, Capello F (2003) Coordinated checkpoint versus message log for fault tolerant mpi. In: 2003 IEEE international conference on cluster computing, 2003. Proceedings, pp 242–250. IEEE, New York
Bruneton E, Coupaye T, Leclercq M, Quéma V, Stefani JB (2006) The fractal component model and its support in Java: experiences with auto-adaptive and reconfigurable systems. Softw Pract Exper 36(11–12):1257–1284
Buyya R, Ranjan R, Calheiros R (2010) Intercloud: utility-oriented federation of cloud computing environments for scaling of application services. Algorithms and architectures for parallel processing, pp 13–31
Cardellini V, Colajanni M, Yu P (1999) Dynamic load balancing on web-server systems. IEEE Internet Comput 3(3):28–39
Chang E, Roberts R (1979) An improved algorithm for decentralized extrema-finding in circular configurations of processes. Commun ACM 22(5):281–283
Chase JS, Anderson DC, Thakar PN, Vahdat AM, Doyle RP (2001) Managing energy and server resources in hosting centers. In: ACM SIGOPS operating systems review, vol 35, pp 103–116. ACM, New York
Chen Z, Liu Z, Stolz V, Yang L, Ravn AP (2007) A refinement driven component-based design. In: 12th IEEE international conference on engineering complex computer systems, 2007, pp 277–289. IEEE, New York
Coulouris G, Dollimore J, Kindberg T (2005) Distributed systems: concepts and design. Addison-Wesley, Reading
Czajkowski G, Wegiel M, Daynes L, Palacz K, Jordan M, Skinner G, Bryce C (2005) Resource management for clusters of virtual machines. In: IEEE international symposium on cluster computing and the grid, 2005. CCGrid 2005, vol 1, pp 382–389. IEEE, New York
Dandria F, Bocconi S, Cruz JG, Ahtes J, Zeginis D (2012) Cloud4SOA: multi-cloud application management across PaaS offerings. In: 2012 14th international symposium on symbolic and numeric algorithms for scientific computing (SYNASC), pp. 407–414. IEEE, New York
Erl T (2008) Soa: principles of service design, vol 1. Prentice Hall, Upper Saddle River
Etzion O, Niblett P (2010) Event processing in action. Manning Publications Co., NJ
Foster I, Freeman T, Keahy K, Scheftner D, Sotomayer B, Zhang X (2006) Virtual clusters for grid communities. In: Sixth IEEE international symposium on cluster computing and the grid, 2006. CCGRID 06, vol 1, pp 513–520. IEEE, New York
Garg VK (2005) Concurrent and distributed computing in Java. Wiley-IEEE Press, New York
Gonzalez H, Halevy AY, Jensen CS, Langen A, Madhavan J, Shapley R, Shen W, Goldberg- Kidon J (2010) Google fusion tables: web-centered data management and collaboration. In: Proceedings of the 2010 international conference on Management of data, pp 1061–1066. ACM, New York
Grozev N, Buyya R (2012) Inter-cloud architectures and application brokering: taxonomy and survey. Softw Practice Exp. doi:10.1002/spe.2168
Harchol-Balter M, Downey A (1997) Exploiting process lifetime distributions for dynamic load balancing. ACM Trans Comput Syst 15(3):253–285
InfoWorld: the 10 worst cloud outages (and what we can learn from them). http://tinyurl.com/br9ck4a
Isard M (2007) Autopilot: automatic data center management. ACM SIGOPS Oper Syst Rev 41(2):60–67
Karn P, Partridge C (1987) Improving round-trip time estimates in reliable transport protocols. ACM SIGCOMM Comput Commun Rev 17(5):2–7
Luckham D, Schulte R (2008) Event processing glossary—version 1.1. Processing 1.1(July), 1–19. http://complexevents.com/wp-content/uploads/2008/08/epts-glossary-v11.pdf
Malpani N, Welch JL, Vaidya N (2000) Leader election algorithms for mobile ad hoc networks. In: Proceedings of the 4th international workshop on Discrete algorithms and methods for mobile computing and communications, pp 96–103. ACM, New York
Marcus E, Stern H (2003) Blueprints for high availability. Wiley, New York
Marino J, Rowley M (2010) Understanding SCA (Service Component Architecture). Addison-Wesley Professional, Reading
Marshall P, Keahey K, Freeman T (2010) Elastic site: Using clouds to elastically extend site resources. In: Proceedings of the 2010 10th IEEE/ACM international conference on cluster, cloud and grid computing. IEEE Computer Society, pp 43–52
Maurice G, Felipe D, Camille C, Christophe C, Kazuhiko S, Xu Y, Pierre D, Jean-Paul S, Jonathan LL, Stephen L, Pierrick L (2012) Downtime statistics of current cloud solutions
Mietzner R, Leymann F (2008) Towards provisioning the cloud: on the usage of multi-granularity flows and services to realize a unified provisioning infrastructure for saas applications. In: IEEE Congress on services-part I, 2008. IEEE, New York, pp 3–10
Mosberger D, Jin T (1998) httperf a tool for measuring web server performance. SIGMETRICS Perform Eval Rev 26(3):31–37. doi:10.1145/306225.306235
Oberle K, Fisher M (2010) ETSI CLOUD—initial standardization requirements for cloud services. In: Economics of grids, clouds, systems, and services. Springer, Berlin, pp 105–115
Paraiso F, Haderer N, Merle P, Rouvoy R, Seinturier L (2012) A federated multi-cloud PaaS Infrastructure. In: 5th IEEE international conference on cloud computing, pp 392–399. Hawaii, United State. doi:10.1109/CLOUD.2012.79. http://hal.inria.fr/hal-00694700
Paraiso F, Hermosillo G, Rouvoy R, Merle P, Seinturier L (2012) A middleware platform to federate complex event processing. In: Sixteenth IEEE international EDOC conference. Springer, Beijing, pp 113–122. http://hal.inria.fr/hal-00700883
Paraiso F, Merle P, Seinturier L (2013) Managing elasticity across multiple cloud providers. In: 1st international workshop on multi-cloud applications and federated clouds. Prague, Czech, Republic. http://hal.inria.fr/hal-00790455
Petcu D, Macariu G, Panica S, Crǎciun C (2012) Portable cloud applications from theory to practice. Future Gen Comput Syst
Qian H, Miller E, Zhang W, Rabinovich M, Wills CE (2007) Agility in virtualized utility computing. In: 2007 Second international workshop on virtualization technology in distributed computing (VTDC). IEEE, New York, pp 1–8
Torell W, Avelar V (2004) Mean time between failure: explanation and standards. White Paper 78
Vaquero L, Rodero-Merino L, Buyya R (2011) Dynamically scaling applications in the cloud. ACM SIGCOMM Comput Commun Rev 41(1):45–52
Wang YM (1997) Consistent global checkpoints that contain a given set of local checkpoints. IEEE Trans Comput 46(4):456–468
Zdnet: Amazon cloud down; Reddit, Github, other major sites affected (2012). http://tinyurl.com/95kmk8y
Zhang Q, Cheng L, Boutaba R (2010) Cloud computing: state-of-the-art and research challenges. J Int Serv Appl 1(1):7–18
Acknowledgments
This work is partially funded by the ANR (French National Research Agency) ARPEGE SocEDA project and the EU FP7 PaaSage project.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Paraiso, F., Merle, P. & Seinturier, L. soCloud: a service-oriented component-based PaaS for managing portability, provisioning, elasticity, and high availability across multiple clouds. Computing 98, 539–565 (2016). https://doi.org/10.1007/s00607-014-0421-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-014-0421-x
Keywords
- Multi-cloud computing
- Platform as a Service
- Portability
- Provisioning
- Elasticity
- High availability
- Service Component Architecture