Okay, I’m going to geek out for this one. The start of my cloud computing career was not using cloud computing services, it was building them. This meant setting up a service that could do complex things, handle many service requesters, and manage to serve many clients simultaneously. To do all this, I had to design and build a multitenant architecture.
Multitenancy is the architectural principle of serving multiple clients or “tenants” from a single instance of a software application. This concept has played a pivotal role in the evolution of public cloud computing services and will continue to do so. That said, it’s not discussed much anymore.
The evolution of multitenancy has significantly improved the efficiency and scalability of public cloud computing services. The ability to dynamically allocate and de-allocate resources based on the fluctuating demands of multiple tenants enables public cloud providers to achieve high levels of resource utilization, which is key.
As companies continue to build and expand their offerings in the cloud, the concept of multitenancy has undergone significant advancements, driving innovation and efficiency in delivering services to many tenants simultaneously.
Where is multitenancy going?
As I watch keynotes this week about new processors and AI-enabled platform management services, I can’t help but think about what occurs on the back end. Processors, no matter how efficient, won’t do much good if they don’t have a sound tenancy system to work with. Indeed, tenancy systems can make inefficient processors work well and modern ultra-effective processors work poorly, depending on how well they are designed.
We used to ask our cloud providers how they support multitenancy. We wanted first to understand how the data and processes were protected from cross-tenant attacks. Also, we wanted to know how efficient the processing was at supporting applications, considering that the tenant management system had to multiplex the processing and the I/O among any number of tenants all doing different things.
When building multitenant architectures, we encountered data isolation, security, and performance optimization challenges within multitenant environments. Addressing these concerns required the development of new isolation mechanisms, robust access controls, and performance-tuning capabilities. These ensured that each tenant operated securely and efficiently within a shared infrastructure.
As public cloud computing services evolve, so do the technologies that support multitenancy. Advancements in containerization and microservices architecture have significantly improved the capabilities of multitenant environments. Although we don’t know precisely what the hyperscalers are doing behind the scenes, these technologies have empowered public cloud providers to offer more granular isolation and improved performance guarantees. This provides greater flexibility in serving diverse client requirements within a shared infrastructure.
Addressing efficiency today
These days we are focused on new, faster processors and reduced power consumption. More gains can be obtained by better optimizing the systems that manage how the processors and storage systems are allocated to tenant processes. If I were the CTO of a cloud provider, I would start there and then move to the CPUs and I/O systems, which are more important.
The evolution of multitenancy in public cloud computing services will be driven by advancements in container orchestration, edge computing, and artificial intelligence. These technologies will further enhance the capabilities of multitenant environments, such as using an edge system to allocate some of the processing that is tasked to a multitenant architecture, or leveraging AI to direct allocation. This will be much better than the simple algorithms most are using today.
As the complexity of client requirements grows, public cloud providers will continue to invest in refining multitenancy approaches. I suspect this will mean focusing on workload isolation, data governance, and compliance management within shared infrastructures.
Also, the convergence of multitenancy with hybrid and multicloud architectures will soon be a thing, even though multicloud is already common. The idea will be to offer seamless integration and interoperability across cloud environments, supporting the notion of heterogeneity at the multitenant level and not at the application and data levels, which is how things are done now.
This is important stuff that is no longer discussed as much as it should be. I’m confused that we’re still focusing on resources (such as processors) that multitenant systems will manage without talking about the evolution of the multitenant architectures. I suspect they are becoming so different from provider to provider that it may become a point of confusion for cloud consumers, including enterprises. I suggest that we keep watching for the reasons I just listed. Fair enough?