Abstract
Software vendors increasingly aim to apply the Software-as-a-Service (SaaS) delivery model instead of the traditional on-premise model. Platforms-as-a-Service (PaaS), such as Google App Engine and Windows Azure, deliver a computing platform and solution stack as a service, but they also aim to facilitate the development of cloud applications (SaaS). Such PaaS offerings should enable third parties to build and deliver multi-tenant SaaS applications while shielding the complexity of the underpinning middleware and infrastructure. This paper compares, on the basis of a practical case study, three different and representative PaaS platforms with respect to their support for SaaS application development. We have reengineered an on-premise enterprise application into a SaaS application and we have subsequently deployed it in three PaaS-based cloud environments. We have investigated the following qualities of the PaaS platforms from the perspective of SaaS development: portability of the application code base, available support for creating and managing multi-tenant-aware applications, and quality of the tool support.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
This is a generic observation, early practitioners of parallel computing shared similar and essential concerns.
References
Amazon Web Services LLC. Amazon Elastic Compute Cloud (Amazon EC2). http://aws.amazon.com/ec2/ (Accessed 6 July 2013)
Amazon Web Services LLC. Amazon Web Services (AWS). http://aws.amazon.com/ (Accessed 6 July 2013)
Amazon Web Services LLC. AWS Elastic Beanstalk. http://aws.amazon.com/elasticbeanstalk/ (Accessed 6 July 2013)
Andrikopoulos V, Binz T, Leymann F, Strauch S (2013) How to adapt applications for the cloud environment. Computing 95(6):493–535
Apprenda Inc. Apprenda—the leading private PaaS. http://apprenda.com/platform/ (Accessed 6 July 2013)
Armbrust M, Fox A, Griffith R, Joseph AD, Katz RH, Konwinski A, Lee G, Patterson DA, Rabkin A, Stoica I, Zaharia M (2009) Above the clouds: a berkeley view of cloud computing. Tech. Rep. 28, EECS Department, University of California, Berkeley
Aulbach S, Grust T, Jacobs D, Kemper A, Rittinger J (2008) Multi-tenant databases for software as a service: schema-mapping techniques. In: SIGMOD ’08: Proceedings of the ACM SIGMOD international conference on management of data. ACM, New York, pp 1195–1206
Aulbach S, Jacobs D, Kemper A, Seibold M (2009) A comparison of flexible schemas for software as a service. In: SIGMOD ’09: Proceedings of the ACM SIGMOD international conference on management of data. ACM, New York, pp 881–888
Azeez A, Perera S, Gamage D, Linton R, Siriwardana P, Leelaratne D, Weerawarana S, Fremantle P (2010) Multi-tenant SOA middleware for cloud computing. IEEE international conference on cloud computing. IEEE Computer Society, Los Alamitos, pp 458–465
Baker J, Bond C, Corbett JC, Furman JJ, Khorlin A, Larson J, Léon JM, Li Y, Lloyd A, Yushprakh V (2011) Megastore: providing scalable, highly available storage for interactive services. In: CIDR ’11: Proceedings on conference on innovative data, systems research
Bezemer CP, Zaidman A, Platzbeecker B, Hurkmans T, Hart A (2010) Enabling multi-tenancy: an industrial experience report. In: ICSM ’10: Proceedings of the 26th international conference on software, Maintenance, pp 1–8
Bezemer CP, Zaidman A (2010) Challenges of reengineering into multi-tenant SaaS applications. Software Engineering Research Group (SERG) 12, TU Delft
Bhuyan LN, Agrawal DP (1984) Generalized hypercube and hyperbus structures for a computer network. IEEE Trans Comput C-33(4):323–333
Bozman J, Chen G (2010) Cloud computing: the need for portability and interoperability. IDC Analyze the Future, Sponsored by Red Hat, Inc
Chang F, Dean J, Ghemawat S, Hsieh WC, Wallach DA, Burrows M, Chandra T, Fikes A, Gruber RE (2008) Bigtable: a distributed storage system for structured data. ACM Trans Comput Syst 26(2): 1–4
Chappell D (2010) Introducing the Windows Azure Platform. http://www.davidchappell.com/writing/white_papers/Introducing_the_Windows_Azure_Platform,_v1.4-Chappell.pdf. Sponsored by Microsoft Corporation
Chen PPS (1976) The entity-relationship model—toward a unified view of data. ACM Trans Database Syst 1(1):9–36
Chohan N, Bunch C, Pang S, Krintz C, Mostafa N, Soman S, Wolski R (2010) AppScale: scalable and open AppEngine application development and deployment. CloudComp ’09: First international conference on cloud computing. Springer, Berlin, pp 57–70
Chong F, Carraro G (2006) Architecture strategies for catching the long tail. Microsoft Corporation. http://msdn.microsoft.com/en-us/library/aa479069.aspx
Chong F, Carraro G, Wolter R (2006) Multi-tenant data architecture. Microsoft Corporation. http://msdn.microsoft.com/en-us/library/aa479086.aspx
Citrix Systems, Inc. CloudStack—Open Source Cloud Computing Project. http://cloudstack.org (Accessed 6 July 2013)
CloudBees Inc. CloudBees: the Java PaaS Company. http://www.cloudbees.com (Accessed 6 July 2013)
Cordys: Cordys: the enterprise cloud platform. http://www.cordys.com/platform-as-a-service (Accessed 6 July 2013)
DeMichiel L (2009) JSR 317: \(\text{ Java }^{TM}\) Persistence 2.0. http://www.jcp.org/en/jsr/detail?id=317 (Accessed 6 July 2013)
DeMichiel L (2010) JSR 318: Enterprise JavaBeans\(^{TM}\) 3.1. http://jcp.org/en/jsr/detail?id=318 (Accessed 6 July 2013)
DeMichiel L, Shannon B (2011) JSR 342: Java\(^{TM}\) Platform, Enterprise Edition 7 (Java EE 7) Specification. http://www.jcp.org/en/jsr/detail?id=342 (Accessed 6 July 2013)
Engelsen N (2010) Multi tenant architecture via dependency injection. http://blog.tallan.com/2010/07/11/multi-tenant-architecture-via-dependency-injection-part-1/ (Accessed 6 July 2013)
Fowler M (2004) Inversion of control containers and the dependency injection pattern. http://martinfowler.com/articles/injection.html
Garen K (2007) Software portability: weighing options. Making choices. CPA J 77(11):10–12
Giessmann A, Stanoevska-Slabeva K (2012) Platform as a service: a conjoint study on consumers’ preferences. In: ICIS ’12: 33rd international conference on information systems. Association for Information Systems (AIS)
GigaSpaces Technologies, Inc. XAP—Elastic Application Platform. http://www.gigaspaces.com/xap/ (Accessed 6 July 2013)
Google, Inc.: Google App Engine. http://code.google.com/appengine/ (Accessed 6 July 2013)
Google Inc.: Guice. http://code.google.com/p/google-guice/ (Accessed 6 July 2013)
Google, Inc. The JRE Class White List. http://code.google.com/appengine/docs/java/jrewhitelist.html (Accessed 6 July 2013)
Google, Inc. Will it play in Java. http://code.google.com/p/googleappengine/wiki/WillItPlayInJava (Accessed 6 July 2013)
Guo CJ, Sun W, Huang Y, Wang ZH, Gao B (2007) A framework for native multi-tenancy application development and management. In: CEC/EEE ’07: 9th IEEE international conference on E-commerce technology and 4th IEEE international conference on enterprise computing, E-Commerce, and E-Services. pp 551–558
Heroku, Inc. Heroku Cloud Application Platform. http://www.heroku.com/ (Accessed 6 July 2013)
Hillyer S (2013) An introduction to environments. http://wiki.developerforce.com/index.php/An_Introduction_to_Environments (Accessed 6 July 2013)
Hiranandani S, Kennedy K, Tseng CW (1992) Compiling Fortran D for MIMD distributed-memory machines. Commun ACM 35(8):66–80
IBM Corporation. IBM SmartCloud Application Services. http://www.ibm.com/cloud-computing/us/en/paas.html (Accessed 6 July 2013)
jclouds, Inc. jclouds: cloud interfaces, Simplified. http://www.jclouds.org/ (Accessed 6 July 2013)
Kohari N (2013) Ninject! open source dependency injector for .NET. http://ninject.org/ (Accessed 6 July 2013)
Mell P, Grance T (2011) The NIST definition of cloud computing. Special publication 800-145. National Institute of Standards and Technology (NIST). http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
Microsoft Corp.: ADO.NET Entity Framework. http://msdn.microsoft.com/en-us/data/aa937723 (Accessed 6 July 2013)
Microsoft Corp. ASP.NET MVC. http://www.asp.net/mvc (Accessed 6 July 2013)
Microsoft Corp. Windows Azure. http://www.windowsazure.com/ (Accessed 6 July 2013)
Microsoft Corp. Windows Azure AppFabric. http://www.microsoft.com/windowsazure/AppFabric (Accessed 6 July 2013)
Microsoft Corp. Windows Communication Foundation (WCF). http://msdn.microsoft.com/en-us/netframework/aa663324 (Accessed 6 July 2013)
Microsoft Corp. Windows Azure Architecture Guide. http://wag.codeplex.com/ (Accessed 6 July 2013)
Mietzner R, Leymann F, Papazoglou MP (2008) Defining composite configurable SaaS application packages using SCA, variability descriptors and multi-tenancy patterns. In: ICIW ’08: third international conference on internet and web applications and services, pp 156–161
Mooney JD (1990) Strategies for supporting application portability. Computer 23(11):59–70
Mordani R (2009) JSR 315: \(\text{ Java }^{TM}\) servlet 3.0 specification. http://www.jcp.org/en/jsr/detail?id=315 (Accessed 6 July 2013)
Natis YV, Smith DM, Cearley DW (2010) Windows Azure AppFabric: a strategic core of Microsoft’s cloud platform. http://www.gartner.com/id=1469531
Noelios Technologies: Restlet. http://www.restlet.org/ (Accessed 6 July 2013)
Nurmi D, Wolski R, Grzegorczyk C, Obertelli G, Soman S, Youseff L, Zagorodnov D (2009) The eucalyptus open-source cloud-computing system. CCGRID ’09: Proceedings of the 9th IEEE/ACM international symposium on cluster computing and the grid. IEEE Computer Society, Washington, pp 124–131
Open Grid Forum (OGF) Open cloud computing interface. http://occi-wg.org/ (Accessed 6 July 2013)
OpenStack, LLC: OpenStack Open Source Cloud Computing Software. http://www.openstack.org/ (Accessed 6 July 2013)
Oracle Corporation: Jersey. http://jersey.java.net/ (Accessed 6 July 2013)
Oracle Corporation: Oracle Cloud Platform. https://cloud.oracle.com/mycloud/f?p=service:java:0 (Accessed 6 July 2013)
Paraiso F, Haderer N, Merle P, Rouvoy R, Seinturier L (2012) A federated multi-cloud PaaS infrastructure. In: CLOUD ’12: IEEE 5th international conference on cloud, computing, pp 392–399
Petcu D ((2011)) Portability and interoperability between clouds: challenges and case study. In: Abramowicz W, Llorente I, Surridge M, Zisman A, Vayssiè J (eds) ServiceWave ’11: towards a service-based internet. Springer, Berlin, pp 62–74
Prodan R, Ostermann S (2009) A survey and taxonomy of infrastructure as a service and web hosting cloud providers. In: 10th IEEE/ACM international conference on grid, computing, pp 17–25
Red Hat, Inc. Red Hat OpenShift. https://openshift.redhat.com/ (Accessed 6 July 2013)
Reese G (2009) Cloud application architectures. Theory in practice. O’Reilly
Rimal BP, Choi E, Lumb I (2009) A taxonomy and survey of cloud computing systems. In: NCM ’09: 5th international joint conference on INC, IMS and IDC, pp 44–51
Rosenberg J, Mateos A (2010) The cloud at your service. Manning Pubs Co Series, Manning Publications, Greenwich
Salesforce.com, Inc. Force.com. http://www.salesforce.com/platform/ (Accessed 6 July 2013)
Salesforce.com, Inc. Salesforce CRM. http://www.salesforce.com/ (Accessed 6 July 2013)
SAP, AG: SAP NetWeaver. http://www.sap.com/platform/netweaver/components (Accessed 6 July 2013)
Schubert L, Jeffery K, Neidecker-Lutz B (2010) The future of cloud computing: opportunities for European cloud computing beyond 2010. Expert Group Report, Public Version 1.0, European Commission, Information Society and, Media
Shroff G, Agarwal P, Devanbu P (2009) InstantApps: a WYSIWYG model driven interpreter for web applications. In: ICSE-companion ’09: 31st international conference on software engineering—companion volume, pp 417–418
Shroff G (2008) Dev 2.0: model driven development in the cloud. In: SIGSOFT ’08/FSE-16: Proceedings of the 16th ACM SIGSOFT international symposium on foundations of software engineering. ACM, New York, pp 283–283
Shroff G (2010) Enterprise cloud computing: technology, architecture, applications. Cambridge University Press, Cambridge
Siegel HJ (1979) Interconnection networks for SIMD machines. Computer 12(6):57–65
Singh JP, Weber WD, Gupta A (1992) SPLASH: Stanford parallel applications for shared-memory. SIGARCH Comput Archit News 20(1):5–44
Snir M, Otto SW, Walker DW, Dongarra J, Huss-Lederman S (1995) MPI: the complete reference. MIT Press, Cambridge
Sotomayor B, Montero RS, Llorente IM, Foster I (2009) Virtual infrastructure management in private and hybrid clouds. IEEE Internet Comput 13(5):14–22
Sun W, Zhang X, Guo CJ, Sun P, Su H (2008) Software as a service: configuration and customization perspectives. In: SERVICES-2 ’08: IEEE congress on services Part II, pp 18–25
Vaquero LM, Rodero-Merino L, Caceres J, Lindner M (2009) A break in the clouds: towards a cloud definition. SIGCOMM Comput Commun Rev 39(1):50–55
VMware, Inc. Cloud Foundry. http://www.cloudfoundry.org/ (Accessed 6 July 2013)
Walraven S, Truyen E, Joosen W (2011) A middleware layer for flexible and cost-efficient multi-tenant applications. Middleware ’11: Proceedings of the 12th ACM/IFIP/USENIX international conference on middleware. Springer, Berlin, pp 370–389
Weissman CD, Bobrowski S (2009) The design of the force.com multitenant internet application development platform. In: SIGMOD ’09: Proceedings of the 35th SIGMOD international conference on management of data. ACM, New York, pp 889–896
Wolf Frameworks India Pvt. Ltd.: WOLF. http://www.wolfframeworks.com/overview.asp (Accessed 6 July 2013)
\(\text{ WSO }_{2}\) Inc. WSO2 Stratos. http://wso2.com/cloud/stratos/ (Accessed 6 July 2013)
Acknowledgments
We thank the anonymous reviewers for their constructive comments to improve this paper. We also thank Wouter De Borger, Maarten Decat and Dimitri Van Landuyt for proofreading. This research is partially funded by the Research Fund KU Leuven, the iMinds CUSTOMSS and SecCAS projects and by the EU FP7 project NESSoS. The iMinds CUSTOMSS is a project co-funded by iMinds (Interdisciplinary institute for Technology), a research institute founded by the Flemish Government. Companies and organizations involved in the project are Agfa Healthcare, Televic Healthcare and UnifiedPost, with project support of IWT (government agency for Innovation by Science and Technology).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Walraven, S., Truyen, E. & Joosen, W. Comparing PaaS offerings in light of SaaS development. Computing 96, 669–724 (2014). https://doi.org/10.1007/s00607-013-0346-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-013-0346-9