How has Utility Computing evolved over the last few decades? Where do we trace its immediate heritage back to? In a previous post I discussed how virtualization technologies evolved in the last 50 years? Let us now look at how the age-old concept of multi-tenancy coupled with virtualization technologies – Virtual Machines, Virtual LANs, Virtual Private Networks – has laid the foundation for utility computing business.
Multi-tenancy is all about pooling resources and partitioning them out to different users on-demand. Subsequently, users are billed for their use of the resources. Resources vary from real estate to power & cooling to physical security. The landlords or providers bring economies of scale and scope to lower unit prices. See the graphic below that looks back about 20 years on how technology service providers have offered certain services that are precursors to utility computing.
Does anyone remember the colocation wars between incumbent carriers (ILEC) and competitive carriers (CLEC) in the US in the late 1990s when telecom deregulation held out the promise of robust competition? Service Providers shared or were forced to share physical resources. Each provider’s assets were separated by metal cages, just like apartments in a housing complex were separated by walls, .
Then came Hosting. Enterprise customer websites and applications were hosted in server farms, with servers dedicated to each customer. Network access and information security was shared, in addition to facilities. One could say that tenants were still separated by sheet-metal using dedicated servers.
Virtual Multi-tenancy
Many providers of utility computing cut their teeth in colocation and hosting businesses. Utility computing leveraged the virtualization of computing, networking and storage to bring us to a new stage of this multi-tenancy where isolation between tenants is no longer via sheet metal, but by software. Software-based switches or security software provides isolation for virtual machines that are running different applications. Multi-tenant applications are able to securely operate on different customers’ data. This sort of software-based multi-tenancy or virtual multi-tenancy is allowing the pooling of resources at a much granular level than was possible when sheet-metal was used to separate resources provided to each tenant.
To understand the efficiency and cost-effectiveness virtual multi-tenancy offers, consider this: the amount of processing power and memory that can be packed in to a computer system these days is enormous. To dedicate a server per customer and separate that server with sheet metal means utilizing a large chunk of processing power for demands of one. Just as available processing power per square feet can be driven up by current-day servers packed in a large data center, utilization per square feet of data center can be driven up with virtual multi-tenancy.
Going back to the apartment complex example, virtual multi-tenancy would be analogous to each room in the complex being offered up for separate tenancy as opposed to traditional renting of a unit comprised of many rooms. And, tenants don’t care which room they get as long as they get the same space and amenities (service level). In short, pooling similar resources at a granular level – virtual machine, not dedicated server (room, not rental unit) — and allocating on-demand makes software-based multi-tenancy and the economics that ensues compelling.
Multiplexing, multitasking, and virtual multi-tenancy has brought us to the utility computing business. It is early days still on what the impact of this new business is, but the unit cost reduction of computing that it promises is certain to change the way we consume technology and run our businesses, as well as our lives.