Yes … In case you were living under a rock…. cloud computing is where it is at. I am sure you have you have heard all great analogies about how cloud computing is making computing utilitarian and it is the harbinger of new sets of innovations analogous to the innovations that came out of the industrial revolution when electricity and transportation became utilitarian, which meant people could put their respective factories up wherever they wanted instead of being close to waterways. Here is a picture of Ludwigshafen Germany in 1881. Imagine living here at that time period and thanks to the innovations that were brought about by utilitarian services
This is how we see Ludwigshafen today ….
So there are clearly some benefits that can achieved by cloud computing in the same vein … in the early 90’s you needed several thousands of dollars to start up a company today people can start companies in less than $2000 think about that for minute.
Multi-tenancy Applications and Small Companies
Small companies are the first to gravitate towards multi-tenant environments since they have very little to product… their focus is primarily to get the product out and use whatever capability to get a robust product set . Multi-tenancy Applications are like a youth hostels where you may have a place to bunk but you have community showers or shared showers. For most small companies this is ok as long as their stuff is not exposed to some one else or someone else’s stuff is not exposed to them… but there is not guarantee that it might not happen. Please understand I am not saying that Multi-tenancy is bad … it is just that there are certain types of clients that will gravitate towards that. Now Sales Force is definitely an exception where they are making improvements to secure information of companies to appeal to Enterprise clients. But there are some barriers for Enterprises to adopt Multi-tenant environments, I have tried to explain a few (this is not a exhaustive list)
Issues with Multi-tenant Applications and Enterprises
Enterprises need to know where their data stored, especially non-US based enterprises that may want flexibility in where their data located. Thanks to the recent news around Edward Snowden and folks this has become a major issue with a lot of Enterprises. Suppose your competitor is also using the same service as you.. would you want your sales lead information be stored in the same server as your competitors ??? Think about that for a minute
Yes all cloud providers will say their applications are secure and that information is well protect. Imagine in a multi-tenant environment shares the same database, the data base administrator decides to implement a policy to which your company will not subscribe to. Remember how you feel when you get something that you really did not ask for and you really did not want but you got it …. Now you have to figure out you are going to sell this change back your management chain.
I am not saying that people are staying still and that their is no development happening here but not a lot has been about it so far..
3) Limited Power
Look around there are limits to how much data you can put or store in some of these environments.. Yes you can pay for more database space and more storage etc but what if it is was just a unique phenomenon. The other thing to add here some capabilities will be stunted because the provide the simplest common denominator. For example a Cloud provider can support multiple languages but not the one for the market you are going after… now what do you do ?
4) Could end being more costly
Yes.. you have low utilization rates.. but what about the cost of rewriting your application to support multi-tenant environments.. this stuff is not cheap, it is expensive. If you are in the business of continuous delivery you need to have significant ROI and client base to get even break even. What if you decide you want to change your provider what happens then ?
What could be better?
I am a big fan of virtual private clouds… Virtual private clouds address all the issues that I have identified. Think about virtual private clouds like a condo building where each unit has their own personality and has their own usage model and the kind of database, application you need etc. etc.
Now if you are enterprise or a small company that is trying to attract larger clients … virtual private clouds could be for you. What are the benefits though?
1) You are the master of your own instance
2) You can have the kind of applications or service that you want
3) You can upgrade when you like and you are not bound by the providers discretion
4) You can move your entire application to a different provider with minimal costs
5) In the long run it turns out to be a heck of a lot cheaper than being on multi-tenant instance (Another blog post on this later)
I am intrigued about your opinions and thoughts on this matter…
In the spirit of full disclosure, I believe multi-tenant applications will be get better but the future will be a hybrid of sorts, since I believe in the vision of Cloud so much… I have decided to join a company that provides such utilities to enterprise clients … please go check out the company and also let me know what you think ? http://wp.me/P3eSgZ-ly