(One of) the next big things… “from Servers to Services”
A few days ago I was with a Business Partner at an event where one of the customers presented their own consolidation projects. This was not a shocking presentation for me as I have seen many customers moving from a physical environment to a virtual environment and get very excited about that (more flexibility, consolidated footprint, less power required etc etc). One thing got my attention during the presentation though. It was clear since the beginning that the presenter was not a "geek person" like us spending most of our time to understand the very latest technology trends used by customers world-wide trying to influence what others should be doing based on our own vision of the (IT) world. This was a smart person but perhaps not with this broadest visibility and insides about the latest buzzes I was referring to. He is very focused on his job (IT Manager of a relatively small company): maintain the IT infrastructure for their business sake running applications as smoothly as possible. No big time to spend on forums speculating on the "next big thing" or getting into religious battles debating whether AMD or Intel is better or debating whether scaling up or scaling out is the best approach. Just focus on running "damn well" the business applications he has got and that's pretty much it. This doesn't mean this guy has never wondered what there was "out there", as a matter of fact he has been using a state-of-the-art VMware VI3 to achieve what I have described, but certainly he has seen this, so far, as a tool to "consolidate" a bunch of Windows physical servers into a bunch of Windows virtual servers.
What got my attention was that at some point he showed a chart whose title was "From Servers to Services". He basically said that in the past he tried to achieve a certain level of consolidation and server containment hosting more than one applications on a single Windows server; however he now has the freedom to create "bubbles" (aka virtual machines) which are sand-box environments with their own single Windows OS supporting a single application that he can treat as independent "services". This allows him to continue to be able to host more than one service on a single physical server. Something like this if you will.
This doesn't mean he was able to consolidate regularly many applications on a single Windows host but apparently he has achieved a little bit of success in the past trying to do this.
This is interesting for a number of aspects. First of all many people are worried about "virtual machines sprawls" given the fact that it is easy to create virtual servers. Apparently, although some customers have managed to achieve some level of OS consolidation by means of collapsing more apps into one image, they are stepping back to create these sand-boxes. This is happening and it's a fact so perhaps the theory of consolidating apps onto a single OS image has more disadvantages than those associated to the sprawl of OS images. I am not saying this is true ... I am just speculating on real situations I have seen. This is one, but not limited to that: other partners told me that this is becoming a common approach. The key point is that these customers are not happy about this OS sprawl but it's a "tax" they are prepared to pay because the advantages offset the disadvantages.
But even more important than this is the fact that this speaker did probably have no clue about all these academic discussions regarding the changing role of the Operating Systems and the Virtual Appliance concept. Mendel Rosenblum touched on this concept at the USENIX conference and I have posted on a similar subject here a few weeks ago.
To me, this is "getting to the same point from different perspectives". The IT Manager got to the point from a practical perspective: without a theoretical analysis of the latest technologies, their capabilities and how these could be applied to change the x86 software deployment landscape.... he understood that having a single application bound to a single OS was the way to go. Again, for practical reasons. On the other hand there are other people (like Mendel) that look at this from a very different perspective (more analytical, more academic if you will) and get to the same conclusion.
I guess in the end I should mention that I somewhat agree with the people claiming that consolidating more applications into the same OS would (ideally) be better. The problem is that we are learning from the field that this is not very practical as we are finding out more and more often that the application is really bound to the OS and it is very difficult to create tools, technologies, best practices and especially a culture that allow customers to "un-bind" the applications from their own OS instances (in fact in my post mentioned above I refer to the OS as a 2GB DLL of the application). And if we don't succeed in this "un-bundle" process why not bundling them for good?! I guess the customer I have been referring to would be happy in the near future to handle an IT infrastructure like this:
This would be a true from Servers to Services architecture. But he is on the right track (in my opinion).