Abstract
NoSQL data stores are often combined to address different requirements within the same application. The implication of this trend is particularly important and relevant in the context of multi-tenant SaaS applications where tenants commonly have different storage- and privacy-related requirements and thus they desire to customize the storage setup according to their specific needs. Consequently, application developers are increasingly combining storage resources: on-premise and public cloud resources in a hybrid cloud setup, different external public cloud storage resources and providers in a federated cloud storage setup, etc. The consequences of these trends are twofold: (i) application developers and SaaS providers have to deal with heterogeneous technologies, different APIs, and implement complex storage logic (to address different requirements of tenants), all within the application layer; and (ii) storage architectures have become less rigid, and techniques are required to flexibly change the storage configuration of running applications, up to the level of individual service requests. To address these challenges, we present PERSIST, a middleware architecture that (i) externalizes the complexity of a federated cloud storage architecture and the complex storage logic from the SaaS application to storage policies, allows tenants to enforce different storage- and privacy-related requirements at a fine-grained level; and (ii) supports the dynamic (re)configurability of the underlying federated cloud storage architecture. Application-specific policies can be customized by individual tenants at run time, and PERSIST offers support for run-time cross-provider polyglot persistence and the confidentiality of sensitive data through encryption. We have validated PERSIST in a working prototype implementation. Our extensive evaluation efforts show (i) the accomplished reduction in the required development effort to support complex storage policies, (ii) the reduction in cost/effort to change the data storage architecture itself, and finally (iii) the acceptability of the performance overhead (around 6% for insert, and 2% for read, update and delete transactions).
Similar content being viewed by others
References
Abu-Libdeh, H., Princehouse, L., Weatherspoon, H.: RACS: a case for cloud storage diversity. In: SoCC ’10 Proceedings of the 1st ACM symposium on Cloud computing. ACM (2010)
Alomari, E., Barnawi, A., Sakr, S.: CDPort: A framework of data portability in cloud platforms. In: iiWAS ’14 Proceedings of the 16th International Conference on Information Integration and Web-based Applications &Services, pp. 126–133. ACM (2014)
Alzain, M.A., Soh, B., Pardede, E.: MCDB: Using multi-clouds to ensure security in cloud computing. In: Ninth International Conference on Dependable, Autonomic and Secure Computing, pp. 784–791 (2011)
Atzeni, P., Bugiotti, F., Rossi, L.: Sos (save our systems): A uniform programming interface for non-relational systems. In: Proceedings of the 15th International Conference on Extending Database Technology, EDBT ’12, pp. 582–585. ACM (2012)
Atzeni, P., Bugiotti, F., Rossi, L.: Uniform access to non-relational database systems: the sos platform. In: CAiSE ’12 Proceedings of the 24th international conference on Advanced Information Systems Engineering, pp. 160–174. ACM (2012)
Bȧzȧr, C. et al.: The transition from RDBMS to NoSQL. a comparative analysis of three popular non-relational solutions: Cassandra, mongodb and couchbase. Database Syst. J. 5(2), 49–59 (2014)
Bermbach, D., Klems, M., Tai, S., Michael, M.: Metastorage: A federated cloud storage system to manage consistency-latency tradeoffs. In: IEEE International Conference on Cloud Computing (CLOUD), 2011, pp. 452–459. IEEE (2011)
Bessani, A., Correia, M., Quaresma, B., André, F., Sousa, P.: DepSky: Dependable and secure storage in a cloud-of-clouds. Trans. Storage 9(4), 12:1–12:33 (2013)
Blanke, T. et al.: Back to our data – experiments with NoSQL technologies in the humanities. In: IEEE International Conference on Big Data, pp. 17–20 (2013)
Bowers, K.D., Juels, A., Oprea, A.: HAIL: a high-availability and integrity layer for cloud storage. In: Proceedings of the 16th ACM conference on Computer and communications security. ACM (2009)
Brewer, E.: Cap twelve years later: How the “rules” have changed. Computer 45(2), 23–29 (2012)
Chohan, N., Bunch, C., Krintz, C., Canumalla, N.: Cloud platform datastore support. J. Grid Comput. 11(1), 63–81 (2013)
Cooper, B.F., Silberstein, A., Tam, E., Ramakrishnan, R., Sears, R.: Benchmarking cloud serving systems with ycsb. In: Proceedings of the 1st ACM Symposium on Cloud Computing, pp. 143–154 (2010)
Dobre, D., Viotti, P., Vukolic, M.: Hybris: Robust hybrid cloud storage. In: SOCC ’14 Proceedings of the ACM Symposium on Cloud Computing, pp. 1–14. ACM (2014)
Ehcache. JAVA’S MOST WIDELY-USED CACHE. http://www.ehcache.org/. [Last visited on June 20, 2017]
Ferdman, M. et al.: Clearing the clouds: A study of emerging scale-out workloads on modern hardware. SIGPLAN Not. 47(4), 37–48 (2012)
Foster, I., Zhao, Y., Raicu, I., Lu, S.: Cloud computing and grid computing 360-degree compared. In: Grid Computing Environments Workshop, pp. 1–10 (2008)
Gessert, F., Bücklers, F., Orestes, N.R.: A scalable database-as-a-service architecture for low latency. In: IEEE 30th International Conference on Data Engineering Workshops (ICDEW), pp. 215–222 (2014)
Grolinger, K., Higashino, W.A., Tiwari, A., Capretz, M.A.M.: Data management in cloud environments NoSQL and newsql data stores. J. Cloud Comput. Adv. Syst. Appl. 2(1), 1–24 (2013)
Grozev, N., Buyya, R.: Multi-cloud provisioning and load distribution for three-tier applications. ACM Trans. Auton. Adapt. Syst. 9(3), 13:1–13:21 (2014)
Gupta, A.M., Gadepally, V., Stonebraker, M.: Cross-engine query execution in federated database systems. In: High Performance Extreme Computing Conference (HPEC), pp. 1–6. IEEE (2016)
Haselmann, T., Thies, G., Vossen, G.: Looking into a rest-based universal api for database-as-a-service systems. In: IEEE 12th Conference on Commerce and Enterprise Computing (CEC), pp. 17–24 (2010)
Hibernate. Hibernate OGM - The power and simplicity of JPA for NoSQL datastores. http://hibernate.org/ogm/. [Last visited on June 20, 2017]
imec. D-BASE: Optimization of Business Process Outsourcing Services. https://distrinet.cs.kuleuven.be/research/projects/D-BASE. [Last visited on October 02, 2017]
imec. DMS2: Decentralized Data Management and Migration of SaaS. https://distrinet.cs.kuleuven.be/research/projects/(DMS)2 [Last visited on October 02, 2017]
imec. Sequoia: Middleware for scalable, attribute-based querying of multitenant, cloud-based databases. https://www.imec-int.com/nl/imec-icon/research-portfolio/sequoia [Last visited on October 02, 2017]
Impetus. A JPA 2.1 compliant Polyglot Object-Datastore Mapping Library for NoSQL Datastores. https://github.com/impetus-opensource/Kundera/. [Last visited on June 20, 2017]
Konstantinou, I., Angelou, E., Boumpouka, C., Tsoumakos, D., Koziris, N.: On the elasticity of NoSQL databases over cloud management platforms. In: Proceedings of the 20th ACM International Conference on Information and Knowledge Management, CIKM ’11, pp. 2385–2388. ACM, New York (2011)
Lorido-Botran, T., Miguel-Alonso, J., Lozano, J.A.: A review of auto-scaling techniques for elastic applications in cloud environments. J. Grid Comput. 12(4), 559–592 (2014)
Mell, P., Grance, T.: The NIST Definition of Cloud Computing. [Last visited on Febuary 18, 2016]
Oracle. EntityManager (Java(TM) EE 7 Specification APIs. http://docs.oracle.com/javaee/7/api/javax/persistence/EntityManager.html. [Last visited on June 22, 2017]
Papaioannou, T.G., Bonvin, N., Aberer, K.: Scalia: an adaptive scheme for efficient multi-cloud storage. In: SC ’12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis. ACM (2012)
Rafique, A., Van Landuyt, D., Reniers, V., Joosen, W.: Leveraging NoSQL for scalable and dynamic data encryption in multi-tenant saas. In: 2017 IEEE Trustcom/BigDataSE/ICESS, pp. 885–892 (2017)
Rafique, A., Van Landuyt, D., Lagaisse, B., Joosen, W.: Policy-driven data management middleware for multi-cloud storage in multi-tenant saas. In: IEEE/ACM 2nd International Symposium on Big Data Computing (BDC), pp. 78–84 (2015)
Rafique, A., Van Landuyt, D., Lagaisse, B., Joosen, W.: On the performance impact of data access middleware for NoSQL data stores. IEEE Trans. Cloud Comput. (TCC) PP(99), 1–1 (2016)
Rafique, A., Van Landuyt, D., Reniers, V., Joosen, W.: Towards an adaptive middleware for efficient multi-cloud data storage. In: Proceedings of the 4th Workshop on CrossCloud Infrastructures & Platforms, Crosscloud’17, pp. 4:1–4:6 (2017)
Rafique, A., Van Landuyt, D., Reniers, V., Joosen, W.: Towards scalable and dynamic data encryption for multi-tenant saas. In: Proceedings of the Symposium on Applied Computing, SAC ’17, pp. 411–416. ACM, New York (2017)
Rafique, A., Walraven, S., et al.: Towards portability and interoperability support in middleware for hybrid clouds. In: CrossCloud 2014: IEEE INFOCOM CrossCloud Workshop. IEEE (2014)
Raghavan, A., Chandra, A., Weissman, J.: Tiera: towards flexible multi-tiered cloud storage instances. In: Middleware ’14 15th International Middleware Conference, pp. 1–12. ACM (2014)
Redhat. Drools. https://www.drools.org/. [Last visited on June 20, 2017]
IWT SBO. DeCoMaDs: Deployment and Configuration Middleware for Adaptive Software-as-a-Service. https://distrinet.cs.kuleuven.be/research/projects/DeCoMAdS [Last visited on October 02, 2017]
Sellami, R., Bhiri, S., Defude, B.: Odbapi: A unified rest api for relational and NoSQL data stores. In: 2014 IEEE International Congress on Big Data (BigData Congress), pp. 653–660 (2014)
Sharp, J., McMurtry, D., Oakley, A., Subramanian, M., Zhang, H.: Data Access for Highly-Scalable Solutions Using SQL, NoSQL, and Polyglot Persistence, 1st edn. Microsoft Patterns & Practices (2013)
Spring. Spring Data. http://projects.spring.io/spring-data/, 2015. [Last visited on June 20, 2017]
Stonebraker, M., Madden, S., Abadi, D.J., Harizopoulos, S., Hachem, N., Helland, P.: The end of an architectural era:(it’s time for a complete rewrite). In: Proceedings of the 33rd International Conference on Very Large Data Bases, pp. 1150–1160 (2007)
Storl, U., Hauf, T., Klettke, M., Scherzinger, S.: Schemaless NoSQL data stores âǍŞ object-NoSQL mappers to the rescue? In: 16th Conference on “Database Systems for Business, Technology, and Web” (BTW), pp. 579–600 (2015)
Vanhove, T., Van Seghbroeck, G., Wauters, T., De Turck, F.: Live datastore transformation for optimizing big data applications in cloud environments. In: 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM), pp. 1–8 (2015)
Verginadis, Y., Michalas, A., Gouvas, P., Schiefer, G., Hübsch, G., Paraskakis, I.: Paasword: A holistic data privacy and security by design framework for cloud services. J. Grid Comput. 15(2), 219–234 (2017)
Walraven, S., Truyen, E., Joosen, W.: A middleware layer for flexible and cost-efficient multi-tenant applications. In: Middleware ’11: Proceedings of the 12th ACM/IFIP/USENIX International Conference on Middleware, pp. 370–389 (2011)
Yang, K., Jia, X.: An efficient and secure dynamic auditing protocol for data storage in cloud computing. IEEE Trans. Parallel Distrib. Syst. 24(9), 1717–1726 (2013)
Acknowledgements
We would like to thank Bert Lagaisse and Vincent Reniers for their helpful comments and constructive feedback. This research is partially funded by the Research Fund KU Leuven (project GOA/14/003 - ADDIS), the SBO DeCoMAdS project, and the imec SeClosed project.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Rafique, A., Van Landuyt, D. & Joosen, W. PERSIST: Policy-Based Data Management Middleware for Multi-Tenant SaaS Leveraging Federated Cloud Storage. J Grid Computing 16, 165–194 (2018). https://doi.org/10.1007/s10723-018-9434-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10723-018-9434-6