PERSIST: Policy-Based Data Management Middleware for Multi-Tenant SaaS Leveraging Federated Cloud Storage

  • Ansar Rafique
  • Dimitri Van Landuyt
  • Wouter Joosen


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


Policy-based middleware NoSQL data stores Polyglot persistence Multi-tenant SaaS Federated cloud storage Data encryption 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.



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.


  1. 1.
    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)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    Brewer, E.: Cap twelve years later: How the “rules” have changed. Computer 45(2), 23–29 (2012)CrossRefGoogle Scholar
  12. 12.
    Chohan, N., Bunch, C., Krintz, C., Canumalla, N.: Cloud platform datastore support. J. Grid Comput. 11(1), 63–81 (2013)CrossRefGoogle Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    Ehcache. JAVA’S MOST WIDELY-USED CACHE. [Last visited on June 20, 2017]
  16. 16.
    Ferdman, M. et al.: Clearing the clouds: A study of emerging scale-out workloads on modern hardware. SIGPLAN Not. 47(4), 37–48 (2012)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    Hibernate. Hibernate OGM - The power and simplicity of JPA for NoSQL datastores. [Last visited on June 20, 2017]
  24. 24.
    imec. D-BASE: Optimization of Business Process Outsourcing Services. [Last visited on October 02, 2017]
  25. 25.
    imec. DMS2: Decentralized Data Management and Migration of SaaS. [Last visited on October 02, 2017]
  26. 26.
    imec. Sequoia: Middleware for scalable, attribute-based querying of multitenant, cloud-based databases. [Last visited on October 02, 2017]
  27. 27.
    Impetus. A JPA 2.1 compliant Polyglot Object-Datastore Mapping Library for NoSQL Datastores. [Last visited on June 20, 2017]
  28. 28.
    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)Google Scholar
  29. 29.
    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)CrossRefGoogle Scholar
  30. 30.
    Mell, P., Grance, T.: The NIST Definition of Cloud Computing. [Last visited on Febuary 18, 2016]Google Scholar
  31. 31.
    Oracle. EntityManager (Java(TM) EE 7 Specification APIs. [Last visited on June 22, 2017]
  32. 32.
    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)Google Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    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)Google Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    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)Google Scholar
  37. 37.
    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)Google Scholar
  38. 38.
    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)Google Scholar
  39. 39.
    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)Google Scholar
  40. 40.
    Redhat. Drools. [Last visited on June 20, 2017]
  41. 41.
    IWT SBO. DeCoMaDs: Deployment and Configuration Middleware for Adaptive Software-as-a-Service. [Last visited on October 02, 2017]
  42. 42.
    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)Google Scholar
  43. 43.
    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)Google Scholar
  44. 44.
    Spring. Spring Data., 2015. [Last visited on June 20, 2017]
  45. 45.
    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)Google Scholar
  46. 46.
    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)Google Scholar
  47. 47.
    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)Google Scholar
  48. 48.
    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)CrossRefGoogle Scholar
  49. 49.
    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)Google Scholar
  50. 50.
    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)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media B.V., part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department Computer Science, imec-DistriNet Research GroupHeverleeBelgium

Personalised recommendations