Thursday, September 2, 2010

Transparencies of Scale



One of the central tenants, no pun intended, of Cloud Computing is multi-tenancy. There is much debate within the technology community about the definition as well as the importance of a multi-tenant architecture. Essentially within a multi-tenant architecture all the users, tenants, share a common hardware and software infrastructure environment.

One of the world's most popular multi-tenant services is Facebook. Multi-tenancy is how Facebook supports 500 million+ users with fewer than 50,000 servers. Facebook supports one environment which the users share while still keeping individual user data separated from the rest of the community. Multi-tenancy is a critical architectural attribute of many other important web-based services like Amazon, eBay, and Gmail.

While multi-tenant applications dominate the consumer landscape for web-based services, most business applications still run on legacy client/server architectures. One of the world's most common client/server products would be Outlook/Exchange. Exchange Servers work alone(or in relatively small, expensive clusters), in contrast to our Facebook example where our architecture is working together to support all our users. Each individual company purchases an individual copy of Exchange Server to support themselves. There are many resources available to enable multi-tenant like qualities with client/server products and services, in fact it's a multi-billion dollar industry, but to scale client/server technologies to tens of thousands of users requires millions of dollars in ongoing investment. An investment that large enterprises habitually make everyday and that small and medium businesses would never consider as a viable option.

Many feel that multi-tenancy is one architectural framework a vendor could utilize to deliver technology services to customers and that business customers should not concern themselves with issues of multi-tenancy. I can see the point to this argument. If a firm is searching for an answer to business issues then the vendor's architecture of choice should be a secondary matter to cost, reliability, functionality, security, etc. and while multi-tenancy delivers economies of scale for vendors it does not inherently deliver value to users. However, multi-tenancy delivers more than just economies of scale for the vendor. It delivers Transparencies of Scale for the customer.

Economies of scale refers to the cost advantages a firm is able to achieve through expansion. Transparencies of Scale refers to the transparency advantages a customer is able to achieve due to the shared multi-tenant environment, through the expansion of the community. Let’s take a look at Transparencies of Scale across the key attributes of cost, reliability, functionality, and security.

Cost is always a critical factor in choosing how to consume technology services. We can clearly see the transparency multi-tenancy brings to cost. How much does an Exchange/Outlook environment cost for 1,000 person firm? That depends. How important is high-availability, what size mailboxes will you support, what’s your long term storage capacity planning look like, how will you handle SPAM, how much and what brand of hardware will you use, will you virtualize, how will you handle disaster recovery, how many locations are you supporting, do you have remote workers, do you need to upgrade desktops/laptops ... the list can go on indefinitely and is constantly in flux. There is guidance available for companies in determining what email is roughly costing them BUT this cost is going to vary from company to company as no two environments are exactly alike. Community is critical to adding transparency to cost and IT professionals work tirelessly in user forums and user groups to create this community, but at the end of the day, their environments stand alone. Contrast this client/server reality to the multi-tenant environment of Google Apps. How much does Google Apps cost for a 1,000 person firm? It costs $50,000. There is a direct relationship between the number of users and cost. High-availability is included, the mailboxes are 25 GB, capital investments in hardware and software are made by the service provider, disaster recovery is included, SPAM and virus protection are included, it works on any Internet connected device,  local and remote workers share the same environment (like the rest of community). The community can now hold the vendor much more accountable as the costs associated with the services are more transparent. I realize both models will still have variables associated with the complexities of each individual customer environment but we are reducing those variables and in doing so we’re increasing the amount of transparency in regards to cost. The community benefits as their environment now stands as one - it becomes exponentially easier to determine the Total Cost of Ownership and protects the customer community from paying to over provision or to pay as a consequence of under provisioning - the only two options in the client/server environment.

Reliability of technology services is more critical than ever and thankfully multi-tenancy is providing unprecedented levels of transparency to reliability. Several years ago I was working with a large enterprise with over a billion dollars in annual revenue. This firm had another project that I was not personally involved with (thankfully) and long story short their email and email storage went down for the better part of a week, many users email histories were never recovered. There were many variables that caused this reliability event but outside of the company, the involved vendors, and the consultants who made small fortunes “fixing” the environment no one heard about the issue. Contrast that to a multi-tenant environment like Google Apps or the free Gmail service. Even brief disruptions or delays in the free Gmail service generates a global news event within hours if not minutes. Exchange/Outlook environments go down everyday and unless you are directly impacted you have no idea of the issues. A company with a down Exchange Server is on their own. Just last week a Hosted Exchange provider went down for an entire day leaving 400+ businesses without email, this user community had no voice. In fact, most do not even know they are part of a community. The shared multi-tenant environment creates a powerful user community, again increasing transparency exponentially. Imagine, any time your Exchange Server goes down the world’s most popular blogs write a story about how Microsoft failed you ... that’s serious transparency and that’s the level of transparency Google Apps and Amazon Web Services run at everyday.   

Better transparency of functionality is my favorite. Like most IT professionals much of my experience revolves around the client/server environment.  What’s included? Seems like such a basic question and it should have a simple answer. However, the profitability of client/server technology is often maximized by making this answer as complex as possible. Not surprisingly, to realize the “full potential of the integrated environment” the customer is pressured to buy one more software product, another piece of hardware or pay for more services - the software industrial complex at its best. What functionality you receive depends on what version of software you have and often what version of what version you have ... we have SharePoint ... you need the Enterprise Edition or Forms Server, oops you need more SQL Server licenses and more hardware ... now let’s talk about high-availability and governance and capacity planning. Well, you get what you pay for ... except it’s impossible to tell what you’re really getting or if you’re getting what you pay for, not that you know what you’ll actually be paying for everything ... it doesn’t work? ... time to call in the consultants. It’s absolutely ridiculous and information technology is really the only department this type of systematic failure is tolerated at such high levels and unfortunately expected. The gulf between IT and business users continues to grow and in many companies these two groups commonly view their objectives as mutually exclusive. IT, without exception, works for the business and the days of "everyone gets a Dell and a Blackberry" are quickly coming to an end. Multi-tenant services provide the same functionality across the entire community. Services are often divided into editions or versions, Google Apps for Education vs. Google Apps for Businesses for example, but again as we remove variables between members of the community, all 9,000,000 students on the Education Edition for example, it empowers the customers to realize more value from their investments. It becomes easier to determine the functionality included because transparency is greatly improved in the shared multi-tenant environment. It is much easier to determine what must be spent if it is easier to determine what specifically is being purchased.

Security, security, security. This has to be the most ironic argument facing modern cloud computing and multi-tenant architectures. Security at most companies sucks. Security at small companies is horrendous. Despite all the techno-babble, horrible security stems from two primary sources. The first is data being moved with local devices i.e. thumb drives, laptops, storage tapes, etc. How hard is it to download a large amount of company data to Excel, put it on a thumb drive and walk out the door? In most environments, the most strenuous part of the task is waiting for the PC to boot up. The second is a lack of capital and human resources. Every firm has limited funds and the world only has so many security experts. State of the art security requires information be centralized as well as a significant ongoing capital investment in combating continuously evolving threats. Total security is not a state that can be reached. Proper security is an increasingly expensive ongoing effort with no end point. How secure is your environment? In the client/server environment again this answer, from company to company, is as different as snowflakes. Each environment stands alone. Fearful of security holes, firms more often fall prey to over investing in technology than any other threat. Multi-tenancy unites the members of the community against security threats. Just like a bank provides more security via increased transparency so does the multi-tenant architecture. Every one knows the money is in the bank, including those wishing to do harm. However, the community holds the bank accountable to protect their funds and holds the bank accountable for compensation should the bank’s protections fail. A $1,000 is safer in your bank and accessed with your card than it is riding around in your pocket. If something happens to the money in your pocket, it’s your problem - perhaps someone else is accountable but the burden is yours alone to bear. If something happens to your card, nothing happens to your money - just like if something happens to your laptop nothing happens to your Gmail messages as they are protected though centralization. If security is breached then the vendor is held accountable by the community. Companies are united and empowered by the multi-tenant architecture.

Multi-tenancy is a complicated subject and I have intentionally taken a lot of grey area out of the issues. However, it is clear multi-tenancy utilized by modern Cloud Computing vendors is a critical component allowing vendors to achieve economies of scale and, as importantly, for customers to achieve Transparencies of Scale. The multi-tenant environment unites the customers in a community, a community in which they have more power as a group than they have as individuals. Before multi-tenancy, vendors were the dominate community, systematically exploiting individual firms.

Utilizing technology services is an extremely complex endeavour when your environment stands alone, isolated. Multi-tenancy unites the user community and systematically empowers customers through Transparencies of Scale.



No comments:

Post a Comment