Cloud Anti-Patterns: Multitenancy

Cloud Anti-Patterns: Multitenancy

What does "cloud native" really mean? In this series we'll look at patterns to be avoided while (re)designing software applications for the cloud. Cloud anti-patterns exist where we find functionality at the application level which is made redundant by a lower layer.

Multitenancy

A sign of feature maturity in a software application providing services has historically been the ability to support multiple "tenants". The term multitenancy takes the analogy of an office or apartment building where individual tenants are protected within their own privacy domains but share a common infrastructure. A multi-tenant software application supports multiple administrative domains within a single instance of the application.

Software-as-a-Service (SaaS)

By definition SaaS provides for multiple tenants. You could provide a software service using a multi-tenant application running on a cluster of physical servers, however today you would more likely use virtual servers provided by an Infrastructure-as-a-Service (IaaS). With IaaS available you don't need multitenancy support in a software application to use it for SaaS as you can dedicate an instance of the application, on a dedicated virtual server, to each customer. IaaS is itself a multi-tenant application.

Legacy software vendors may promote their multitenancy support with a claim that doing it at the application level maximizes utilization of application resources and minimizes application administration effort. While this may be true, a cloud aware application pushes the problem down the stack.

Microservices

Good software design encapsulates functionality within well understood bounds with well defined interfaces. If those interfaces are networkable it enables placement across hosts. Scalable applications are composed of portable components which may be placed independently. Cloud aware applications extend this architecture to incorporate services provided by the underlying IaaS and other SaaS.

Multitenancy support is required by all SaaS as well as IaaS itself. The components required (authentication, authorization, groups, ...) are reusable services provided for all applications. Applications using these services, instead of realizing their own, knit more seamlessly into their environment and contribute to greater overall manageability. The application may also contribute it's services to be used by other applications. Now we have a truly cloud aware application contributing to a richer operating environment.


> IaaS is itself a multi-tenant application. You are confusing multi-tenancy with tenant space. See section 2.2 of https://se2.informatik.uni-wuerzburg.de/pa/uploads/papers/paper-371.pdf

Like
Reply

Single tenancy is definitely the way to go for many enterprise focused cloud native applications. However, for some mass-market applications, like consumer EPC, the tenant is the subscriber, numbering into the 10's of millions. Or, if fixed 4G/5G wireless for last-mile takes off, the tenant is the small or medium business which can easily run into the 10's of thousands or more. Do you feel there is a practical limit at which point multi-tenant awareness is still required in the application?

Like
Reply

To view or add a comment, sign in

More articles by Vance Shipley

  • Tapping into the Power of the Matrix

    If Elon Musk and others are correct about us living in a simulation than it occurs to me that it offers an interesting…

    1 Comment
  • What is Truth?

    In my engineering career I have honed the ability to get the facts needed to scientifically determine the answers my…

  • Network Slicing for Dummies

    I have found all the attention 5G network slicing is getting quite curious. I get the value proposition behind it but…

    5 Comments
  • Cloud Anti-Patterns: Active/Standby

    What does "cloud native" really mean? In this series we'll look at patterns to be avoided while (re)designing software…

  • Functional DevOps

    I recently coined the term "functional devops" to describe something we've been doing at SigScale. Where "devops"…

  • Dumb Pipes are Dead

    For a number of years now there has been a debate going on about whether or not communications service providers (CSP)…

    6 Comments
  • Transactional Licensing is a Legacy of Appliances

    Today there is a massive transformation underway in CSP networks the scope of which hasn't been seen since the…

    2 Comments

Others also viewed

Explore content categories