Skip to main content
Log in

soCloud: a service-oriented component-based PaaS for managing portability, provisioning, elasticity, and high availability across multiple clouds

  • Published:
Computing Aims and scope Submit manuscript

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.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. http://www.oasis-opencsa.org/sca.

  2. http://iwgcr.org.

  3. http://aws.amazon.com/ec2/instance-types/.

  4. http://tinyurl.com/qdrcpm3.

  5. CEP: computing that performs operations on complex events, including reading, creating, transforming, or abstracting them[25].

  6. http://www.espertech.com/.

  7. http://tools.ietf.org/html/rfc2988.

  8. A checkpoint is a snapshot of the state of a process, saved on nonvolatile storage to survive process failures  [41].

  9. http://socloud.soceda.cloudbees.net.

  10. The flash crowd effect, also called the slash dot effect, result from a sudden increase in request traffic.

References

  1. Lessons learned from recent cloud outages (2013). http://tinyurl.com/qz5maey

  2. 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

    Article  Google Scholar 

  3. 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

    Article  Google Scholar 

  4. Birman KP, Van Renesse R et al (1994) Reliable distributed computing with the Isis toolkit, vol 85. IEEE Computer Society Press, Los Alamitos

  5. 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

  6. 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

    Article  Google Scholar 

  7. 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

  8. Cardellini V, Colajanni M, Yu P (1999) Dynamic load balancing on web-server systems. IEEE Internet Comput 3(3):28–39

    Article  Google Scholar 

  9. Chang E, Roberts R (1979) An improved algorithm for decentralized extrema-finding in circular configurations of processes. Commun ACM 22(5):281–283

    Article  MATH  Google Scholar 

  10. 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

  11. 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

  12. Coulouris G, Dollimore J, Kindberg T (2005) Distributed systems: concepts and design. Addison-Wesley, Reading

  13. 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

  14. 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

  15. Erl T (2008) Soa: principles of service design, vol 1. Prentice Hall, Upper Saddle River

    Google Scholar 

  16. Etzion O, Niblett P (2010) Event processing in action. Manning Publications Co., NJ

  17. 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

  18. Garg VK (2005) Concurrent and distributed computing in Java. Wiley-IEEE Press, New York

  19. 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

  20. Grozev N, Buyya R (2012) Inter-cloud architectures and application brokering: taxonomy and survey. Softw Practice Exp. doi:10.1002/spe.2168

  21. Harchol-Balter M, Downey A (1997) Exploiting process lifetime distributions for dynamic load balancing. ACM Trans Comput Syst 15(3):253–285

    Article  Google Scholar 

  22. InfoWorld: the 10 worst cloud outages (and what we can learn from them). http://tinyurl.com/br9ck4a

  23. Isard M (2007) Autopilot: automatic data center management. ACM SIGOPS Oper Syst Rev 41(2):60–67

    Article  Google Scholar 

  24. Karn P, Partridge C (1987) Improving round-trip time estimates in reliable transport protocols. ACM SIGCOMM Comput Commun Rev 17(5):2–7

    Article  Google Scholar 

  25. 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

  26. 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

  27. Marcus E, Stern H (2003) Blueprints for high availability. Wiley, New York

  28. Marino J, Rowley M (2010) Understanding SCA (Service Component Architecture). Addison-Wesley Professional, Reading

  29. 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

  30. 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

  31. 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

  32. 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

    Article  Google Scholar 

  33. 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

  34. 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

  35. 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

  36. 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

  37. Petcu D, Macariu G, Panica S, Crǎciun C (2012) Portable cloud applications from theory to practice. Future Gen Comput Syst

  38. 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

  39. Torell W, Avelar V (2004) Mean time between failure: explanation and standards. White Paper 78

  40. 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 

  41. Wang YM (1997) Consistent global checkpoints that contain a given set of local checkpoints. IEEE Trans Comput 46(4):456–468

    Article  MathSciNet  Google Scholar 

  42. Zdnet: Amazon cloud down; Reddit, Github, other major sites affected (2012). http://tinyurl.com/95kmk8y

  43. Zhang Q, Cheng L, Boutaba R (2010) Cloud computing: state-of-the-art and research challenges. J Int Serv Appl 1(1):7–18

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Fawaz Paraiso.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-014-0421-x

Keywords

Mathematics Subject Classification

Navigation