Okay, here’s a pet peeve of mine and I cannot resist of writing about it.

Occasionally I see a phenomena of trying to do all and everything with a single product, as if expecting one technology to be a silver bullet that magically resolves all the problems that are for some purpose tied together to produce a whole. This is a problem that plagues especially [managed] service providers or organizations offering paid-for service to multiple customers. 

The usual flow of reasoning in these situations goes somewhat like this:

- Does it do foo and bar, which – incidentally - are the main things we want it to do?

- It does? Okay, that’s good but then we would expect it to do quux and xyzzy, which – in no way, btw - relate to the core things that your product does but needs to be done within the same system anyhow.

- It doesn’t do those? Oh, that’s too bad, then it cannot be any good at all.

And herein lies the problem; these people are not willing to embrace the idea of choosing the best products – multiple products if needed to - for the job, each one focusing on their forte. Yes, this could and will mean integration to some extent, but the end-result surely is better overall solution than doing with just one product that tries to do everything but does all those parts little bit badly. Which is, btw, somewhat similiar to UNIX ideology of small little utilities building up larger wholes instead of single monolithic systems.. And from the competitive point of view, let’s not forget that if you add your own special “spice” by actually developing some of that glue that holds everything together, as opposed to doing integration purely with the interoperability capabilities of the products used, you are doing something that no competitor too can readily buy off the shelf.

In keeping with the spirit of this site, let’s take a simplified example from the one of latest trends in virtualization: providing desktops (VDI) to customers as a service (DaaS as some call it) from the datacenter.

In the typical (or should I say more realistic) desktops as a service scenario, there’s multiple components involved: brokers, hypervisors, storage optimization, management layers, automation, self-automation, protocols, billing, integration, web portals, maybe integration APIs exposed etc. Expecting one product, or even only couple of products, to actually do all of these is simply a pipe dream. Many of the different aspects mentioned above are completely and utterly separate and distinct concepts that no one company can really (realistically) be best at, so excepting one company to build and provide a such technological whole is like expecting a miracle to happen.

Yes, maybe I’m stating the obvious here, but I have actually seen these sort of illusions where one solution is expected to solve every demand there is to a complete system, not really stepping back and looking what parts can be lifted from the different vendors and technologies.

And yes, more often than not these companies also might have “hidden” ties to certain vendors or technologies that they have decided to keep or favor and so, little bit artificially, other technologies are unfairly looked at and maybe discarded for not a very valid reason. Existing investment is a valid argument for some cases, but it should not be show-stopper if you really aim to provide something completely new in any case. Competetive advantage demands agility to switch and move, if necessary!

There’s no silver bullet, you know?

-Kalle