Everyone I speak to in the industry agrees that IT components are getting harder to integrate. It’s not a new issue, this complexity, it’s just got harder and harder over the years to make sense of how everything should plug together. So when I speak to friends in the industry who are faced with delivering and operating these systems, they tell me that they are struggling to get the quality and quantity of people they need to make it all work.
Lots of vendors do actually listen to their customers, and the research that backs this up, and are trying to deliver their products as known working sets or solutions. There are two comon approaches:
- Vertical Integration
- Horizontal or Layer Integration
Vertical Integration has been around for a while, ask any Enterprise Architect. The idea is that the software vendor lays out a set of underlying tested parts that are needed to deliver a supported application or system. So we might need a particular storage array, with supported SAN, supported hardware and operating system all with the right patch levels and versions installed, all of this specified in a hardware compatibility list (HCL). Data Centre operators with an eye to risk would make sure that these requirements were me so that when a problem occurred, the vendors application support team could be told that it all conformed to the HCL.
End users really love this approach as they never want to be in a minority of one, being the only firm on the planet that has their own particular combination of components and finding it doesn’t work. Much rather be the same as thousands of others, where someone else has had the problem before you and it’s already been fixed (and preferably shipped as a patch upgrade before they find the problem themselves).
Oracle have been vocal in this space recently with offerings that are supported primarily on Oracle unbreakable Linux and Oracle VM. With the acquisition of Sun, we should see further heavy integration of the application functionality into the underlying hardware, particularly the hypervisor and storage systems. (The obvious place to manage performance and capacity is within the application where end-to-end performance and transactional loads are obvious, rather than at a lower layer where much of this information needs to be inferred).
The other common approach is Horizontal or Layer Integration, again not a new phenomena. Horizontal Integration has been so common that it is now part of the lexicon:
- Storage Arrays
- IP Network
- Blade Servers
- Appliances such as firewalls and load balancers
Conventionally end users assembled these into architectures by choosing best of breed layers and joining them together. Just looking at market share numbers, the average enterprise will have HP Blades with Windows, VMware as a hypervisor, Cisco networking and EMC storage. The complexity of making all of these work together is the responsibility of the end-user or just possibly a third party systems integrator. The integration risk sits with the end-user and that risk is growing.
It’s not hard to see that left with completely unconstrained choices of components to assemble and configuration options it is trivially easy for the end user to become a minority of one – the only firm on the planet with exactly that configurations – scary! Maybe choice is a bad thing when it comes to systems integration. In the application development world developers have worked under constraints to help ensure that code they produce is easy to maintain, easy to port and reliable. Maybe it is time for us in the infrastructure world to learn best practice lessons from our application development colleagues?
Recently we have seen lots of vendor activity around the delivery of pre-assembled solutions. VMware, Cisco and EMC announced V-Blocks a few weeks back, HP have Blade Systems Matrix, that includes, servers, storage, network and hypervisor as cloud in a box. All great stuff and helping to address the complexity issue by reducing the end consumer’s layer integration risk.
What none of this does is deal with application integration. What about Exchange Server and Sharepoint, Oracle Financials, SAP and the multitude of COTS applications that are in common use within the enterprise?
The poor end user is faced with a stark choice either he adopts a Vertical Integration approach and carries the risk and complexity of integrating the application silos together or he adopts a Horizontal Integration approach where he is faced with the risk and complexity of integrating the applications.
There has to be a better way and I think there is, it is a way where all of the components come pre-assembled and pre-tested into solutions that support our common COTS applications and these are in turn properly supported by the application vendors. So listen out guys we don’t want hardware compatibility lists any more, we don’t want to assemble too-complex architectures ourselves, we don’t want to carry the risk of being in a minority of one and we don’t want to pay for all the architectural work.
What we want is convergence. We are prepared to reduce our choices so that we can rely on the same standard platforms as our peers rather than being left out in the cold. We want to stop buying best of breed components and start buying best of breed solutions. Finally, at the risk of being contentious, we need some leadership from the vendor community and a focus on solving customer complexity problems.
Those vendors that get it and start delivering solutions rather than components will win. Firms have our permission to be prescriptive but the solutions they deliver need to work and must add value. Look at Apple, Bose and Bang & Olufsen, their message is clear:
“If you live within our constraints – it will all work together and be easy – the combination of our components is greater than the sum of the individual parts”.
So converge, partner, integrate and deliver solutions that work out of the box and where you carry the risk not us.