ABSTRACT
SaaS providers continuously aim to optimize the cost-efficiency, scalability and trustworthiness of their offerings. Traditionally, these concerns have been addressed by application-level middleware platforms that implement a multi-tenant architecture.
However, the recent uprise and industry adoption of container technology such as Docker and Kubernetes, exactly for the purpose of improving the cost-efficiency, elasticity and resilience of cloud native services, triggers the unanswered question whether and how container technology may affect such multi-tenant architectures.
To answer this question, we outline our ideas on a container-based multi-tenant architecture for SaaS applications. Subsequently, we make an assessment of the technical Strengths, Weaknesses, Opportunities, and Threats (SWOT) which should be taken into account by a SaaS provider when considering the adoption of such container-based architecture.
- The kubernetes resource model. https://github.com/kubernetes/kubernetes/blob/release-1.3/docs/design/resources.md.Google Scholar
- Running multi-node kubernetes using docker. https://github.com/kubernetes/kube-deploy/tree/master/docker-multinode.Google Scholar
- Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, and John Wilkes. Borg, omega, and kubernetes. Commun. ACM, 59(5):50--57, 2016. Google ScholarDigital Library
- Sandeep Dinesh. Mongodb replica sets with kubernetes,. https://medium.com/google-cloud/mongodb-replica-sets-with-kubernetes-d96606bd9474.Google Scholar
- Aleksander Slominski et al. Building a multi-tenant cloud service from legacy code with docker containers. Proceedings - 2015 IEEE International Conference on Cloud Engineering, IC2E 2015, pages 394--396, 2015. Google ScholarDigital Library
- Dana Petcu et al. Portable cloud applications - From theory to practice. Future Generation Computer Systems, 29(6):1417--1430, 2013. Google ScholarDigital Library
- Miguel G. Xavier et al. A Performance Comparison of Container-Based Virtualization Systems for MapReduce Clusters. 2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, pages 299--306, 2014. Google ScholarDigital Library
- Miguel G. Xavier et al. A Performance Isolation Analysis of Disk-Intensive Workloads on Container-Based Clouds. 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, pages 253--260, 2015. Google ScholarDigital Library
- Quinton Hoole. Kubernetes cluster federation,. https://github.com/kubernetes/kubernetes/blob/release-1.3/docs/proposals/federation.md.Google Scholar
- Nane Kratzke. A Lightweight Virtualization Cluster Reference Architecture Derived from Open Source PaaS Platforms. Open Journal of Mobile Computing and Cloud Computing, 1(2):17--30, 2014.Google Scholar
- Kubernetes. Sharing a cluster with namespace,. http://kubernetes.io/docs/admin/namespaces/.Google Scholar
- Jacob Leverich and Christos Kozyrakis. Reconciling high server utilization and sub-millisecond quality-of-service. In Proceedings of the Ninth European Conference on Computer Systems, EuroSys '14, pages 4:1--4:14, New York, NY, USA, 2014. ACM. Google ScholarDigital Library
- Claus Pahl. Containerization and the paas cloud. IEEE Cloud Computing, 2(3):24--31, 2015.Google ScholarCross Ref
- Ansar Rafique, Dimitri Van Landuyt, Bert Lagaisse, and Wouter Joosen. Policy-driven data management middleware for multi-cloud storage in multi-tenant saas. In 2nd IEEE/ACM International Symposium on Big Data Computing, pages 78--84. IEEE, December 2015.Google ScholarCross Ref
- Stephen Soltesz, Herbert Pötzl, Marc E. Fiuczynski, Andy C. Bavier, and Larry L. Peterson. Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors. In Proceedings of the 2007 EuroSys Conference, Lisbon, Portugal, March 21-23, 2007, pages 275--287. ACM, 2007. Google ScholarDigital Library
- MongoDB (TM). Running mongodb as a microservice with docker and kubernetes,. https://www.mongodb.com/blog/post/running-mongodb-as-a-microservice-with-docker-and-kubernetes.Google Scholar
- Eddy Truyen. Kubernetes on openstack. https://github.com/eddytruyen/kubernetes_on_openstack.Google Scholar
- Abhishek Verma, Luis Pedrosa, Madhukar Korupolu, David Oppenheimer, Eric Tune, and John Wilkes. Large-scale cluster management at Google with Borg. Eurosys, 2015. Google ScholarDigital Library
- Ryan Wallner. Tutorial: Deploying a replicated redis cluster on kubernetes with flocker, https://clusterhq.com/2016/02/11/kubernetes-redis-cluster.Google Scholar
- Stefan Walraven, Wouter De Borger, Bart Vanbrabant, Bert Lagaisse, Dimitri Van Landuyt, and Wouter Joosen. Adaptive performance isolation middleware for multi-tenant saas. In 2015 IEEE/ACM 8th International Conference on Utility and Cloud Computing (UCC), pages 112--121, December 2015.Google ScholarCross Ref
- Stefan Walraven, Eddy Truyen, and Wouter Joosen. Comparing paas offerings in light of saas development. Computing, 96(8):669--724, August 2014. Google ScholarDigital Library
- Stefan Walraven, Dimitri Van Landuyt, Ansar Rafique, Bert Lagaisse, and Wouter Joosen. Paashopper: Policy-driven middleware for multi-paas environments. Journal of Internet Services and Applications, 6(1), January 2015.Google ScholarCross Ref
- Johannes Wettinger, Uwe Breitenbücher, Oliver Kopp, and Frank Leymann. Streamlining DevOps automation for Cloud applications using TOSCA as standardized metamodel. Future Generation Computer Systems, 2015. Google ScholarDigital Library
- Mingwei Zhang, Daniel Marino, and Petros Efstathopoulos. Harbormaster: Policy Enforcement for Containers. 2015 IEEE 7th International Conference on Cloud Computing Technology and Science (CloudCom), pages 355--362, 2015. Google ScholarDigital Library
- Towards a container-based architecture for multi-tenant SaaS applications
Recommendations
Towards modeling a variable architecture for multi-tenant SaaS-applications
VaMoS '12: Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive SystemsA widespread business model in cloud computing is to offer software as a service (SaaS) over the Internet. Such applications are often multi-tenant aware, which means that multiple tenants share hardware and software resources of the same application ...
Towards Dynamic Tenant Management for Microservice based Multi-Tenant SaaS Applications
ISEC '18: Proceedings of the 11th Innovations in Software Engineering ConferenceIn a multi-tenant cloud application, more than one heterogeneous tenants share the single instance of the application. It increases the degree of resource sharing among tenants and brings down the operational cost. In this work, we propose a ...
Towards performance isolation in multi-tenant SaaS applications
MW4NG '12: Proceedings of the 7th Workshop on Middleware for Next Generation Internet ComputingMulti-tenancy has shown promising results in achieving high operational cost efficiency by sharing hardware and software resources among multiple customer organisations, called tenants. In the context of cloud computing, this paradigm enables cloud ...
Comments