Skip to main content

Using Microservices to Customize Multi-tenant Software-as-a-Service

Abstract

Enterprise resource planning (ERP), customer relationship management (CRM), and other enterprise solutions are not used out of the box: Companies hire consultants to customize these software solutions that are deployed “on premises” to fit their specific business processes. When software vendors move to multitenant software-as-a-service (SaaS), they cannot onboard their customers who heavily customized their “on-premises” installation. In SaaS, all customers share the same source code and computing resources to ensure economies of scale. We present here a novel approach to support SaaS customization using microservices architectures: Each customization is encapsulated as a microservice that replaces the standard functionality. We evaluated the feasibility of our approach on two industrial studies of ERP and CRM service vendors and discussed different design choices. The results of our experiments show that our approach can achieve both the isolation required by multitenancy and the assimilation required by deep customization.

Keywords

  • Microservices
  • Software architecture
  • Cloud SaaS
  • Customization
  • Multi-tenancy

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-030-31646-4_12
  • Chapter length: 33 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   129.00
Price excludes VAT (USA)
  • ISBN: 978-3-030-31646-4
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   169.00
Price excludes VAT (USA)
Hardcover Book
USD   169.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. E. Evans, M. Fowler, Domain-driven Design: Tackling Complexity in the Heart of Software (Addison-Wesley, Boston, 2004). https://books.google.no/books?id=xColAAPGubgC

    Google Scholar 

  2. M. Feathers, Working Effectively with Legacy Code. (Martin, Robert C. Prentice Hall PTR, New Delhi, 2004). https://books.google.no/books?id=CQlRAAAAMAAJ

  3. E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series (Pearson Education, New Delhi, 1994). https://books.google.no/books?id=6oHuKQe3TjQC

  4. C.J. Guo, W. Sun, Y. Huang, Z.H. Wang, B. Gao, A framework for native multi-tenancy application development and management, in The 9th IEEE International Conference on E-commerce Technology and the 4th IEEE International Conference on Enterprise Computing, E-commerce, and E-Services, 2007. CEC/EEE 2007 (IEEE, Piscataway, 2007), pp. 551–558

    Google Scholar 

  5. S. Hallsteinsen, M. Hinchey, S. Park, K. Schmid, Dynamic software product lines. Computer 41(4), 93–95 (2008)

    CrossRef  Google Scholar 

  6. S. Heyenrath, The .NET Standard/.NET Core version from the System Linq Dynamic functionality (2018). https://github.com/StefH/System.Linq.Dynamic.Core

  7. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.M. Loingtier, J. Irwin, Aspect-oriented programming, in European Conference on Object-oriented Programming (Springer, Berlin, 1997), pp. 220–242

    Google Scholar 

  8. T. Kida, M. Takeda, A. Shinohara, M. Miyazaki, S. Arikawa, Multiple pattern matching in LZW compressed text, in Proceedings DCC’98 Data Compression Conference (IEEE, Piscataway, 1998), pp. 103–112

    Google Scholar 

  9. T. Kwok, A. Mohindra, Resource calculations with constraints, and placement of tenants and instances for multi-tenant SaaS applications, in International Conference on Service-Oriented Computing (Springer, Berlin, 2008), pp. 633–648

    Google Scholar 

  10. J. Lee, G. Kotonya, Combining service-orientation with product line engineering. IEEE Softw. 27(3), 35–41 (2010)

    CrossRef  Google Scholar 

  11. Microsoft: MusicStore test application that uses ASP.NET/EF Core (2018). https://github.com/aspnet/MusicStore

  12. R. Mietzner, F. Leymann, Generation of BPEL customization processes for SaaS applications from variability descriptors, in IEEE International Conference on Services Computing, SCC’08, vol. 2 (IEEE, Piscataway, 2008), pp. 359–366

    Google Scholar 

  13. S. Newman, Building microservices: designing fine-grained systems. O’Reilly Media (2015). https://books.google.no/books?id=jjl4BgAAQBAJ

  14. T. Nguyen, A. Colman, J. Han, Enabling the delivery of customizable web services, in 2012 IEEE 19th International Conference on Web Services (ICWS) (IEEE, Piscataway, 2012), pp. 138–145

    CrossRef  Google Scholar 

  15. P.H. Nguyen, Nguyen, H. Song, F. Chauvel, E. Levin, Towards customizing multi-tenant Cloud applications using non-intrusive microservices, in The 2nd International Conference on Microservices, Dortmund (2019)

    Google Scholar 

  16. M.T. Nygard, Release it!: Design and Deploy Production-Ready Software, 2nd edn. (Pragmatic Bookshelf, Raleigh, 2018)

    Google Scholar 

  17. Oracle, Application Development SuiteScript (2018). http://www.netsuite.com/portal/platform/developer/suitescript.shtml

  18. T. Parsons, J. Murphy et al., Detecting performance antipatterns in component based enterprise systems. J. Object Technol. 7(3), 55–91 (2008)

    CrossRef  Google Scholar 

  19. K. Pohl, G. Böckle, F.J. van Der Linden, Software Product Line Engineering: Foundations, Principles and Techniques (Springer Science & Business Media, Berlin, 2005)

    CrossRef  Google Scholar 

  20. M.A. Rothenberger, M. Srite, An investigation of customization in ERP system implementations. IEEE Trans. Eng. Manag. 56(4), 663–676 (2009)

    CrossRef  Google Scholar 

  21. Salesforce, Apex Developer Guide (2018). https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/

  22. H. Song, F. Chauvel, A. Solberg, B. Foyn, T. Yates, How to support customisation on SaaS: a grounded theory from customisation consultants, in Proceedings of the 39th International Conference on Software Engineering Companion (IEEE, Piscataway, 2017), pp. 247–249

    Google Scholar 

  23. C. Szyperski, D. Gruntz, S. Murer, Component Software: Beyond Object-oriented Programming. ACM Press Series. (ACM, New York, 2002). https://books.google.no/books?id=U896iwmtiagC

  24. W.T. Tsai, X. Sun, SaaS multi-tenant application customization, in 2013 IEEE 7th International Symposium on Service Oriented System Engineering (SOSE) (2013), pp. 1–12

    Google Scholar 

  25. S. Walraven, E. Truyen, W. Joosen, A middleware layer for flexible and cost-efficient multi-tenant applications, in Proceedings of the 12th International Middleware Conference (International Federation for Information Processing, Amsterdam, 2011), pp. 360–379

    Google Scholar 

  26. S. Walraven, D. Van Landuyt, E. Truyen, K. Handekyn, W. Joosen, Efficient customization of multi-tenant software-as-a-service applications with service lines. J. Syst. Softw. 91, 48–62 (2014)

    CrossRef  Google Scholar 

Download references

Acknowledgements

The research leading to these results has received funding from the Research Council of Norway under the grant agreement number 256594 (the Cirrus project). We want to thank our colleagues at Supper Office and Visma for the fruitful collaboration in the Cirrus project. This chapter is an extension of [1] presented at the 11th International Conference on the Quality of Information and Communications Technology (QUATIC 2018).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Franck Chauvel .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Verify currency and authenticity via CrossMark

Cite this chapter

Song, H., Chauvel, F., Nguyen, P.H. (2020). Using Microservices to Customize Multi-tenant Software-as-a-Service. In: , et al. Microservices. Springer, Cham. https://doi.org/10.1007/978-3-030-31646-4_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-31646-4_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-31645-7

  • Online ISBN: 978-3-030-31646-4

  • eBook Packages: Computer ScienceComputer Science (R0)