Virtual – the new reality for developers
New assumptions needed by code cutters
There is something of a paradox here for developers, in that they will need to get used to the idea of optimising their code to what is, in practical terms, an intangible environment – in effect, thin air. Singhal agreed, and acknowledged that it is an area where service providers like HP need to be more intelligent. But it also offers developers tremendous opportunities and flexibility once they get used to exploiting virtualisation.
“One of the benefits of virtualisation is that developers can carve out for an application the environment that it thinks it needs, based on the assumptions the application will make about the environment it is to operate in,” Singhal said. “But that requires developers to understand what the application needs. Until developers catch up and recognise that they can take advantage of virtualisation capabilities the onus is on those doing the virtualisation to present to the applications things that look legacy environments.”
He suggested that this is where treating the datacentre as a system starts to help, because different applications with different requirements levels are present. That brings the opportunity to look at the total resource pool and workload, and with the right mixing and matching leave the fewest number of gaps in the environment. “And the bigger the datacentre, and the bigger the number of applications, the greater the opportunity to tile them in that way,” he said. “It is a bit like working as a tailor’s cutter.”
He believes that there will, in time, be more regularised frameworks in which applications can be built that fit more easily into a virtualised resource pool, but it will take some time for them to appear. But some SOAs are trying get to that environment now, which will allow the maintenance of modularity and increase the level of loose coupling between applications.
“But usually when I see that type of environment it operates at the expense of efficiency,” he said. “Tightly-coupled systems are more efficient, but also less flexible, so there is a balancing act to perform. But given the increase in performance of computers these days, the flexibility possible with loosely-coupled applications is a good trade against any degradation in performance. And we are starting to pay attention to other metrics besides performance.”®